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 2770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2781 | 2781 |
| 2782 ScrollView::paintOverhangAreas(context, horizontalOverhangArea, verticalOver hangArea, dirtyRect); | 2782 ScrollView::paintOverhangAreas(context, horizontalOverhangArea, verticalOver hangArea, dirtyRect); |
| 2783 } | 2783 } |
| 2784 | 2784 |
| 2785 void FrameView::updateLayoutAndStyleForPainting() | 2785 void FrameView::updateLayoutAndStyleForPainting() |
| 2786 { | 2786 { |
| 2787 // Updating layout can run script, which can tear down the FrameView. | 2787 // Updating layout can run script, which can tear down the FrameView. |
| 2788 RefPtr<FrameView> protector(this); | 2788 RefPtr<FrameView> protector(this); |
| 2789 | 2789 |
| 2790 updateLayoutAndStyleIfNeededRecursive(); | 2790 updateLayoutAndStyleIfNeededRecursive(); |
| 2791 if (RenderView* view = renderView()) | 2791 if (RenderView* view = renderView()) { |
| 2792 ASSERT(!view->needsLayout()); | |
| 2792 view->compositor()->updateCompositingLayers(); | 2793 view->compositor()->updateCompositingLayers(); |
| 2794 | |
| 2795 // FIXME: we should not have any dirty bits left at this point. Unfortun ately, this is not yet the case because | |
| 2796 // the code in updateCompositingLayers sometimes creates new dirty bits when updating direct compositing reasons. | |
| 2797 view->compositor()->scheduleAnimationIfNeeded(); | |
|
abarth-chromium
2014/03/19 18:26:11
Would you be willing to file a bug on this topic?
chrishtr
2014/03/19 18:31:14
Done.
| |
| 2798 } | |
| 2793 } | 2799 } |
| 2794 | 2800 |
| 2795 void FrameView::updateLayoutAndStyleIfNeededRecursive() | 2801 void FrameView::updateLayoutAndStyleIfNeededRecursive() |
| 2796 { | 2802 { |
| 2797 // We have to crawl our entire tree looking for any FrameViews that need | 2803 // We have to crawl our entire tree looking for any FrameViews that need |
| 2798 // layout and make sure they are up to date. | 2804 // layout and make sure they are up to date. |
| 2799 // Mac actually tests for intersection with the dirty region and tries not t o | 2805 // Mac actually tests for intersection with the dirty region and tries not t o |
| 2800 // update layout for frames that are outside the dirty region. Not only doe s this seem | 2806 // update layout for frames that are outside the dirty region. Not only doe s this seem |
| 2801 // pointless (since those frames will have set a zero timer to layout anyway ), but | 2807 // pointless (since those frames will have set a zero timer to layout anyway ), but |
| 2802 // it is also incorrect, since if two frames overlap, the first could be exc luded from the dirty | 2808 // it is also incorrect, since if two frames overlap, the first could be exc luded from the dirty |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3216 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o rientation) | 3222 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o rientation) |
| 3217 { | 3223 { |
| 3218 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); | 3224 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); |
| 3219 if (AXObjectCache* cache = axObjectCache()) { | 3225 if (AXObjectCache* cache = axObjectCache()) { |
| 3220 cache->remove(scrollbar); | 3226 cache->remove(scrollbar); |
| 3221 cache->handleScrollbarUpdate(this); | 3227 cache->handleScrollbarUpdate(this); |
| 3222 } | 3228 } |
| 3223 } | 3229 } |
| 3224 | 3230 |
| 3225 } // namespace WebCore | 3231 } // namespace WebCore |
| OLD | NEW |