Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2401343002: Tracking filter mutation via SVGElementProxy (Closed)
Patch Set: Tweak lifecycle checks Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 2997 matching lines...) Expand 10 before | Expand all | Expand 10 after
3008 child = child->tree().nextSibling()) { 3008 child = child->tree().nextSibling()) {
3009 if (!child->isLocalFrame()) 3009 if (!child->isLocalFrame())
3010 continue; 3010 continue;
3011 if (FrameView* view = toLocalFrame(child)->view()) 3011 if (FrameView* view = toLocalFrame(child)->view())
3012 frameViews.append(view); 3012 frameViews.append(view);
3013 } 3013 }
3014 3014
3015 for (const auto& frameView : frameViews) 3015 for (const auto& frameView : frameViews)
3016 frameView->updateStyleAndLayoutIfNeededRecursiveInternal(); 3016 frameView->updateStyleAndLayoutIfNeededRecursiveInternal();
3017 3017
3018 checkDoesNotNeedLayout();
3019
3020 // When SVG filters are invalidated using
3021 // Document::scheduleSVGFilterLayerUpdateHack() they may trigger an extra
3022 // style recalc. See PaintLayer::filterNeedsPaintInvalidation().
3023 if (m_frame->document()->hasSVGFilterElementsRequiringLayerUpdate()) {
3024 m_frame->document()->updateStyleAndLayoutTree();
3025
3026 if (needsLayout())
3027 layout();
3028 }
3029
3030 // These asserts ensure that parent frames are clean, when child frames 3018 // These asserts ensure that parent frames are clean, when child frames
3031 // finished updating layout and style. 3019 // finished updating layout and style.
3032 checkDoesNotNeedLayout(); 3020 checkDoesNotNeedLayout();
3033 ASSERT(!m_frame->document()->hasSVGFilterElementsRequiringLayerUpdate());
3034 #if ENABLE(ASSERT) 3021 #if ENABLE(ASSERT)
3035 m_frame->document()->layoutView()->assertLaidOut(); 3022 m_frame->document()->layoutView()->assertLaidOut();
3036 #endif 3023 #endif
3037 3024
3038 updateWidgetGeometriesIfNeeded(); 3025 updateWidgetGeometriesIfNeeded();
3039 3026
3040 if (lifecycle().state() < DocumentLifecycle::LayoutClean) 3027 if (lifecycle().state() < DocumentLifecycle::LayoutClean)
3041 lifecycle().advanceTo(DocumentLifecycle::LayoutClean); 3028 lifecycle().advanceTo(DocumentLifecycle::LayoutClean);
3042 3029
3043 // Ensure that we become visually non-empty eventually. 3030 // Ensure that we become visually non-empty eventually.
(...skipping 1485 matching lines...) Expand 10 before | Expand all | Expand 10 after
4529 DCHECK(m_frame->isMainFrame()); 4516 DCHECK(m_frame->isMainFrame());
4530 return m_initialViewportSize.width(); 4517 return m_initialViewportSize.width();
4531 } 4518 }
4532 4519
4533 int FrameView::initialViewportHeight() const { 4520 int FrameView::initialViewportHeight() const {
4534 DCHECK(m_frame->isMainFrame()); 4521 DCHECK(m_frame->isMainFrame());
4535 return m_initialViewportSize.height(); 4522 return m_initialViewportSize.height();
4536 } 4523 }
4537 4524
4538 } // namespace blink 4525 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698