Bug 1463605 - Check continuation or IB split sibling frames in nsDOMWindowUtils::CheckAndClearPaintedState. r?mstange draft
authorHiroyuki Ikezoe <hikezoe@mozilla.com>
Wed, 23 May 2018 18:18:43 +0900
changeset 798675 638fb612c348125535a8d69e1db7cf10743c1f49
parent 798674 49948347df7b1a2d85de44d61ca35488d02be2a5
push id110819
push userbmo:hikezoe@mozilla.com
push dateWed, 23 May 2018 09:19:10 +0000
reviewersmstange
bugs1463605
milestone62.0a1
Bug 1463605 - Check continuation or IB split sibling frames in nsDOMWindowUtils::CheckAndClearPaintedState. r?mstange MozReview-Commit-ID: CgyErEGeZJS
dom/base/nsDOMWindowUtils.cpp
--- a/dom/base/nsDOMWindowUtils.cpp
+++ b/dom/base/nsDOMWindowUtils.cpp
@@ -2902,17 +2902,24 @@ nsDOMWindowUtils::CheckAndClearPaintedSt
     nsIFrame* parentFrame = frame->GetParent();
     if (parentFrame && parentFrame->GetContent() == aElement) {
       frame = parentFrame;
     } else {
       break;
     }
   }
 
-  *aResult = frame->CheckAndClearPaintedState();
+  while (frame) {
+    if (!frame->CheckAndClearPaintedState()) {
+      *aResult = false;
+      return NS_OK;
+    }
+    frame = nsLayoutUtils::GetNextContinuationOrIBSplitSibling(frame);
+  }
+  *aResult = true;
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsDOMWindowUtils::CheckAndClearDisplayListState(Element* aElement, bool* aResult)
 {
   if (!aElement) {
     return NS_ERROR_INVALID_ARG;