Title: [132817] branches/chromium/1271/Source/WebCore

Diff

Modified: branches/chromium/1271/Source/WebCore/page/FrameView.cpp (132816 => 132817)


--- branches/chromium/1271/Source/WebCore/page/FrameView.cpp	2012-10-29 17:35:54 UTC (rev 132816)
+++ branches/chromium/1271/Source/WebCore/page/FrameView.cpp	2012-10-29 17:46:23 UTC (rev 132817)
@@ -3207,6 +3207,10 @@
     RenderObject* eltRenderer = m_nodeToDraw ? m_nodeToDraw->renderer() : 0;
     RenderLayer* rootLayer = root->layer();
 
+#ifndef NDEBUG
+    RenderObject::SetLayoutNeededForbiddenScope forbidSetNeedsLayout(rootLayer->renderer());
+#endif
+
     rootLayer->paint(p, rect, m_paintBehavior, eltRenderer);
 
     if (rootLayer->containsDirtyOverlayScrollbars())

Modified: branches/chromium/1271/Source/WebCore/rendering/RenderObject.cpp (132816 => 132817)


--- branches/chromium/1271/Source/WebCore/rendering/RenderObject.cpp	2012-10-29 17:35:54 UTC (rev 132816)
+++ branches/chromium/1271/Source/WebCore/rendering/RenderObject.cpp	2012-10-29 17:46:23 UTC (rev 132817)
@@ -91,6 +91,18 @@
 
 #ifndef NDEBUG
 static void* baseOfRenderObjectBeingDeleted;
+
+RenderObject::SetLayoutNeededForbiddenScope::SetLayoutNeededForbiddenScope(RenderObject* renderObject)
+    : m_renderObject(renderObject)
+    , m_preexistingForbidden(m_renderObject->isSetNeedsLayoutForbidden())
+{
+    m_renderObject->setNeedsLayoutIsForbidden(true);
+}
+
+RenderObject::SetLayoutNeededForbiddenScope::~SetLayoutNeededForbiddenScope()
+{
+    m_renderObject->setNeedsLayoutIsForbidden(m_preexistingForbidden);
+}
 #endif
 
 struct SameSizeAsRenderObject {

Modified: branches/chromium/1271/Source/WebCore/rendering/RenderObject.h (132816 => 132817)


--- branches/chromium/1271/Source/WebCore/rendering/RenderObject.h	2012-10-29 17:35:54 UTC (rev 132816)
+++ branches/chromium/1271/Source/WebCore/rendering/RenderObject.h	2012-10-29 17:46:23 UTC (rev 132817)
@@ -237,6 +237,16 @@
     bool hasAXObject() const { return m_hasAXObject; }
     bool isSetNeedsLayoutForbidden() const { return m_setNeedsLayoutForbidden; }
     void setNeedsLayoutIsForbidden(bool flag) { m_setNeedsLayoutForbidden = flag; }
+
+    // Helper class forbidding calls to setNeedsLayout() during its lifetime.
+    class SetLayoutNeededForbiddenScope {
+    public:
+        explicit SetLayoutNeededForbiddenScope(RenderObject*);
+        ~SetLayoutNeededForbiddenScope();
+    private:
+        RenderObject* m_renderObject;
+        bool m_preexistingForbidden;
+    };
 #endif
 
     // Obtains the nearest enclosing block (including this block) that contributes a first-line style to our inline

Modified: branches/chromium/1271/Source/WebCore/rendering/RenderVideo.cpp (132816 => 132817)


--- branches/chromium/1271/Source/WebCore/rendering/RenderVideo.cpp	2012-10-29 17:35:54 UTC (rev 132816)
+++ branches/chromium/1271/Source/WebCore/rendering/RenderVideo.cpp	2012-10-29 17:46:23 UTC (rev 132817)
@@ -195,13 +195,10 @@
     if (Frame* frame = this->frame())
         page = frame->page();
 
-    if (!displayingPoster) {
-        if (!mediaPlayer) {
-            if (page && paintInfo.phase == PaintPhaseForeground)
-                page->addRelevantUnpaintedObject(this, visualOverflowRect());
-            return;
-        }
-        updatePlayer();
+    if (!displayingPoster && !mediaPlayer) {
+        if (page && paintInfo.phase == PaintPhaseForeground)
+            page->addRelevantUnpaintedObject(this, visualOverflowRect());
+        return;
     }
 
     LayoutRect rect = videoBox();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to