[Webkit-unassigned] [Bug 104360] Coordinated Graphics: Separate LayerTreeCoordinator into LayerTreeCoordinator and CompositingCoordinator

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Dec 13 07:23:17 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=104360


Noam Rosenthal <noam at webkit.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #178863|review?, commit-queue?      |review-, commit-queue-
               Flag|                            |




--- Comment #15 from Noam Rosenthal <noam at webkit.org>  2012-12-13 07:25:36 PST ---
(From update of attachment 178863)
View in context: https://bugs.webkit.org/attachment.cgi?id=178863&action=review

This change takes the code in a direction I don't agree with.
r- until we reach a concensus.

> Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinatorCommands.h:82
> +class CompositingCoordinatorCommands {
> +public:
> +    virtual void setRootCompositingLayer(CoordinatedLayerID) = 0;
> +    virtual void setCompositingLayerState(CoordinatedLayerID, const CoordinatedLayerInfo&) = 0;
> +    virtual void setCompositingLayerChildren(CoordinatedLayerID, const Vector<CoordinatedLayerID>&) = 0;
> +#if ENABLE(CSS_FILTERS)
> +    virtual void setCompositingLayerFilters(CoordinatedLayerID, const WebCore::FilterOperations&) = 0;
> +#endif
> +    virtual void deleteCompositingLayer(CoordinatedLayerID) = 0;
> +
> +    virtual void createTileForLayer(CoordinatedLayerID, uint32_t tileID, const WebCore::IntRect&, const SurfaceUpdateInfo&) = 0;
> +    virtual void updateTileForLayer(CoordinatedLayerID, uint32_t tileID, const WebCore::IntRect&, const SurfaceUpdateInfo&) = 0;
> +    virtual void removeTileForLayer(CoordinatedLayerID, uint32_t tileID) = 0;
> +
> +    virtual void createUpdateAtlas(uint32_t atlasID, const WebCoordinatedSurface::Handle&) = 0;
> +    virtual void removeUpdateAtlas(uint32_t atlasID) = 0;
> +
> +    virtual void createImageBacking(CoordinatedImageBackingID) = 0;
> +    virtual void updateImageBacking(CoordinatedImageBackingID, const WebCoordinatedSurface::Handle&) = 0;
> +    virtual void clearImageBackingContents(CoordinatedImageBackingID) = 0;
> +    virtual void removeImageBacking(CoordinatedImageBackingID) = 0;
> +
> +    virtual void didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect) = 0;
> +    virtual void didChangeScrollPosition(const WebCore::FloatPoint& position) = 0;
> +
> +#if USE(GRAPHICS_SURFACE)
> +    virtual void createCanvas(CoordinatedLayerID, const WebCore::IntSize&, const WebCore::GraphicsSurfaceToken&) = 0;
> +    virtual void syncCanvas(CoordinatedLayerID, uint32_t frontBuffer) = 0;
> +    virtual void destroyCanvas(CoordinatedLayerID) = 0;
> +#endif
> +
> +    virtual void setLayerAnimations(CoordinatedLayerID, const WebCore::GraphicsLayerAnimations&) = 0;
> +    virtual void setAnimationsLocked(bool) = 0;
> +};

I'd rather have these as operations; e.g.
CompositingOperations::RemoveTileForLayer::create(CoordinatedLayerID, uint32_t)
with a deepCopy function for threading.

and then 
WebCompositingOperations::encode/decode

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list