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

Issue 2107233002: Reland "Implement FullScreen using top layer." (Closed)

Created:
4 years, 5 months ago by foolip
Modified:
4 years, 5 months ago
Reviewers:
dsinclair, esprehn, eae
CC:
chromium-reviews, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, blink-reviews-style_chromium.org, zoltan1, posciak+watch_chromium.org, blink-reviews-css, sof, eae+blinkwatch, leviw+renderwatch, dcheng, blink-reviews-dom_chromium.org, dglazkov+blink, apavlov+blink_chromium.org, jchaffraix+rendering, darktears, blink-reviews, kinuko+watch, blink-reviews-layout_chromium.org, rwlbuis
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland "Implement FullScreen using top layer." This reverts commit 2460a95281959d1b4dd941fed10998adf8dcb63c. Notable changes on top of previous attempt: full-screen-iframe-ua-style.html is changed to use overflow property instead, as position is no longer changed on ancestors. :root:-webkit-full-screen-ancestor { overflow: hidden !important; } is retained, as the previous attempt regressed on Vimeo (crbug.com/543946) and it's not clear yet how to handle this in the spec: https://github.com/whatwg/fullscreen/issues/19 Make ::backdrop work for replaced content (video, iframe, etc.) by changing StyleResolver::createPseudoElementIfNeeded to allow creating the ::backdrop pseudo-element even if the parent doesn't support children. With this change, full-screen-stacking-context.html was simplified and full-screen-video-has-backdrop.html was simplified+renamed. The will-change override is dropped, as full-screen-will-change.html passes without it. BUG=240576, 543946 Committed: https://crrev.com/d666f503ae854fac360cc70da1f5971a6724546a Cr-Commit-Position: refs/heads/master@{#405478}

Patch Set 1 #

Total comments: 5

Patch Set 2 : fix full-screen-iframe-ua-style.html #

Patch Set 3 : sync fullscreen.css with spec #

Patch Set 4 : restore !important to overflow:hidden #

Total comments: 5

Patch Set 5 : simplify tests #

Patch Set 6 : fix ::backdrop for replaced content #

Total comments: 5

Patch Set 7 : rebase #

Patch Set 8 : expect Android ::backdrop failure, crbug.com/627850 #

Patch Set 9 : drop the will-change override #

Patch Set 10 : documentation + untested DCHECK #

Patch Set 11 : rebase #

Patch Set 12 : drop confused TODO #

Patch Set 13 : new untested DCHECK #

