Title: [137224] trunk/Source/WebCore
- Revision
- 137224
- Author
- [email protected]
- Date
- 2012-12-10 16:32:01 -0800 (Mon, 10 Dec 2012)
Log Message
https://bugs.webkit.org/show_bug.cgi?id=104602
DidHitRelevantRepaintedObjectsAreaThreshold LayoutMilestone fires too
early on some pages with iframes
Reviewed by Simon Fraser.
This change makes it so that any RenderObjects inside iframes are not
considered relevant.
* page/Page.cpp:
(WebCore::Page::addRelevantRepaintedObject):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (137223 => 137224)
--- trunk/Source/WebCore/ChangeLog 2012-12-11 00:21:14 UTC (rev 137223)
+++ trunk/Source/WebCore/ChangeLog 2012-12-11 00:32:01 UTC (rev 137224)
@@ -1,3 +1,16 @@
+2012-12-10 Beth Dakin <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=104602
+ DidHitRelevantRepaintedObjectsAreaThreshold LayoutMilestone fires too
+ early on some pages with iframes
+
+ Reviewed by Simon Fraser.
+
+ This change makes it so that any RenderObjects inside iframes are not
+ considered relevant.
+ * page/Page.cpp:
+ (WebCore::Page::addRelevantRepaintedObject):
+
2012-12-10 David Grogan <[email protected]>
IndexedDB: Propagate more leveldb errors to script
Modified: trunk/Source/WebCore/page/Page.cpp (137223 => 137224)
--- trunk/Source/WebCore/page/Page.cpp 2012-12-11 00:21:14 UTC (rev 137223)
+++ trunk/Source/WebCore/page/Page.cpp 2012-12-11 00:32:01 UTC (rev 137224)
@@ -1181,11 +1181,17 @@
if (!isCountingRelevantRepaintedObjects())
return;
+ // Objects inside sub-frames are not considered to be relevant.
+ if (object->document()->frame() != mainFrame())
+ return;
+
+ RenderView* view = object->view();
+ if (!view)
+ return;
+
// The objects are only relevant if they are being painted within the viewRect().
- if (RenderView* view = object->view()) {
- if (!objectPaintRect.intersects(pixelSnappedIntRect(view->viewRect())))
- return;
- }
+ if (!objectPaintRect.intersects(pixelSnappedIntRect(view->viewRect())))
+ return;
IntRect snappedPaintRect = pixelSnappedIntRect(objectPaintRect);
@@ -1198,10 +1204,6 @@
}
m_relevantPaintedRegion.unite(snappedPaintRect);
-
- RenderView* view = object->view();
- if (!view)
- return;
float viewArea = view->viewRect().width() * view->viewRect().height();
float ratioOfViewThatIsPainted = m_relevantPaintedRegion.totalArea() / viewArea;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes