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