Unified diffs Side-by-side diffs Delta from patch set Stats (+415 lines, -628 lines) Patch
M third_party/WebKit/LayoutTests/fast/css/invalidation/fullscreen.html View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/css/invalidation/fullscreen-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/enter-exit-full-screen-hover.html View 2 chunks +9 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/full-screen-iframe-ua-style.html View 1 1 chunk +3 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/full-screen-iframe-ua-style-expected.txt View 1 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/full-screen-iframe-zIndex.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/full-screen-is-in-top-layer.html View 1 chunk +37 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/full-screen-is-in-top-layer-expected.html View 1 2 3 4 1 chunk +9 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/full-screen-render-inline-expected.html View 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context.html View 1 2 3 4 5 1 chunk +51 lines, -56 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html View 1 2 3 4 5 1 chunk +1 line, -11 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/full-screen-zIndex-expected.html View 1 2 3 4 1 chunk +5 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.html View 1 chunk +2 lines, -2 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/backdrop.html View 1 2 3 4 5 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/backdrop-expected.html View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/backdrop-iframe.html View 1 2 3 4 5 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/backdrop-iframe-expected.html View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/backdrop-object.html View 1 2 3 4 5 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/backdrop-object-expected.html View 1 2 3 4 5 1 chunk +13 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/backdrop-video.html View 1 2 3 4 5 1 chunk +22 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/backdrop-video-expected.html View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/overflow.html View 1 2 3 1 chunk +21 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/rendering/overflow-root.html View 1 2 3 1 chunk +21 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/resources/empty.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/resources/green.html View 1 2 3 4 1 chunk +2 lines, -8 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/resources/white.html View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/video-webkit-transform-expected.html View 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/virtual/android/fullscreen/rendering/backdrop-video-expected.html View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/core.gypi View 1 2 3 4 5 6 2 chunks +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/css/fullscreen.css View 1 2 3 4 5 6 7 8 1 chunk +30 lines, -47 lines 0 comments Download
M third_party/WebKit/Source/core/css/html.css View 1 2 4 chunks +6 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp View 1 2 3 4 2 chunks +15 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp View 1 2 3 4 5 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/Document.h View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 3 4 5 6 1 chunk +6 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Fullscreen.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +4 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Fullscreen.cpp View 1 2 3 4 5 6 7 8 9 10 11 9 chunks +13 lines, -51 lines 0 comments Download
M third_party/WebKit/Source/core/dom/LayoutTreeBuilder.cpp View 2 chunks +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/dom/PseudoElement.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.cpp View 1 2 3 4 5 6 1 chunk +1 line, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.h View 1 2 3 4 5 6 2 chunks +4 lines, -4 lines 0 comments Download
D third_party/WebKit/Source/core/layout/LayoutFullScreen.h View 1 chunk +0 lines, -69 lines 0 comments Download
D third_party/WebKit/Source/core/layout/LayoutFullScreen.cpp View 1 2 3 4 1 chunk +0 lines, -206 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutInline.cpp View 1 2 3 4 5 6 2 chunks +0 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutMenuList.cpp View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 6 3 chunks +1 line, -7 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutVideo.h View 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutVideo.cpp View 2 chunks +0 lines, -43 lines 0 comments Download
D third_party/WebKit/Source/core/layout/api/LayoutFullScreenItem.h View 1 chunk +0 lines, -43 lines 0 comments Download
M third_party/WebKit/Source/core/layout/api/LayoutItem.h View 1 2 3 4 5 6 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/web/FullscreenController.cpp View 1 2 3 4 5 6 7 8 9 10 4 chunks +17 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp View 1 2 3 4 5 6 4 chunks +38 lines, -4 lines 0 comments Download

Messages

