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