Changeset 106121 in webkit
- Timestamp:
- Jan 27, 2012 7:35:40 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r106120 r106121 1 2012-01-27 No'am Rosenthal <noam.rosenthal@nokia.com> 2 3 [Qt][WK2] Child layers appear in wrong position when scrolling 4 https://bugs.webkit.org/show_bug.cgi?id=77063 5 6 Reviewed by Simon Fraser. 7 8 When using the delegatesScrolling mode in FrameView, the compositor doesn't need 9 to control the special clip/scroll layers. Also, when we change that mode, we need to let 10 the compositor reset its backing-stores and rebuild them without scrolling/clipping. 11 12 This is tested by compositing tests, when run with Qt in touch mode. 13 14 * page/FrameView.cpp: 15 (WebCore::FrameView::delegatesScrollingDidChange): 16 (WebCore): 17 * page/FrameView.h: 18 (FrameView): 19 * platform/ScrollView.cpp: 20 (WebCore::ScrollView::setDelegatesScrolling): 21 * platform/ScrollView.h: 22 (WebCore::ScrollView::delegatesScrollingDidChange): 23 * rendering/RenderLayerCompositor.cpp: 24 (WebCore::RenderLayerCompositor::requiresScrollLayer): 25 1 26 2012-01-27 Thiago Marcos P. Santos <tmpsantos@gmail.com> 2 27 -
trunk/Source/WebCore/page/FrameView.cpp
r106083 r106121 1703 1703 } 1704 1704 1705 void FrameView::delegatesScrollingDidChange() 1706 { 1707 #if USE(ACCELERATED_COMPOSITING) 1708 // When we switch to delgatesScrolling mode, we should destroy the scrolling/clipping layers in RenderLayerCompositor. 1709 clearBackingStores(); 1710 #endif 1711 } 1712 1705 1713 void FrameView::setFixedVisibleContentRect(const IntRect& visibleContentRect) 1706 1714 { -
trunk/Source/WebCore/page/FrameView.h
r106001 r106121 347 347 virtual void visibleContentsResized(); 348 348 349 virtual void delegatesScrollingDidChange(); 350 349 351 // Override ScrollView methods to do point conversion via renderers, in order to 350 352 // take transforms into account. -
trunk/Source/WebCore/platform/ScrollView.cpp
r106073 r106121 220 220 void ScrollView::setDelegatesScrolling(bool delegatesScrolling) 221 221 { 222 if (m_delegatesScrolling == delegatesScrolling) 223 return; 224 222 225 m_delegatesScrolling = delegatesScrolling; 226 delegatesScrollingDidChange(); 223 227 } 224 228 -
trunk/Source/WebCore/platform/ScrollView.h
r103563 r106121 302 302 303 303 virtual void visibleContentsResized() = 0; 304 virtual void delegatesScrollingDidChange() { } 304 305 305 306 IntRect fixedVisibleContentRect() const { return m_fixedVisibleContentRect; } -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r105879 r106121 1584 1584 bool RenderLayerCompositor::requiresScrollLayer(RootLayerAttachment attachment) const 1585 1585 { 1586 // This applies when the application UI handles scrolling, in which case RenderLayerCompositor doesn't need to manage it. 1587 if (m_renderView->frameView()->delegatesScrolling()) 1588 return false; 1589 1586 1590 // We need to handle our own scrolling if we're: 1587 1591 return !m_renderView->frameView()->platformWidget() // viewless (i.e. non-Mac, or Mac in WebKit2)
Note: See TracChangeset
for help on using the changeset viewer.