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 |