Total messages: 41 (16 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2107233002/1
4 years, 5 months ago (2016-06-29 14:33:16 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/254710)
4 years, 5 months ago (2016-06-29 15:53:52 UTC) #4
foolip
dsinclair@, this isn't ready for review, many additional changes are needed, but perhaps you can ...
4 years, 5 months ago (2016-06-29 20:11:01 UTC) #6
dsinclair
https://codereview.chromium.org/2107233002/diff/1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp File third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp (right): https://codereview.chromium.org/2107233002/diff/1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp#newcode186 third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp:186: // TODO(dsinclair): We should find a way to get ...
4 years, 5 months ago (2016-06-29 20:14:47 UTC) #7
foolip
https://codereview.chromium.org/2107233002/diff/1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp File third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp (right): https://codereview.chromium.org/2107233002/diff/1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp#newcode186 third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp:186: // TODO(dsinclair): We should find a way to get ...
4 years, 5 months ago (2016-06-30 14:33:24 UTC) #9
foolip
https://codereview.chromium.org/2107233002/diff/60001/third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html File third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html (right): https://codereview.chromium.org/2107233002/diff/60001/third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html#newcode15 third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html:15: background-color: black; This change seems to mask an actual ...
4 years, 5 months ago (2016-07-06 13:19:43 UTC) #12
dsinclair
https://codereview.chromium.org/2107233002/diff/1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp File third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp (right): https://codereview.chromium.org/2107233002/diff/1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp#newcode186 third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp:186: // TODO(dsinclair): We should find a way to get ...
4 years, 5 months ago (2016-07-06 13:32:31 UTC) #13
foolip
https://codereview.chromium.org/2107233002/diff/1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp File third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp (right): https://codereview.chromium.org/2107233002/diff/1/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp#newcode186 third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp:186: // TODO(dsinclair): We should find a way to get ...
4 years, 5 months ago (2016-07-06 14:14:52 UTC) #14
dsinclair
https://codereview.chromium.org/2107233002/diff/60001/third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html File third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html (right): https://codereview.chromium.org/2107233002/diff/60001/third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html#newcode15 third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html:15: background-color: black; On 2016/07/06 14:14:51, Philip Jägenstedt wrote: > ...
4 years, 5 months ago (2016-07-06 14:17:38 UTC) #15
foolip
https://codereview.chromium.org/2107233002/diff/60001/third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html File third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html (right): https://codereview.chromium.org/2107233002/diff/60001/third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html#newcode15 third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context-expected.html:15: background-color: black; On 2016/07/06 14:17:38, dsinclair wrote: > On ...
4 years, 5 months ago (2016-07-06 15:20:28 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2107233002/100001
4 years, 5 months ago (2016-07-07 16:06:14 UTC) #19
foolip
This is now ready for real review, PTAL or suggest who would be a good ...
4 years, 5 months ago (2016-07-07 16:07:01 UTC) #20
dsinclair
+esprehn and +eae. Not sure if they're the correct reviewers, but are a good starting ...
4 years, 5 months ago (2016-07-07 16:09:31 UTC) #22
foolip
https://codereview.chromium.org/2107233002/diff/100001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp File third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/2107233002/diff/100001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp#newcode893 third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp:893: if (pseudoId != PseudoIdBackdrop && !canHaveGeneratedChildren(*parentLayoutObject)) The comment is ...
4 years, 5 months ago (2016-07-07 16:11:56 UTC) #23
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/258748)
4 years, 5 months ago (2016-07-07 20:39:25 UTC) #25
eae
Overall this looks great. Two quick questions though. https://codereview.chromium.org/2107233002/diff/100001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp File third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/2107233002/diff/100001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp#newcode893 third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp:893: if ...
4 years, 5 months ago (2016-07-12 17:09:49 UTC) #26
foolip
https://codereview.chromium.org/2107233002/diff/100001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp File third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/2107233002/diff/100001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp#newcode893 third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp:893: if (pseudoId != PseudoIdBackdrop && !canHaveGeneratedChildren(*parentLayoutObject)) On 2016/07/12 17:09:49, ...
4 years, 5 months ago (2016-07-12 20:19:48 UTC) #27
eae
On 2016/07/12 20:19:48, Philip Jägenstedt wrote: > https://codereview.chromium.org/2107233002/diff/100001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp > File third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp (right): > > https://codereview.chromium.org/2107233002/diff/100001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp#newcode893 ...
4 years, 5 months ago (2016-07-12 20:25:04 UTC) #28
foolip
OK, I've made the requested changes and will CQ, but I'd still appreciate a sanity ...
4 years, 5 months ago (2016-07-14 09:55:56 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2107233002/260001
4 years, 5 months ago (2016-07-14 09:56:23 UTC) #34
commit-bot: I haz the power
Committed patchset #13 (id:260001)
4 years, 5 months ago (2016-07-14 12:34:04 UTC) #36
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-14 12:34:09 UTC) #37
commit-bot: I haz the power
Patchset 13 (id:??) landed as https://crrev.com/d666f503ae854fac360cc70da1f5971a6724546a Cr-Commit-Position: refs/heads/master@{#405478}
4 years, 5 months ago (2016-07-14 12:35:44 UTC) #39
eae
LGTM, thanks!
4 years, 5 months ago (2016-07-14 16:25:36 UTC) #40
foolip
4 years, 5 months ago (2016-07-22 03:35:13 UTC) #41
Message was sent while issue was closed.
A revert of this CL (patchset #13 id:260001) has been created in
https://codereview.chromium.org/2168373002/ by foolip@chromium.org.

The reason for reverting is: Multiple regressions around the fullscreen
transition becoming visibly worse, as well as a suspected leak.

BUG=628554,628605,628662,630191.

Powered by Google App Engine
This is Rietveld 408576698