OLD | NEW |
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 2566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2577 for (Frame* child = m_frame->tree().firstChild(); child; child = child->tree
().nextSibling()) { | 2577 for (Frame* child = m_frame->tree().firstChild(); child; child = child->tree
().nextSibling()) { |
2578 if (!child->isLocalFrame()) | 2578 if (!child->isLocalFrame()) |
2579 continue; | 2579 continue; |
2580 if (FrameView* view = toLocalFrame(child)->view()) | 2580 if (FrameView* view = toLocalFrame(child)->view()) |
2581 frameViews.append(view); | 2581 frameViews.append(view); |
2582 } | 2582 } |
2583 | 2583 |
2584 for (const auto& frameView : frameViews) | 2584 for (const auto& frameView : frameViews) |
2585 frameView->updateStyleAndLayoutIfNeededRecursive(); | 2585 frameView->updateStyleAndLayoutIfNeededRecursive(); |
2586 | 2586 |
2587 // When an <iframe> gets composited, it triggers an extra style recalc in it
s containing FrameView. | 2587 // When SVG filters are invalidated using Document::scheduleSVGFilterLayerUp
dateHack() they may trigger an |
2588 // To avoid pushing an invalid tree for display, we have to check for this c
ase and do another | 2588 // extra style recalc. See PaintLayer::filterNeedsPaintInvalidation(). |
2589 // style recalc. The extra style recalc needs to happen after our child <ifr
ames> were updated. | |
2590 // FIXME: We shouldn't be triggering an extra style recalc in the first plac
e. | |
2591 if (m_frame->document()->hasSVGFilterElementsRequiringLayerUpdate()) { | 2589 if (m_frame->document()->hasSVGFilterElementsRequiringLayerUpdate()) { |
2592 m_frame->document()->updateLayoutTreeIfNeeded(); | 2590 m_frame->document()->updateLayoutTreeIfNeeded(); |
2593 | 2591 |
2594 if (needsLayout()) | 2592 if (needsLayout()) |
2595 layout(); | 2593 layout(); |
2596 } | 2594 } |
2597 | 2595 |
2598 // These asserts ensure that parent frames are clean, when child frames fini
shed updating layout and style. | 2596 // These asserts ensure that parent frames are clean, when child frames fini
shed updating layout and style. |
2599 ASSERT(!needsLayout()); | 2597 ASSERT(!needsLayout()); |
2600 ASSERT(!m_frame->document()->hasSVGFilterElementsRequiringLayerUpdate()); | 2598 ASSERT(!m_frame->document()->hasSVGFilterElementsRequiringLayerUpdate()); |
(...skipping 1447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4048 return m_hiddenForThrottling && m_crossOriginForThrottling; | 4046 return m_hiddenForThrottling && m_crossOriginForThrottling; |
4049 } | 4047 } |
4050 | 4048 |
4051 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const | 4049 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const |
4052 { | 4050 { |
4053 ASSERT(layoutView()); | 4051 ASSERT(layoutView()); |
4054 return *layoutView(); | 4052 return *layoutView(); |
4055 } | 4053 } |
4056 | 4054 |
4057 } // namespace blink | 4055 } // namespace blink |
OLD | NEW |