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

Issue 9950115: Revert 111028 - Support W3C Full Screen API proposal (Closed)

Created:
8 years, 8 months ago by karen
Modified:
8 years, 8 months ago
Reviewers:
jer.noble
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/1084/
Visibility:
Public.

Description

Revert 111028 - Support W3C Full Screen API proposal https://bugs.webkit.org/show_bug.cgi?id=80660 Reviewed by Alexey Proskuryakov. Source/WebCore: Tests: fullscreen/full-screen-element-stack.html fullscreen/full-screen-enabled.html fullscreen/full-screen-restrictions.html The W3C proposal for taking arbitrary elements into full-screen mode is significantly different than the Mozilla proposal. For example, the W3C has proposed a lower-case "s" in "Fullscreen", which means the W3C and Mozilla "requestFullscreen" APIs differ only by in that lower-case "s". Annoying as this is, it does allow us to retain the semantics for the Mozilla case (har!). A significant difficulty is obeying the new W3C spec rules is that we would like to apply the fullscreen CSS rules while exiting fullscreen mode, though the W3C spec insists that the webkitFullscreenElement returns the new value immediately. As such, we retain the m_fullScreenElement variable (distinct from the top of the m_fullScreenElements stack) which is controlled by the webkit{Will,Did}{Enter,Exit}FullScreen functions. New APIs for the W3C Fullscreen spec: * dom/Document.h: (WebCore::Document::webkitFullscreenElement): (WebCore::Document::webkitFullscreenEnabled): * dom/Document.idl: * dom/Element.cpp: (WebCore::Element::webkitRequestFullscreen): * dom/Element.h: * dom/Element.idl: * dom/Document.cpp: (WebCore::Document::removedLastRef): Clear m_fullScreenElementStack. (WebCore::Document::requestFullScreenForElement): Implement the W3C requirements. (WebCore::Document::webkitExitFullscreen): Ditto. (WebCore::Document::webkitCancelFullScreen): Implement in terms of webkitCancelFullscreen. (WebCore::Document::webkitDidEnterFullScreenForElement): (WebCore::Document::webkitWillExitFullScreenForElement): (WebCore::Document::webkitDidExitFullScreenForElement): (WebCore::Document::fullScreenChangeDelayTimerFired): Protect against items being added to the event and error queue by swapping out empty queues before starting. (WebCore::Document::clearFullscreenElementStack): Simple accessor. (WebCore::Document::popFullscreenElementStack): Ditto. (WebCore::Document::pushFullscreenElementStack): Ditto. * dom/Element.cpp: (WebCore::Element::webkitRequestFullScreen): Add new RuntimeEnabledFeatures functions for the added Document and Element functions. * bindings/generic/RuntimeEnabledFeatures.h: (RuntimeEnabledFeatures): (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled): (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled): (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled): (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled): Source/WebKit/mac: Allow full screen elements to access the keyboard. * WebView/WebView.mm: (-[WebView _supportsFullScreenForElement:WebCore::withKeyboard:]): Source/WebKit2: Allow full screen elements to access the keyboard. * UIProcess/WebFullScreenManagerProxy.cpp: (WebKit::WebFullScreenManagerProxy::supportsFullScreen): * WebProcess/FullScreen/WebFullScreenManager.cpp: (WebKit::WebFullScreenManager::exitFullScreenForElement): LayoutTests: * fullscreen/full-screen-element-stack-expected.txt: Added. * fullscreen/full-screen-element-stack.html: Added. * fullscreen/full-screen-enabled-expected.txt: Added. * fullscreen/full-screen-enabled.html: Added. * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions-expected.txt: Added. * fullscreen/full-screen-restrictions.html: Added. * fullscreen/full-screen-test.js: TBR=jer.noble@apple.com Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=113080

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+46 lines, -503 lines) Patch
D LayoutTests/fullscreen/full-screen-element-stack.html View 1 chunk +0 lines, -57 lines 0 comments Download
D LayoutTests/fullscreen/full-screen-element-stack-expected.txt View 1 chunk +0 lines, -15 lines 0 comments Download
D LayoutTests/fullscreen/full-screen-enabled.html View 1 chunk +0 lines, -12 lines 0 comments Download
D LayoutTests/fullscreen/full-screen-enabled-expected.txt View 1 chunk +0 lines, -5 lines 0 comments Download
M LayoutTests/fullscreen/full-screen-request-rejected.html View 1 chunk +0 lines, -3 lines 0 comments Download
M LayoutTests/fullscreen/full-screen-request-removed.html View 1 chunk +0 lines, -3 lines 0 comments Download
D LayoutTests/fullscreen/full-screen-restrictions.html View 1 chunk +0 lines, -67 lines 0 comments Download
D LayoutTests/fullscreen/full-screen-restrictions-expected.txt View 1 chunk +0 lines, -19 lines 0 comments Download
M LayoutTests/fullscreen/full-screen-test.js View 1 chunk +1 line, -9 lines 0 comments Download
M Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h View 2 chunks +0 lines, -7 lines 0 comments Download
M Source/WebCore/dom/Document.h View 3 chunks +2 lines, -15 lines 0 comments Download
M Source/WebCore/dom/Document.cpp View 6 chunks +28 lines, -257 lines 0 comments Download
M Source/WebCore/dom/Document.idl View 1 chunk +0 lines, -6 lines 0 comments Download
M Source/WebCore/dom/Element.h View 1 chunk +1 line, -5 lines 0 comments Download
M Source/WebCore/dom/Element.cpp View 1 chunk +1 line, -6 lines 0 comments Download
M Source/WebCore/dom/Element.idl View 1 chunk +0 lines, -4 lines 0 comments Download
M Source/WebKit/mac/WebView/WebView.mm View 1 chunk +5 lines, -0 lines 0 comments Download
M Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp View 1 chunk +4 lines, -1 line 0 comments Download
M Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp View 1 chunk +2 lines, -0 lines 0 comments Download
M Tools/DumpRenderTree/mac/UIDelegate.mm View 1 chunk +2 lines, -12 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
karen
8 years, 8 months ago (2012-04-03 20:33:47 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698