void ScrollingCoordinatorChromium::touchEventTargetRectsDidChange(const Document*) { #if ENABLE(TOUCH_EVENT_TRACKING) // The rects are always evaluated and used in the main frame coordinates. FrameView* frameView = m_page->mainFrame()->view(); Document* document = m_page->mainFrame()->document(); // Wait until after layout to update. if (frameView->needsLayout() || !document) return; Vector<IntRect> touchEventTargetRects; computeAbsoluteTouchEventTargetRects(document, touchEventTargetRects); setTouchEventTargetRects(touchEventTargetRects); #endif }
void ScrollingCoordinatorChromium::frameViewLayoutUpdated(FrameView*) { ASSERT(m_page); // Compute the region of the page that we can't do fast scrolling for. This currently includes // all scrollable areas, such as subframes, overflow divs and list boxes, whose composited // scrolling are not enabled. We need to do this even if the frame view whose layout was updated // is not the main frame. Region nonFastScrollableRegion = computeNonFastScrollableRegion(m_page->mainFrame(), IntPoint()); setNonFastScrollableRegion(nonFastScrollableRegion); #if ENABLE(TOUCH_EVENT_TRACKING) Vector<IntRect> touchEventTargetRects; computeAbsoluteTouchEventTargetRects(m_page->mainFrame()->document(), touchEventTargetRects); setTouchEventTargetRects(touchEventTargetRects); #endif }
void ScrollingCoordinatorChromium::touchEventTargetRectsDidChange(const Document* document) { #if ENABLE(TOUCH_EVENT_TRACKING) // Wait until after layout to update. if (m_page->mainFrame()->view()->needsLayout()) return; // We won't necessarily get a setScrollLayer() call before this one, so grab the root ourselves. setScrollLayer(scrollLayerForFrameView(m_page->mainFrame()->view())); if (m_private->scrollLayer()) { Vector<IntRect> touchEventTargetRects; computeAbsoluteTouchEventTargetRects(document, touchEventTargetRects); setTouchEventTargetRects(touchEventTargetRects); } #else UNUSED_PARAM(document); #endif }