Chromium Code Reviews| 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 1026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1037 ASSERT(RuntimeEnabledFeatures::repaintAfterLayoutEnabled()); | 1037 ASSERT(RuntimeEnabledFeatures::repaintAfterLayoutEnabled()); |
| 1038 ASSERT(!root->needsLayout()); | 1038 ASSERT(!root->needsLayout()); |
| 1039 // We should only repaint for the outer most layout. This works as | 1039 // We should only repaint for the outer most layout. This works as |
| 1040 // we continue to track repaint rects until this function is called. | 1040 // we continue to track repaint rects until this function is called. |
| 1041 ASSERT(!m_nestedLayoutCount); | 1041 ASSERT(!m_nestedLayoutCount); |
| 1042 | 1042 |
| 1043 // FIXME: really, we're in the repaint phase here, and the compositing queri es are legal. | 1043 // FIXME: really, we're in the repaint phase here, and the compositing queri es are legal. |
| 1044 // Until those states are fully fledged, I'll just disable the ASSERTS. | 1044 // Until those states are fully fledged, I'll just disable the ASSERTS. |
| 1045 DisableCompositingQueryAsserts disabler; | 1045 DisableCompositingQueryAsserts disabler; |
| 1046 | 1046 |
| 1047 root->updateShouldDoFullRepaintAfterLayout(); | |
|
Julien - ping for review
2014/03/31 17:31:26
Are you sure this code is needed? (Document won't
dsinclair
2014/03/31 19:34:56
Done.
| |
| 1048 bool renderViewDidFullInvalidation = root->isRenderView() && root->shouldDoF ullRepaintAfterLayout(); | |
| 1049 | |
| 1047 for (RenderObject* renderer = root; renderer; renderer = renderer->nextInPre Order()) { | 1050 for (RenderObject* renderer = root; renderer; renderer = renderer->nextInPre Order()) { |
| 1051 // If the RenderView did a full invalidation, and that's the view that w e're part | |
| 1052 // of, skip issuing invalidations for the RenderObject as it will be | |
| 1053 // covered by the RenderView invalidation. | |
| 1054 if (renderer != root && (renderer->view() == root) && renderViewDidFullI nvalidation) { | |
| 1055 renderer->clearRepaintState(); | |
| 1056 continue; | |
| 1057 } | |
|
Julien - ping for review
2014/03/31 17:31:26
I would just pull this code out of the previous lo
dsinclair
2014/03/31 19:34:56
Done.
| |
| 1058 | |
| 1048 const LayoutRect& oldRepaintRect = renderer->oldRepaintRect(); | 1059 const LayoutRect& oldRepaintRect = renderer->oldRepaintRect(); |
| 1049 const LayoutRect& newRepaintRect = renderer->newRepaintRect(); | 1060 const LayoutRect& newRepaintRect = renderer->newRepaintRect(); |
| 1050 | 1061 |
| 1051 if ((renderer->onlyNeededPositionedMovementLayout() && renderer->composi tingState() != PaintsIntoOwnBacking) | 1062 renderer->updateShouldDoFullRepaintAfterLayout(); |
| 1052 || (renderer->shouldDoFullRepaintIfSelfPaintingLayer() | |
| 1053 && renderer->hasLayer() | |
| 1054 && toRenderLayerModelObject(renderer)->layer()->isSelfPaintingLa yer())) { | |
| 1055 renderer->setShouldDoFullRepaintAfterLayout(true); | |
| 1056 } | |
| 1057 | 1063 |
| 1058 // FIXME: Currently renderers with layers will get repainted when we cal l updateLayerPositionsAfterLayout. | 1064 // FIXME: Currently renderers with layers will get repainted when we cal l updateLayerPositionsAfterLayout. |
| 1059 // That call should be broken apart to position the layers be done befor e | 1065 // That call should be broken apart to position the layers be done befor e |
| 1060 // the repaintTree call so this will repaint everything. | 1066 // the repaintTree call so this will repaint everything. |
| 1061 bool didFullRepaint = false; | 1067 bool didFullRepaint = false; |
| 1062 if (!renderer->layoutDidGetCalled()) { | 1068 if (!renderer->layoutDidGetCalled()) { |
| 1063 if (renderer->shouldDoFullRepaintAfterLayout()) { | 1069 if (renderer->shouldDoFullRepaintAfterLayout()) { |
| 1064 renderer->repaint(); | 1070 renderer->repaint(); |
| 1065 didFullRepaint = true; | 1071 didFullRepaint = true; |
| 1066 } | 1072 } |
| (...skipping 2186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3253 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o rientation) | 3259 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o rientation) |
| 3254 { | 3260 { |
| 3255 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); | 3261 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); |
| 3256 if (AXObjectCache* cache = axObjectCache()) { | 3262 if (AXObjectCache* cache = axObjectCache()) { |
| 3257 cache->remove(scrollbar); | 3263 cache->remove(scrollbar); |
| 3258 cache->handleScrollbarUpdate(this); | 3264 cache->handleScrollbarUpdate(this); |
| 3259 } | 3265 } |
| 3260 } | 3266 } |
| 3261 | 3267 |
| 3262 } // namespace WebCore | 3268 } // namespace WebCore |
| OLD | NEW |