[webkit-reviews] review denied: [Bug 49481] Implement WebKit Full Screen support : [Attachment 73795] WebCore-Rendering
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Dec 2 11:41:17 PST 2010
Simon Fraser (smfr) <simon.fraser at apple.com> has denied Jer Noble
<jer.noble at apple.com>'s request for review:
Bug 49481: Implement WebKit Full Screen support
https://bugs.webkit.org/show_bug.cgi?id=49481
Attachment 73795: WebCore-Rendering
https://bugs.webkit.org/attachment.cgi?id=73795&action=review
------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=73795&action=review
There's too much special magic here, and it's not clear to me how much is just
for the fullscreen animation.
> WebCore/page/FrameView.cpp:495
> +#if ENABLE(FULLSCREEN_API)
> + Document* document = m_frame->document();
> + if (document->webkitFullScreen() &&
document->webkitFullScreenRenderer())
> +
view->compositor()->updateCompositingLayers(CompositingUpdateAfterLayoutOrStyle
Change, document->webkitFullScreenRenderer()->layer());
> +#endif
I don't think the fullscreen layers should be disconnected at all, so they
shoudn't need updating separately.
> WebCore/page/FrameView.cpp:563
> + // The fullScreenRenderer's graphicsLayer has been re-parented, and the
above recursive syncCompositingState
> + // call will not cause the subtree under it to repaint. Explicitly call
the syncCompositingState on
> + // the fullScreenRenderer's graphicsLayer here:
> + Document* document = m_frame->document();
> + if (document->webkitFullScreen() &&
document->webkitFullScreenRenderer()) {
> + RenderObject* fullScreenRenderer =
document->webkitFullScreenRenderer();
> + if (GraphicsLayer* fullScreenLayer =
toRenderBox(fullScreenRenderer)->layer()->backing()->graphicsLayer())
> + fullScreenLayer->syncCompositingState();
> + }
Ditto.
> WebCore/page/FrameView.cpp:2005
> + // The fullScreenRenderer's graphicsLayer has been re-parented, and
the above recursive syncCompositingState
> + // call will not cause the subtree under it to repaint. Explicitly
call the syncCompositingState on
> + // the fullScreenRenderer's graphicsLayer here:
> + if (document->webkitFullScreen() &&
document->webkitFullScreenRenderer()) {
> + RenderObject* fullScreenRenderer =
document->webkitFullScreenRenderer();
> + if (GraphicsLayer* fullScreenLayer =
toRenderBox(fullScreenRenderer)->layer()->backing()->graphicsLayer())
> + fullScreenLayer->syncCompositingState();
> + }
Ditto.
> WebCore/rendering/RenderLayerBacking.cpp:185
> + // We'd need RenderObject::convertContainerToLocalQuad(), which doesn't
yet exist. If this
> + // is a fullscreen renderer, don't clip to the viewport, as the renderer
will be asked to
> + // display outside of the viewport bounds.
> + if (compositor()->compositingConsultsOverlap() &&
!layerOrAncestorIsTransformed(m_owningLayer)
> +#if ENABLE(FULLSCREEN_API)
> + && !layerOrAncestorIsFullScreen(m_owningLayer)
> +#endif
Is this only true during animation to fullscreen, or when in fullscreen? Why
isn't the viewport fullscreen when in fullscreen?
More information about the webkit-reviews
mailing list