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

Issue 2667913002: Revert of Sync requestFullscreen() and exitFullscreen() algorithms with the spec (patchset #3 id:40… (Closed)

Created:
3 years, 10 months ago by foolip
Modified:
3 years, 10 months ago
CC:
chromium-reviews
Target Ref:
refs/pending/branch-heads/2987
Project:
chromium
Visibility:
Public.

Description

Revert of Sync requestFullscreen() and exitFullscreen() algorithms with the spec (patchset #3 id:40001 of https://codereview.chromium.org/2573773002/ ) Reason for revert: Delaying fullscreen element stack changes until the animation frame after resize, and thus after resize-triggered scroll events, caused a regression with twitter video embeds that may require spec changes to fix: https://github.com/whatwg/fullscreen/issues/74 BUG=680467 Original issue's description: > Sync requestFullscreen() and exitFullscreen() algorithms with the spec > > The central change is the timing for when the fullscreen element stack > is modified and when the events fire. This makes it possible to make > webkitCurrentFullScreenElement an alias of fullscreenElement, as the old > notion of a single fullscreen element is gone. > > Previously, fullscreen requests did: > 1. In Fullscreen::requestFullscreen(), synchronously modify > m_fullscreenElementStack, visible in document.fullscreenElement, but > not document.webkitCurrentFullScreenElement. Also enqueue events to > fire, without starting the timer to fire them. > 2. As soon as the resize happens, in Fullscreen::didEnterFullscreen(), > set m_currentFullScreenElement, affecting :-webkit-full-screen > document.webkitCurrentFullScreenElement. Start the event timer. > 3. When the timer fires, events are dispatched. If the tree has changed > since the events were enqueued, additional events may be fired. > > And similarly for exit. For errors, requestFullscreen() would itself > start the timer to fire the events. > > Now, fullscreen requests will: > 1. In Fullscreen::requestFullscreen(), append to a list of pending > requests. > 2. When the resize happens, enqueue an animation frame task for each > pending request. > 3. In the animation frame task, apply all changes, decide which events > to fire and then fire them. > > TEST=run-webkit-tests fullscreen/ imported/wpt/fullscreen/ > webkit_unit_tests --gtest_filter=*Fullscreen* > interactive_ui_tests --gtest_filter=SitePerProcessInteractiveBrowserTest.Fullscreen* > BUG=402376, 402421 > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 > > Committed: https://crrev.com/e1d42d636990425056ede44086ef49a1f8c6a0a5 > Cr-Commit-Position: refs/heads/master@{#439607} TBR=mlamouri@chromium.org,alexmos@chromium.org,eae@chromium.org,esprehn@chromium.org BUG=402376, 402421 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2654083006 Cr-Commit-Position: refs/heads/master@{#446643} (cherry picked from commit 40a515a53aa3510c608fe60c572045850632e720) Review-Url: https://codereview.chromium.org/2667913002 . Cr-Commit-Position: refs/branch-heads/2987@{#216} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} Committed: https://chromium.googlesource.com/chromium/src/+/147957308fafe758c8cec0035595cb307775d880

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+937 lines, -728 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-exit-fullscreen-twice-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-fullscreen-element-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/element-request-fullscreen-and-move-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/element-request-fullscreen-and-move-to-iframe-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/element-request-fullscreen-and-remove-iframe-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/element-request-fullscreen-and-remove-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/element-request-fullscreen-twice-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/api/document-exit-fullscreen-twice.html View 1 chunk +34 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/api/document-exit-fullscreen-vs-request.html View 2 chunks +11 lines, -16 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/api/document-fullscreen-element.html View 1 chunk +36 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-and-move.html View 1 chunk +27 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-and-move-to-iframe.html View 1 chunk +29 lines, -0 lines 0 comments Download
D third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-and-move-to-iframe-prefixed.html View 1 chunk +0 lines, -28 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-and-remove.html View 1 chunk +24 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-and-remove-iframe.html View 1 chunk +28 lines, -0 lines 0 comments Download
D third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-and-remove-prefixed.html View 1 chunk +0 lines, -23 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-twice.html View 1 chunk +29 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-two-iframes.html View 1 chunk +7 lines, -7 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/api/element-request-fullscreen-vs-exit.html View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/enter-exit-full-screen-hover.html View 1 chunk +15 lines, -23 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/enter-exit-full-screen-hover-expected.txt View 1 chunk +0 lines, -2 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/full-screen-remove-ancestor-during-transition.html View 1 chunk +40 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fullscreen/full-screen-remove-ancestor-during-transition-expected.txt View 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fullscreen/full-screen-stacking-context.html View 1 chunk +1 line, -3 lines 0 comments Download
A third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/document-exit-fullscreen-twice-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/document-fullscreen-element-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-and-move-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-and-move-to-iframe-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-and-remove-iframe-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-and-remove-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-twice-manual-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/CSSDefaultStyleSheets.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/SelectorChecker.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/DocumentFullscreen.h View 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DocumentFullscreen.cpp View 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/DocumentFullscreen.idl View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Element.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Fullscreen.h View 6 chunks +51 lines, -33 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Fullscreen.cpp View 9 chunks +434 lines, -487 lines 0 comments Download
M third_party/WebKit/Source/core/dom/LayoutTreeBuilder.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/HTMLMediaElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/shadow/MediaControlsOrientationLockDelegateTest.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutInline.cpp View 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp View 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/page/ChromeClient.h View 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/vr/VRDisplay.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/ChromeClientImpl.h View 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/web/FullscreenController.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/FullscreenController.cpp View 4 chunks +22 lines, -24 lines 0 comments Download
M third_party/WebKit/Source/web/WebPluginContainerImpl.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp View 1 chunk +13 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp View 16 chunks +38 lines, -41 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebViewTest.cpp View 7 chunks +1 line, -10 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
foolip
3 years, 10 months ago (2017-01-31 05:52:31 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
147957308fafe758c8cec0035595cb307775d880.

Powered by Google App Engine
This is Rietveld 408576698