[webkit-reviews] review denied: [Bug 49998] Allow ports finer-grain control of when to enable accelerated compositing : [Attachment 74768] proposed patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Nov 26 10:40:51 PST 2010
Simon Fraser (smfr) <simon.fraser at apple.com> has denied Vangelis Kokkevis
<vangelis at chromium.org>'s request for review:
Bug 49998: Allow ports finer-grain control of when to enable accelerated
compositing
https://bugs.webkit.org/show_bug.cgi?id=49998
Attachment 74768: proposed patch
https://bugs.webkit.org/attachment.cgi?id=74768&action=review
------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=74768&action=review
I wonder if a bitfield could be used in the call through to ChromeClient, and
for storage in RLC?
> WebCore/css/MediaQueryEvaluator.cpp:484
> - threeDEnabled = view->compositor()->hasAcceleratedCompositing();
> + threeDEnabled = view->compositor()->hasAcceleratedCompositing()
> + &&
frame->page()->chrome()->client()->allowsAcceleratedCompositingFor3DTransforms(
);
I think RenderLayerCompositor should have a canRender3DTransforms() method.
> WebCore/page/ChromeClient.h:248
> + // Returns true if 3d transforms can trigger the accelerated
compositor.
> + virtual bool allowsAcceleratedCompositingFor3DTransforms() const {
return true; }
> + // Returns true if video can trigger the accelerated compositor.
> + virtual bool allowsAcceleratedCompositingForVideo() const { return
true; }
> + // Returns true if canvas can trigger the accelerated compositor.
> + virtual bool allowsAcceleratedCompositingForCanvas() const { return
true; }
> + // Returns true if plugins can trigger the accelerated compositor.
> + virtual bool allowsAcceleratedCompositingForPlugin() const { return
true; }
> + // Returns true if css animation can trigger the accelerated
compositor.
> + virtual bool allowsAcceleratedCompositingForAnimation() const {
return true; }
I agree that a single method with an enum argument would be better here.
> WebCore/rendering/RenderLayer.cpp:249
> bool RenderLayer::hasAcceleratedCompositing() const
> {
> #if USE(ACCELERATED_COMPOSITING)
> - return compositor()->hasAcceleratedCompositing();
> + return compositor()->hasAcceleratedCompositing() &&
compositor()->inCompositingMode();
> #else
> return false;
> #endif
I think this method should be removed, and callers should use
compositor()->canRender3DTransforms().
More information about the webkit-reviews
mailing list