Title: [132817] branches/chromium/1271/Source/WebCore
- Revision
- 132817
- Author
- [email protected]
- Date
- 2012-10-29 10:46:23 -0700 (Mon, 29 Oct 2012)
Log Message
Merge 132398
BUG=154055
Review URL: https://codereview.chromium.org/11350003
Modified Paths
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