Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(420)

Issue 139743005: Replace RenderFullScreen with top layer (Closed)

Created:
6 years, 11 months ago by falken
Modified:
6 years, 11 months ago
CC:
blink-reviews, zoltan1, dsinclair, sof, eae+blinkwatch, ed+blinkwatch_opera.com, leviw+renderwatch, blink-layers+watch_chromium.org, dglazkov+blink, apavlov+blink_chromium.org, adamk+blink_chromium.org, jchaffraix+rendering, darktears, bemjb+rendering_chromium.org, Inactive
Visibility:
Public.

Description

Replace RenderFullScreen with top layer This patch makes the Fullscreen API use the top layer, as per the latest Fullscreen spec: http://fullscreen.spec.whatwg.org/ Some more details: - HTMLPlugInElement now retains its widget during reattach. Otherwise, a video would need to be reloaded when it enters fullscreen. - The placeholder renderer that was in RenderFullScreen is removed. The spec doesn't mention such a mechanism and it's better to avoid the complexity if possible. It was originally added to prevent a flash of a collapsed page when exiting fullscreen: https://bugs.webkit.org/show_bug.cgi?id=61897 It's possible we still need it. Either way, it has to be moved from RenderFullScreen. Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/yJUanvg7d40 BUG=240576, 246077 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=165710

Patch Set 1 #

Patch Set 2 : needs baseline #

Total comments: 15

Patch Set 3 : rebase #

Patch Set 4 : review comments #

Patch Set 5 : sync #

Patch Set 6 : protect widget more selectively #

Total comments: 4

Patch Set 7 : review comments and NeedsRebaseline #

Patch Set 8 : sync and fix a text expectation line #

Patch Set 9 : remove binary files from patch #

Patch Set 10 : TestExpectations for /virtual/android/fullscreen #

