Exemplo n.º 1
0
void TiledDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
{
    switch (messageID.get<DrawingAreaProxyLegacyMessage::Kind>()) {
    case DrawingAreaProxyLegacyMessage::TileUpdated: {
        int tileID;
        UpdateChunk updateChunk;
        float scale;
        unsigned pendingUpdateCount;
        if (!arguments->decode(CoreIPC::Out(tileID, updateChunk, scale, pendingUpdateCount)))
            return;

        TiledDrawingAreaTile* tile = m_tilesByID.get(tileID);
        ASSERT(!tile || tile->ID() == tileID);
        if (tile)
            tile->updateFromChunk(&updateChunk, scale);
        tileBufferUpdateComplete();
        break;
    }
    case DrawingAreaProxyLegacyMessage::DidSetSize: {
        IntSize size;
        if (!arguments->decode(CoreIPC::Out(size)))
            return;

        didSetSize(size);
        break;
    }
    case DrawingAreaProxyLegacyMessage::Invalidate: {
        IntRect rect;
        if (!arguments->decode(CoreIPC::Out(rect)))
            return;

        invalidate(rect);
        break;
    }
    case DrawingAreaProxyLegacyMessage::AllTileUpdatesProcessed: {
        tileBufferUpdateComplete();
        break;
    }
    case DrawingAreaProxyLegacyMessage::SnapshotTaken: {
        UpdateChunk chunk;
        if (!arguments->decode(CoreIPC::Out(chunk)))
            return;
        snapshotTaken(chunk);
        break;
    }
    default:
        ASSERT_NOT_REACHED();
    }
}
Exemplo n.º 2
0
void LayerBackedDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
{
    switch (messageID.get<DrawingAreaProxyLegacyMessage::Kind>()) {
        case DrawingAreaProxyLegacyMessage::Update: {
            update();
            break;
        }
        case DrawingAreaProxyLegacyMessage::DidSetSize: {
            IntSize size;
            if (!arguments->decode(CoreIPC::Out(size)))
                return;
            didSetSize(size);
            break;
        }
        default:
            ASSERT_NOT_REACHED();
    }
}
Exemplo n.º 3
0
void ChunkedUpdateDrawingAreaProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
{
    switch (messageID.get<DrawingAreaProxyMessage::Kind>()) {
        case DrawingAreaProxyMessage::Update: {
            UpdateChunk updateChunk;
            if (!arguments->decode(updateChunk))
                return;

            update(&updateChunk);
            break;
        }
        case DrawingAreaProxyMessage::DidSetSize: {
            UpdateChunk updateChunk;
            if (!arguments->decode(CoreIPC::Out(updateChunk)))
                return;

            didSetSize(&updateChunk);
            break;
        }
        default:
            ASSERT_NOT_REACHED();
    }
}