示例#1
0
void ChromeClientAndroid::attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer* layer)
{
    // frame is not used in Android as we should only get root graphics layer for the main frame
    m_rootGraphicsLayer = layer;
    if (!layer)
        return;
    scheduleCompositingLayerSync();
}
void LayerBackedDrawingArea::setSize(const IntSize& viewSize)
{
    ASSERT(m_shouldPaint);
    ASSERT_ARG(viewSize, !viewSize.isEmpty());

    m_hostingLayer->setSize(viewSize);
    m_backingLayer->setSize(viewSize);
    scheduleCompositingLayerSync();

    // Laying out the page can cause the drawing area to change so we keep an extra reference.
    RefPtr<LayerBackedDrawingArea> protect(this);
    
    m_webPage->setSize(viewSize);
    m_webPage->layoutIfNeeded();

    if (m_webPage->drawingArea() != this)
        return;
    
    WebProcess::shared().connection()->deprecatedSend(DrawingAreaProxyLegacyMessage::DidSetSize, m_webPage->pageID(), CoreIPC::In(viewSize));
}
void LayerBackedDrawingArea::setNeedsDisplay(const IntRect& rect)
{
    m_backingLayer->setNeedsDisplayInRect(rect);
    scheduleCompositingLayerSync();
}