Unified diffs Side-by-side diffs Delta from patch set Stats (+277 lines, -475 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 3 chunks +12 lines, -3 lines 0 comments Download
A LayoutTests/fast/dom/HTMLDialogElement/fullscreen-elements-do-not-affect-modality.html View 1 chunk +105 lines, -0 lines 0 comments Download
A LayoutTests/fast/dom/HTMLDialogElement/fullscreen-elements-do-not-affect-modality-expected.txt View 1 chunk +12 lines, -0 lines 0 comments Download
A LayoutTests/fullscreen/full-screen-is-in-top-layer.html View 1 chunk +40 lines, -0 lines 0 comments Download
D LayoutTests/fullscreen/full-screen-placeholder.html View 1 chunk +0 lines, -73 lines 0 comments Download
D LayoutTests/fullscreen/full-screen-placeholder-expected.txt View 1 chunk +0 lines, -17 lines 0 comments Download
A LayoutTests/fullscreen/full-screen-video-has-backdrop.html View 1 2 3 4 5 1 chunk +31 lines, -0 lines 0 comments Download
D LayoutTests/platform/linux/fullscreen/parent-flow-inline-with-block-child-expected.png View 1 Binary file 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/css/fullscreen.css View 1 2 3 1 chunk +22 lines, -1 line 0 comments Download
M Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 1 chunk +9 lines, -3 lines 0 comments Download
M Source/core/dom/Element.cpp View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/dom/FullscreenElementStack.h View 3 chunks +0 lines, -6 lines 0 comments Download
M Source/core/dom/FullscreenElementStack.cpp View 1 2 3 10 chunks +14 lines, -50 lines 0 comments Download
M Source/core/dom/RenderTreeBuilder.cpp View 1 2 3 4 5 6 7 2 chunks +0 lines, -9 lines 0 comments Download
M Source/core/html/HTMLDialogElement.h View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download
M Source/core/html/HTMLDialogElement.cpp View 1 2 3 4 5 6 4 chunks +10 lines, -0 lines 0 comments Download
M Source/core/html/HTMLPlugInElement.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLPlugInElement.cpp View 1 2 3 4 5 3 chunks +16 lines, -1 line 0 comments Download
D Source/core/rendering/RenderFullScreen.h View 1 chunk +0 lines, -60 lines 0 comments Download
D Source/core/rendering/RenderFullScreen.cpp View 1 chunk +0 lines, -189 lines 0 comments Download
M Source/core/rendering/RenderInline.cpp View 2 chunks +0 lines, -12 lines 0 comments Download
M Source/core/rendering/RenderLayerCompositor.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/rendering/RenderVideo.h View 1 chunk +0 lines, -5 lines 0 comments Download
M Source/core/rendering/RenderVideo.cpp View 2 chunks +0 lines, -42 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
falken
Hi all, Could you take a look please? This is a continuation of https://codereview.chromium.org/18896003/
6 years, 11 months ago (2014-01-21 11:39:15 UTC) #1
esprehn
https://codereview.chromium.org/139743005/diff/50001/Source/core/css/fullscreen.css File Source/core/css/fullscreen.css (right): https://codereview.chromium.org/139743005/diff/50001/Source/core/css/fullscreen.css#newcode5 Source/core/css/fullscreen.css:5: *|*:not(:root):-webkit-full-screen { remove the *|*, it's not needed and ...
6 years, 11 months ago (2014-01-21 18:59:05 UTC) #2
falken
Thanks! PTAL https://codereview.chromium.org/139743005/diff/50001/Source/core/css/fullscreen.css File Source/core/css/fullscreen.css (right): https://codereview.chromium.org/139743005/diff/50001/Source/core/css/fullscreen.css#newcode5 Source/core/css/fullscreen.css:5: *|*:not(:root):-webkit-full-screen { On 2014/01/21 18:59:05, esprehn wrote: ...
6 years, 11 months ago (2014-01-22 06:08:01 UTC) #3
esprehn
lgtm, wjmaclean@ this adds a hack that hopefully you'll be removing.
6 years, 11 months ago (2014-01-22 07:32:18 UTC) #4
esprehn
btw I think you're failing real tests: unexpected_failures: fast/dom/HTMLObjectElement/update-data.html fullscreen/full-screen-is-in-top-layer.html fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml fast/frames/crash-remove-iframe-during-object-beforeload.html
6 years, 11 months ago (2014-01-22 07:33:58 UTC) #5
falken
On 2014/01/22 07:33:58, esprehn wrote: > btw I think you're failing real tests: > > ...
6 years, 11 months ago (2014-01-23 02:23:27 UTC) #6
esprehn
On 2014/01/23 02:23:27, falken wrote: > On 2014/01/22 07:33:58, esprehn wrote: > > btw I ...
6 years, 11 months ago (2014-01-23 02:29:12 UTC) #7
falken
On 2014/01/23 02:29:12, esprehn wrote: > You probably want to look at the needsWidgetUpdate() bit, ...
6 years, 11 months ago (2014-01-23 09:40:19 UTC) #8
esprehn
Allowing generated children, even backdrop, for a renderer that doesn't expect it usually leads to ...
6 years, 11 months ago (2014-01-23 18:44:57 UTC) #9
esprehn
On 2014/01/23 18:44:57, esprehn wrote: > Allowing generated children, even backdrop, for a renderer that ...
6 years, 11 months ago (2014-01-23 19:01:01 UTC) #10
falken
Thanks! I addressed the comments below and added the required NeedsRebaseline lines to TestExpectations. I ...
6 years, 11 months ago (2014-01-24 01:50:44 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/falken@chromium.org/139743005/1150001
6 years, 11 months ago (2014-01-24 04:39:28 UTC) #12
commit-bot: I haz the power
Change committed as 165710
6 years, 11 months ago (2014-01-24 07:23:20 UTC) #13
Alpha Left Google
6 years, 11 months ago (2014-01-25 00:18:06 UTC) #14
Message was sent while issue was closed.
A revert of this CL has been created in
https://codereview.chromium.org/137233017/ by hclam@chromium.org.

The reason for reverting is: This patch seems to be causing crashs on windows 7
debug build.
http://build.chromium.org/p/chromium.webkit/builders/Win7%20%28dbg%29/builds/....

Powered by Google App Engine
This is Rietveld 408576698