Example #1
0
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
}
Example #2
0
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
}
Example #3
0
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
}