Bug 91288 - [chromium] Remove targetRenderSurface concept, give layers a renderTarget which is the layer whose coordinate space they draw into
Summary: [chromium] Remove targetRenderSurface concept, give layers a renderTarget whi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dana Jansens
URL:
Keywords:
Depends on:
Blocks: 91418
  Show dependency treegraph
 
Reported: 2012-07-13 14:53 PDT by Dana Jansens
Modified: 2012-07-16 13:39 PDT (History)
7 users (show)

See Also:


Attachments
Patch (84.67 KB, patch)
2012-07-13 14:53 PDT, Dana Jansens
no flags Details | Formatted Diff | Diff
rm-surface-filters (10.88 KB, patch)
2012-07-13 15:08 PDT, Dana Jansens
no flags Details | Formatted Diff | Diff
Patch (84.82 KB, patch)
2012-07-16 12:54 PDT, Dana Jansens
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dana Jansens 2012-07-13 14:53:13 PDT
[chromium] Remove targetRenderSurface concept, give layers a renderTarget which is the layer whose coordinate space they draw into
Comment 1 Dana Jansens 2012-07-13 14:53:57 PDT
Created attachment 152341 [details]
Patch
Comment 2 Dana Jansens 2012-07-13 15:08:01 PDT
Created attachment 152349 [details]
rm-surface-filters
Comment 3 Adrienne Walker 2012-07-13 16:27:08 PDT
Comment on attachment 152341 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=152341&action=review

> Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h:-111
> -    RenderSurfaceChromium* targetRenderSurface() const;
> -

Nice!

> Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.cpp:454
> +    // The layer owns a surface which is contributing to another target.
> +    ASSERT(layer->renderTarget() == layer);

Comment is kind of misleading.

> Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.cpp:468
> -        const RenderSurfaceType* targetSurface = surface->targetRenderSurface();
> -        if (targetSurface)
> -            surfaceClipRect = intersection(targetSurface->contentRect(), enclosingIntRect(surface->drawableContentRect()));
> -        else
> -            surfaceClipRect = m_scissorRectInScreenSpace;
> +        LayerType* contributingSurfaceRenderTarget = layer->parent()->renderTarget();
> +        surfaceClipRect = intersection(contributingSurfaceRenderTarget->renderSurface()->contentRect(), enclosingIntRect(surface->drawableContentRect()));

<3
Comment 4 Adrienne Walker 2012-07-13 16:38:03 PDT
Comment on attachment 152349 [details]
rm-surface-filters

This is good too.  Is there a reason not to just submit these patches separately?
Comment 5 Dana Jansens 2012-07-13 16:38:57 PDT
Nope was just wondering what you'd think, and wanted to give a trajectory. I could smoosh them together but no need to, I'll submit them separately then.
Comment 6 Dana Jansens 2012-07-16 12:54:10 PDT
Created attachment 152592 [details]
Patch

fix comment
Comment 7 Adrienne Walker 2012-07-16 13:24:18 PDT
Comment on attachment 152592 [details]
Patch

R=me.  Nice cleanup.  :)
Comment 8 WebKit Review Bot 2012-07-16 13:39:26 PDT
Comment on attachment 152592 [details]
Patch

Clearing flags on attachment: 152592

Committed r122756: <http://trac.webkit.org/changeset/122756>
Comment 9 WebKit Review Bot 2012-07-16 13:39:31 PDT
All reviewed patches have been landed.  Closing bug.