haikuwebkit/LayoutTests/fullscreen/full-screen-css-expected.txt

16 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. Mark for export all those WebCore functions needed by WebFullscreenController. * WebCore.exp.in: WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. screenRect is useful for more than just HTMLMediaElements. Promote it into Element. * dom/Element.cpp: Moved into Element from HTMLMediaElement. * dom/Element.h: Ditto. * dom/Node.cpp: * html/HTMLMediaElement.cpp: Moved screenRect into Element. * html/HTMLMediaElement.h: Ditto. * WebCore.exp.in: Modify the exports list to reflect the new symbol name. WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to be rendered outside its original Frame. Because of this, there are a few areas of the rendering code which need to be special cased: RenderFullScreen layers should not be clipped to the viewport, as they will almost always be rendering outside the viewport area; RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as the client will likely want to reparent the platformLayer into their own fullscreen platform window; the FrameView must update the RenderFullScreen graphics layer tree separately from the root layer, as the two trees are disconnected. * page/FrameView.cpp: (WebCore::FrameView::updateCompositingLayers): Special treatment for fullscreen renderer. (WebCore::FrameView::syncCompositingStateRecursive): Ditto. (WebCore::FrameView::paintContents): Ditto. * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::contentChanged): Add support for above. * rendering/RenderLayerBacking.cpp: (WebCore::layerOrAncestorIsFullScreen): New function. (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer. (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto. (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto. * rendering/RenderLayerCompositor.h: WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. Implemented non-accelerated fullscreen support. The Document will now vend a RenderFullScreen object for clients to use to relocate the fullscreen element subtree. * css/CSSStyleSelector.cpp: (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. * dom/Document.cpp: (WebCore::Document::Document): Initialize m_fullScreenRenderer. (WebCore::Document::detach): Call setFullScreenRenderer(0). (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement. (WebCore::Document::webkitWillEnterFullScreenForElement): Detach the fullscreen element to cause a new RenderFullScreen renderer to be created with the new fullscreen element. (WebCore::Document::webkitDidEnterFullScreenForElement): Notify clients of a fullscreen change here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response to webkitfullscreenchange events. (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style. (WebCore::Document::webkitDidExitFullScreenForElement): Ditto. (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer. (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new size; this keeps clients from having to access the renderer's style directly. (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto. * dom/Document.h: (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen. (WebCore::Document::fullScreenRenderer): Accessor. * dom/Document.idl: * dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen object to insert between the fullscreen element and its parent. * page/ChromeClient.h: (WebCore::ChromeClient::fullScreenRendererChanged): Added. * rendering/MediaControlElements.cpp: (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen. WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. This patch introduces a new RenderObject type: RenderFullScreen. The RenderFullScreen renderer will be used to implement new FullScreen APIs. Because the RenderFullScreen object will be the parent of the current fullscreen element, the style rules for fullscreen objects must change to match. * WebCore.xcodeproj/project.pbxproj: * rendering/RenderFullScreen.cpp: Added. (RenderFullScreen::setAnimating): Sets the m_isAnimating flag. (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye for RenderFullScreen objects. * rendering/RenderFullScreen.h: Added. (WebCore::RenderFullScreen::isRenderFullScreen): Added. Overrides the RenderObject version. * rendering/RenderObject.h: (WebCore::RenderObject::isRenderFullScreen): Added. Used for type-checking RenderFullScreen objects. * css/fullscreen.css: Modified the contained fullscreen styles. WebKit/mac: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05 Reviewed by Simon Fraser. Support the new fullscreen Chrome client requests. WebView will pass through these requests to a WebFullscreenController. * WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged(). * WebView/WebView.mm: (-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled. (-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController. (-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen. (-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed. * WebView/WebViewData.h: Add ivar newFullscreenController. Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05 Reviewed by Simon Fraser. This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen window, and a custom CAAnimation animates that layer between the initial screen rect of the full screen element, to its final value. WebFullscreenController will swap the WebView out of its original window, and into the fullscreen window. The controller will replace the WebView with a placeholder view, so that if the placeholder moves or resized while the WebView is absent, the WebView will move back to the correct location when exiting fullscreen. * WebView/WebFullscreenController.h: Added. * WebView/WebFullscreenController.mm: Added. (-[WebFullscreenController windowDidExitFullscreen:]): Close the fullscreen window. (-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window. (-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate. (-[WebFullscreenController applicationDidResignActive:]): (-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match the new screen parameters. (-[WebFullscreenController enterFullscreen:]): Set up the animation that will take the fullscreen element from its original screen rect into fullscreen. (-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window. Set up the animation that will take the fullscreen element back into its original screen rect. (-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine whether to disable screensaver and sleep. (-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element looking for HTMLVideoElements; returns whether any are found to be playing. (-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control and shift keys. (-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key. (-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key. (-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen. (-[WebFullscreenWindow rendererLayer]): Convenience accessor. (-[WebFullscreenWindow setRendererLayer:]): Ditto. (-[WebFullscreenWindow backgroundLayer]): Ditto. (-[WebFullscreenWindow animationView]): Ditto. (MediaEventListener::MediaEventListener): Implements the EventListener protocol. (MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions. LayoutTests: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05 Reviewed by Simon Fraser. Update the tests with new API names and spec values. * fullscreen/full-screen-api-expected.txt: * fullscreen/full-screen-api.html: * fullscreen/full-screen-css.html: * fullscreen/full-screen-request-expected.txt: * fullscreen/full-screen-request.html: Canonical link: https://commits.webkit.org/65598@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@75277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-07 22:45:47 +00:00
EXPECTED (document.defaultView.getComputedStyle(span, null).getPropertyValue('background-color') == 'rgba(0, 0, 0, 0)') OK
EXPECTED (document.defaultView.getComputedStyle(document.documentElement, null).getPropertyValue('background-color') == 'rgba(0, 0, 0, 0)') OK
EXPECTED (document.defaultView.getComputedStyle(document.documentElement, null).getPropertyValue('color') == 'rgb(0, 0, 0)') OK
2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 * wtf/Platform.h: Enable FULLSCREEN_API mode for the Mac (except iOS). 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 Added chrome client overrides which support entering and exiting full screen. A new preference has been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled (defaults to disabled). Added a new WebKitFullScreenListener callback object which notifies WebCore when the chrome has started/finished its full screen animation. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::supportsFullscreenForElement): (WebChromeClient::enterFullscreenForElement): (WebChromeClient::exitFullscreenForElement): (-[WebKitFullScreenListener initWithElement:]): (-[WebKitFullScreenListener webkitWillEnterFullScreen]): (-[WebKitFullScreenListener webkitDidEnterFullScreen]): (-[WebKitFullScreenListener webkitWillExitFullScreen]): (-[WebKitFullScreenListener webkitDidExitFullScreen]): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setFullScreenEnabled:]): (-[WebPreferences fullScreenEnabled]): * WebView/WebUIDelegatePrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 Mozilla has proposed a new set of JavaScript APIs which allow any element in a document to go full-screen. The current revision of their proposal can be found here: <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI&oldid=243429> The proposed specification includes the following: Document: - Three new methods on Document: + void requestFullScreen() + void requestFullScreenWithKeys() + void cancelFullScreen() - Three new attributes of Document: + readonly attribute boolean fullScreen + readonly attribute boolean fullScreenWithKeys + (optional) readonly attribute Element currentFullScreenElement Element: - Two new methods on Element: + void requestFullScreen() + void requestFullScreenWithKeys() Events: - One new event: + fullScreenChange CSS Pseudo-classes: - Three new Pseudo-classes: + :full-screen + :full-screen-doc + :full-screen-root-with-target For WebKit's initial implementation, all the above new APIs will be prefixed with "webkit" or "-webkit" where appropriate. New tests: LayoutTests/fullscreen/full-screen-api.html LayoutTests/fullscreen/full-screen-css.html LayoutTests/fullscreen/full-screen-request.html Project file changes: * Configurations/FeatureDefines.xcconfig: Added an ENABLE_FULLSCREEN_API entry. * DerivedSources.make: Added rules for fullscreen.css and WebCore.FullScreen.exp. * WebCore.FullScreen.exp: Added export symbols for Document and Element functions. * WebCore.xcodeproj/project.pbxproj: New source files added to the project. IDL changes: * dom/Document.idl: Added the new full-screen API to the Document's javascript interface. * dom/Element.idl: Added the new full-screen API to the Element's javascript interface. Source changes: * bindings/objc/PublicDOMInterfaces.h: Exposed Document and Element fullscreen functions in the DOM classes. * css/CSSSelector.cpp: Added new FullScreen pseudo-classes. * css/CSSSelector.h: Added new full-screen pseudo classes to the PseudoType enum. * css/CSSStyleSelector.cpp: (WebCore::loadFullDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle and the defaultQuirksStyle sheets. (WebCore::loadSimpleDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle sheet. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Check for the new FullScreen pseudo classes. * dom/Document.cpp: (WebCore::Document::createEvent): Support creating a "WebKitFullScreenChange" event. (WebCore::Document::addListenerTypeIfNeeded): Support listening for a "webKitFullScreenChangeEvent" (WebCore::Document::webkitRequestFullScreenForElement): Passes request to the chrome client to enter full screen mode. (WebCore::Document::webkitCancelFullScreen): Passes request to the chrome client to exit full screen mode. (WebCore::Document::webkitWillEnterFullScreenForElement): Sets the FullScreen pseudo-classes on the full-screen element and its document. (WebCore::Document::webkitDidEnterFullScreenForElement): Currently a no-op. (WebCore::Document::webkitWillExitFullScreenForElement): Currently a no-op. (WebCore::Document::webkitDidExitFullScreenForElement): Clears the FullScreen pseudo-classes on the full-screen element and its document. * dom/Document.h: Added const accessors for new full-screen instance variables. (WebCore::Document::): (WebCore::Document::webkitIsFullScreen): Accessor for m_isFullScreen. (WebCore::Document::webkitIsFullScreenWithKeysEnabled): Accessor for m_isFullScren and m_areKeysEnabled. (WebCore::Document::webkitCurrentFullScreenElement): Accessor for m_fullScreenElement. * dom/Element.cpp: (WebCore::Element::webkitRequestFullScreen): Calls Document::webkitRequestFullScreenForElement. * dom/Element.h: * dom/EventNames.h: Add a webkitfullscreenchange event name. * html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute): Parse the new "onwebkitfullscreenchange" attribute and register a listener. * page/ChromeClient.h: (WebCore::ChromeClient::supportsFullscreenForElement): Pass through to the current UI delegate. (WebCore::ChromeClient::enterFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate. (WebCore::ChromeClient::exitFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate. * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: Add a new setting to control runtime support for full screen mode (defaults to off) * rendering/MediaControlElements.cpp: (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): The full screen button now toggles full screen mode (previously, it only entered). * rendering/style/RenderStyleConstants.h: Added new style constants. 2010-08-09 Jer Noble <jer.noble@apple.com> Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 New tests for the new full screen API: full-screen-api.html: tests for the presence of the new full screen apis. full-screen-request.html: tests that clients can request the browser enter full screen mode successfully. full-screen-css.html: tests that the new full screen pseudo classes are applied once full screen mode is entered. full-screen-remove.html: tests that the document's current full screen element is changed when that element is removed from the DOM tree. full-screen-remove-ancestor.html: tests that the document's current full screen element is changed an ancestor of that element is removed from the DOM tree. full-screen-twice.html: tests that entering full screen mode on two different elements in a row does not fail. Tests that were changed: domListEnumeration.html: This test returns a specific count of properties on HTML elements; after consultation with Sam Weinig (the original test author), it was decided that this part of the test would be very difficult to make platform specific, and that nothing significant would be lost if the property count sections were removed. platform/*/Skipped: Added the fullscreen/ directory to the Skipped list for every platform save mac. * fast/dom/Window/window-properties-expected.txt: Added the new properties exposed on Document and Element. * fast/dom/domListEnumeration-expected.txt: Removed the iteration count part of this test. * fast/dom/script-tests/domListEnumeration.js: "" * fullscreen: Added. * platform/mac/fullscreen: Added. * platform/mac/fullscreen/full-screen-api-expected.txt: Added. * platform/mac/fullscreen/full-screen-api.html: Added. * platform/mac/fullscreen/full-screen-css-expected.txt: Added. * platform/mac/fullscreen/full-screen-css.html: Added. * platform/mac/fullscreen/full-screen-remove-ancestor-expected.txt: Added. * platform/mac/fullscreen/full-screen-remove-ancestor.html: Added. * platform/mac/fullscreen/full-screen-remove-expected.txt: Added. * platform/mac/fullscreen/full-screen-remove.html: Added. * platform/mac/fullscreen/full-screen-request-expected.txt: Added. * platform/mac/fullscreen/full-screen-request.html: Added. * platform/mac/fullscreen/full-screen-twice-expected.txt: Added. * platform/mac/fullscreen/full-screen-twice.html: Added. 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 Added basic full screen support to DumpRenderTree: when a webView requests that DumpRenderTree go "full screen", just call the provided callback listener object's will/did Enter/Exit full screen methods. Also, register a new user default which enables full screen support. * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): * DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:supportsFullscreenForElement:]): (-[UIDelegate webView:enterFullscreenForElement:listener:]): (-[UIDelegate webView:exitFullscreenForElement:listener:]): Canonical link: https://commits.webkit.org/57023@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@66251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-08-27 20:49:02 +00:00
EVENT(webkitfullscreenchange)
EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLHtmlElement]') OK
WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. Mark for export all those WebCore functions needed by WebFullscreenController. * WebCore.exp.in: WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. screenRect is useful for more than just HTMLMediaElements. Promote it into Element. * dom/Element.cpp: Moved into Element from HTMLMediaElement. * dom/Element.h: Ditto. * dom/Node.cpp: * html/HTMLMediaElement.cpp: Moved screenRect into Element. * html/HTMLMediaElement.h: Ditto. * WebCore.exp.in: Modify the exports list to reflect the new symbol name. WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to be rendered outside its original Frame. Because of this, there are a few areas of the rendering code which need to be special cased: RenderFullScreen layers should not be clipped to the viewport, as they will almost always be rendering outside the viewport area; RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as the client will likely want to reparent the platformLayer into their own fullscreen platform window; the FrameView must update the RenderFullScreen graphics layer tree separately from the root layer, as the two trees are disconnected. * page/FrameView.cpp: (WebCore::FrameView::updateCompositingLayers): Special treatment for fullscreen renderer. (WebCore::FrameView::syncCompositingStateRecursive): Ditto. (WebCore::FrameView::paintContents): Ditto. * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::contentChanged): Add support for above. * rendering/RenderLayerBacking.cpp: (WebCore::layerOrAncestorIsFullScreen): New function. (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer. (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto. (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto. * rendering/RenderLayerCompositor.h: WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. Implemented non-accelerated fullscreen support. The Document will now vend a RenderFullScreen object for clients to use to relocate the fullscreen element subtree. * css/CSSStyleSelector.cpp: (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. * dom/Document.cpp: (WebCore::Document::Document): Initialize m_fullScreenRenderer. (WebCore::Document::detach): Call setFullScreenRenderer(0). (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement. (WebCore::Document::webkitWillEnterFullScreenForElement): Detach the fullscreen element to cause a new RenderFullScreen renderer to be created with the new fullscreen element. (WebCore::Document::webkitDidEnterFullScreenForElement): Notify clients of a fullscreen change here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response to webkitfullscreenchange events. (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style. (WebCore::Document::webkitDidExitFullScreenForElement): Ditto. (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer. (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new size; this keeps clients from having to access the renderer's style directly. (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto. * dom/Document.h: (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen. (WebCore::Document::fullScreenRenderer): Accessor. * dom/Document.idl: * dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen object to insert between the fullscreen element and its parent. * page/ChromeClient.h: (WebCore::ChromeClient::fullScreenRendererChanged): Added. * rendering/MediaControlElements.cpp: (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen. WebCore: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2010-12-17 Reviewed by Simon Fraser. This patch introduces a new RenderObject type: RenderFullScreen. The RenderFullScreen renderer will be used to implement new FullScreen APIs. Because the RenderFullScreen object will be the parent of the current fullscreen element, the style rules for fullscreen objects must change to match. * WebCore.xcodeproj/project.pbxproj: * rendering/RenderFullScreen.cpp: Added. (RenderFullScreen::setAnimating): Sets the m_isAnimating flag. (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye for RenderFullScreen objects. * rendering/RenderFullScreen.h: Added. (WebCore::RenderFullScreen::isRenderFullScreen): Added. Overrides the RenderObject version. * rendering/RenderObject.h: (WebCore::RenderObject::isRenderFullScreen): Added. Used for type-checking RenderFullScreen objects. * css/fullscreen.css: Modified the contained fullscreen styles. WebKit/mac: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05 Reviewed by Simon Fraser. Support the new fullscreen Chrome client requests. WebView will pass through these requests to a WebFullscreenController. * WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged(). * WebView/WebView.mm: (-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled. (-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController. (-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen. (-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed. * WebView/WebViewData.h: Add ivar newFullscreenController. Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05 Reviewed by Simon Fraser. This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen window, and a custom CAAnimation animates that layer between the initial screen rect of the full screen element, to its final value. WebFullscreenController will swap the WebView out of its original window, and into the fullscreen window. The controller will replace the WebView with a placeholder view, so that if the placeholder moves or resized while the WebView is absent, the WebView will move back to the correct location when exiting fullscreen. * WebView/WebFullscreenController.h: Added. * WebView/WebFullscreenController.mm: Added. (-[WebFullscreenController windowDidExitFullscreen:]): Close the fullscreen window. (-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window. (-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate. (-[WebFullscreenController applicationDidResignActive:]): (-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match the new screen parameters. (-[WebFullscreenController enterFullscreen:]): Set up the animation that will take the fullscreen element from its original screen rect into fullscreen. (-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window. Set up the animation that will take the fullscreen element back into its original screen rect. (-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine whether to disable screensaver and sleep. (-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element looking for HTMLVideoElements; returns whether any are found to be playing. (-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control and shift keys. (-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key. (-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key. (-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen. (-[WebFullscreenWindow rendererLayer]): Convenience accessor. (-[WebFullscreenWindow setRendererLayer:]): Ditto. (-[WebFullscreenWindow backgroundLayer]): Ditto. (-[WebFullscreenWindow animationView]): Ditto. (MediaEventListener::MediaEventListener): Implements the EventListener protocol. (MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions. LayoutTests: Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Patch by Jer Noble <jer@kokode.apple.com> on 2011-01-05 Reviewed by Simon Fraser. Update the tests with new API names and spec values. * fullscreen/full-screen-api-expected.txt: * fullscreen/full-screen-api.html: * fullscreen/full-screen-css.html: * fullscreen/full-screen-request-expected.txt: * fullscreen/full-screen-request.html: Canonical link: https://commits.webkit.org/65598@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@75277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-07 22:45:47 +00:00
EXPECTED (document.defaultView.getComputedStyle(span, null).getPropertyValue('background-color') == 'rgba(0, 0, 0, 0)') OK
EXPECTED (document.defaultView.getComputedStyle(document.documentElement, null).getPropertyValue('background-color') == 'rgb(0, 255, 0)') OK
2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 * wtf/Platform.h: Enable FULLSCREEN_API mode for the Mac (except iOS). 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 Added chrome client overrides which support entering and exiting full screen. A new preference has been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled (defaults to disabled). Added a new WebKitFullScreenListener callback object which notifies WebCore when the chrome has started/finished its full screen animation. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::supportsFullscreenForElement): (WebChromeClient::enterFullscreenForElement): (WebChromeClient::exitFullscreenForElement): (-[WebKitFullScreenListener initWithElement:]): (-[WebKitFullScreenListener webkitWillEnterFullScreen]): (-[WebKitFullScreenListener webkitDidEnterFullScreen]): (-[WebKitFullScreenListener webkitWillExitFullScreen]): (-[WebKitFullScreenListener webkitDidExitFullScreen]): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setFullScreenEnabled:]): (-[WebPreferences fullScreenEnabled]): * WebView/WebUIDelegatePrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 Mozilla has proposed a new set of JavaScript APIs which allow any element in a document to go full-screen. The current revision of their proposal can be found here: <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI&oldid=243429> The proposed specification includes the following: Document: - Three new methods on Document: + void requestFullScreen() + void requestFullScreenWithKeys() + void cancelFullScreen() - Three new attributes of Document: + readonly attribute boolean fullScreen + readonly attribute boolean fullScreenWithKeys + (optional) readonly attribute Element currentFullScreenElement Element: - Two new methods on Element: + void requestFullScreen() + void requestFullScreenWithKeys() Events: - One new event: + fullScreenChange CSS Pseudo-classes: - Three new Pseudo-classes: + :full-screen + :full-screen-doc + :full-screen-root-with-target For WebKit's initial implementation, all the above new APIs will be prefixed with "webkit" or "-webkit" where appropriate. New tests: LayoutTests/fullscreen/full-screen-api.html LayoutTests/fullscreen/full-screen-css.html LayoutTests/fullscreen/full-screen-request.html Project file changes: * Configurations/FeatureDefines.xcconfig: Added an ENABLE_FULLSCREEN_API entry. * DerivedSources.make: Added rules for fullscreen.css and WebCore.FullScreen.exp. * WebCore.FullScreen.exp: Added export symbols for Document and Element functions. * WebCore.xcodeproj/project.pbxproj: New source files added to the project. IDL changes: * dom/Document.idl: Added the new full-screen API to the Document's javascript interface. * dom/Element.idl: Added the new full-screen API to the Element's javascript interface. Source changes: * bindings/objc/PublicDOMInterfaces.h: Exposed Document and Element fullscreen functions in the DOM classes. * css/CSSSelector.cpp: Added new FullScreen pseudo-classes. * css/CSSSelector.h: Added new full-screen pseudo classes to the PseudoType enum. * css/CSSStyleSelector.cpp: (WebCore::loadFullDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle and the defaultQuirksStyle sheets. (WebCore::loadSimpleDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle sheet. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Check for the new FullScreen pseudo classes. * dom/Document.cpp: (WebCore::Document::createEvent): Support creating a "WebKitFullScreenChange" event. (WebCore::Document::addListenerTypeIfNeeded): Support listening for a "webKitFullScreenChangeEvent" (WebCore::Document::webkitRequestFullScreenForElement): Passes request to the chrome client to enter full screen mode. (WebCore::Document::webkitCancelFullScreen): Passes request to the chrome client to exit full screen mode. (WebCore::Document::webkitWillEnterFullScreenForElement): Sets the FullScreen pseudo-classes on the full-screen element and its document. (WebCore::Document::webkitDidEnterFullScreenForElement): Currently a no-op. (WebCore::Document::webkitWillExitFullScreenForElement): Currently a no-op. (WebCore::Document::webkitDidExitFullScreenForElement): Clears the FullScreen pseudo-classes on the full-screen element and its document. * dom/Document.h: Added const accessors for new full-screen instance variables. (WebCore::Document::): (WebCore::Document::webkitIsFullScreen): Accessor for m_isFullScreen. (WebCore::Document::webkitIsFullScreenWithKeysEnabled): Accessor for m_isFullScren and m_areKeysEnabled. (WebCore::Document::webkitCurrentFullScreenElement): Accessor for m_fullScreenElement. * dom/Element.cpp: (WebCore::Element::webkitRequestFullScreen): Calls Document::webkitRequestFullScreenForElement. * dom/Element.h: * dom/EventNames.h: Add a webkitfullscreenchange event name. * html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute): Parse the new "onwebkitfullscreenchange" attribute and register a listener. * page/ChromeClient.h: (WebCore::ChromeClient::supportsFullscreenForElement): Pass through to the current UI delegate. (WebCore::ChromeClient::enterFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate. (WebCore::ChromeClient::exitFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate. * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: Add a new setting to control runtime support for full screen mode (defaults to off) * rendering/MediaControlElements.cpp: (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): The full screen button now toggles full screen mode (previously, it only entered). * rendering/style/RenderStyleConstants.h: Added new style constants. 2010-08-09 Jer Noble <jer.noble@apple.com> Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 New tests for the new full screen API: full-screen-api.html: tests for the presence of the new full screen apis. full-screen-request.html: tests that clients can request the browser enter full screen mode successfully. full-screen-css.html: tests that the new full screen pseudo classes are applied once full screen mode is entered. full-screen-remove.html: tests that the document's current full screen element is changed when that element is removed from the DOM tree. full-screen-remove-ancestor.html: tests that the document's current full screen element is changed an ancestor of that element is removed from the DOM tree. full-screen-twice.html: tests that entering full screen mode on two different elements in a row does not fail. Tests that were changed: domListEnumeration.html: This test returns a specific count of properties on HTML elements; after consultation with Sam Weinig (the original test author), it was decided that this part of the test would be very difficult to make platform specific, and that nothing significant would be lost if the property count sections were removed. platform/*/Skipped: Added the fullscreen/ directory to the Skipped list for every platform save mac. * fast/dom/Window/window-properties-expected.txt: Added the new properties exposed on Document and Element. * fast/dom/domListEnumeration-expected.txt: Removed the iteration count part of this test. * fast/dom/script-tests/domListEnumeration.js: "" * fullscreen: Added. * platform/mac/fullscreen: Added. * platform/mac/fullscreen/full-screen-api-expected.txt: Added. * platform/mac/fullscreen/full-screen-api.html: Added. * platform/mac/fullscreen/full-screen-css-expected.txt: Added. * platform/mac/fullscreen/full-screen-css.html: Added. * platform/mac/fullscreen/full-screen-remove-ancestor-expected.txt: Added. * platform/mac/fullscreen/full-screen-remove-ancestor.html: Added. * platform/mac/fullscreen/full-screen-remove-expected.txt: Added. * platform/mac/fullscreen/full-screen-remove.html: Added. * platform/mac/fullscreen/full-screen-request-expected.txt: Added. * platform/mac/fullscreen/full-screen-request.html: Added. * platform/mac/fullscreen/full-screen-twice-expected.txt: Added. * platform/mac/fullscreen/full-screen-twice.html: Added. 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 Added basic full screen support to DumpRenderTree: when a webView requests that DumpRenderTree go "full screen", just call the provided callback listener object's will/did Enter/Exit full screen methods. Also, register a new user default which enables full screen support. * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): * DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:supportsFullscreenForElement:]): (-[UIDelegate webView:enterFullscreenForElement:listener:]): (-[UIDelegate webView:exitFullscreenForElement:listener:]): Canonical link: https://commits.webkit.org/57023@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@66251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-08-27 20:49:02 +00:00
EXPECTED (document.defaultView.getComputedStyle(document.documentElement, null).getPropertyValue('color') == 'rgb(0, 0, 255)') OK
EVENT(webkitfullscreenchange)
EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLSpanElement]') OK
EXPECTED (document.defaultView.getComputedStyle(span, null).getPropertyValue('background-color') == 'rgb(0, 255, 0)') OK
EXPECTED (document.defaultView.getComputedStyle(document.documentElement, null).getPropertyValue('background-color') == 'rgb(255, 0, 0)') OK
EXPECTED (document.defaultView.getComputedStyle(document.documentElement, null).getPropertyValue('color') == 'rgb(0, 0, 255)') OK
2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 * wtf/Platform.h: Enable FULLSCREEN_API mode for the Mac (except iOS). 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 Added chrome client overrides which support entering and exiting full screen. A new preference has been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled (defaults to disabled). Added a new WebKitFullScreenListener callback object which notifies WebCore when the chrome has started/finished its full screen animation. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::supportsFullscreenForElement): (WebChromeClient::enterFullscreenForElement): (WebChromeClient::exitFullscreenForElement): (-[WebKitFullScreenListener initWithElement:]): (-[WebKitFullScreenListener webkitWillEnterFullScreen]): (-[WebKitFullScreenListener webkitDidEnterFullScreen]): (-[WebKitFullScreenListener webkitWillExitFullScreen]): (-[WebKitFullScreenListener webkitDidExitFullScreen]): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setFullScreenEnabled:]): (-[WebPreferences fullScreenEnabled]): * WebView/WebUIDelegatePrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 Mozilla has proposed a new set of JavaScript APIs which allow any element in a document to go full-screen. The current revision of their proposal can be found here: <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI&oldid=243429> The proposed specification includes the following: Document: - Three new methods on Document: + void requestFullScreen() + void requestFullScreenWithKeys() + void cancelFullScreen() - Three new attributes of Document: + readonly attribute boolean fullScreen + readonly attribute boolean fullScreenWithKeys + (optional) readonly attribute Element currentFullScreenElement Element: - Two new methods on Element: + void requestFullScreen() + void requestFullScreenWithKeys() Events: - One new event: + fullScreenChange CSS Pseudo-classes: - Three new Pseudo-classes: + :full-screen + :full-screen-doc + :full-screen-root-with-target For WebKit's initial implementation, all the above new APIs will be prefixed with "webkit" or "-webkit" where appropriate. New tests: LayoutTests/fullscreen/full-screen-api.html LayoutTests/fullscreen/full-screen-css.html LayoutTests/fullscreen/full-screen-request.html Project file changes: * Configurations/FeatureDefines.xcconfig: Added an ENABLE_FULLSCREEN_API entry. * DerivedSources.make: Added rules for fullscreen.css and WebCore.FullScreen.exp. * WebCore.FullScreen.exp: Added export symbols for Document and Element functions. * WebCore.xcodeproj/project.pbxproj: New source files added to the project. IDL changes: * dom/Document.idl: Added the new full-screen API to the Document's javascript interface. * dom/Element.idl: Added the new full-screen API to the Element's javascript interface. Source changes: * bindings/objc/PublicDOMInterfaces.h: Exposed Document and Element fullscreen functions in the DOM classes. * css/CSSSelector.cpp: Added new FullScreen pseudo-classes. * css/CSSSelector.h: Added new full-screen pseudo classes to the PseudoType enum. * css/CSSStyleSelector.cpp: (WebCore::loadFullDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle and the defaultQuirksStyle sheets. (WebCore::loadSimpleDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle sheet. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Check for the new FullScreen pseudo classes. * dom/Document.cpp: (WebCore::Document::createEvent): Support creating a "WebKitFullScreenChange" event. (WebCore::Document::addListenerTypeIfNeeded): Support listening for a "webKitFullScreenChangeEvent" (WebCore::Document::webkitRequestFullScreenForElement): Passes request to the chrome client to enter full screen mode. (WebCore::Document::webkitCancelFullScreen): Passes request to the chrome client to exit full screen mode. (WebCore::Document::webkitWillEnterFullScreenForElement): Sets the FullScreen pseudo-classes on the full-screen element and its document. (WebCore::Document::webkitDidEnterFullScreenForElement): Currently a no-op. (WebCore::Document::webkitWillExitFullScreenForElement): Currently a no-op. (WebCore::Document::webkitDidExitFullScreenForElement): Clears the FullScreen pseudo-classes on the full-screen element and its document. * dom/Document.h: Added const accessors for new full-screen instance variables. (WebCore::Document::): (WebCore::Document::webkitIsFullScreen): Accessor for m_isFullScreen. (WebCore::Document::webkitIsFullScreenWithKeysEnabled): Accessor for m_isFullScren and m_areKeysEnabled. (WebCore::Document::webkitCurrentFullScreenElement): Accessor for m_fullScreenElement. * dom/Element.cpp: (WebCore::Element::webkitRequestFullScreen): Calls Document::webkitRequestFullScreenForElement. * dom/Element.h: * dom/EventNames.h: Add a webkitfullscreenchange event name. * html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute): Parse the new "onwebkitfullscreenchange" attribute and register a listener. * page/ChromeClient.h: (WebCore::ChromeClient::supportsFullscreenForElement): Pass through to the current UI delegate. (WebCore::ChromeClient::enterFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate. (WebCore::ChromeClient::exitFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate. * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: Add a new setting to control runtime support for full screen mode (defaults to off) * rendering/MediaControlElements.cpp: (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): The full screen button now toggles full screen mode (previously, it only entered). * rendering/style/RenderStyleConstants.h: Added new style constants. 2010-08-09 Jer Noble <jer.noble@apple.com> Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 https://bugs.webkit.org/show_bug.cgi?id=43099 New tests for the new full screen API: full-screen-api.html: tests for the presence of the new full screen apis. full-screen-request.html: tests that clients can request the browser enter full screen mode successfully. full-screen-css.html: tests that the new full screen pseudo classes are applied once full screen mode is entered. full-screen-remove.html: tests that the document's current full screen element is changed when that element is removed from the DOM tree. full-screen-remove-ancestor.html: tests that the document's current full screen element is changed an ancestor of that element is removed from the DOM tree. full-screen-twice.html: tests that entering full screen mode on two different elements in a row does not fail. Tests that were changed: domListEnumeration.html: This test returns a specific count of properties on HTML elements; after consultation with Sam Weinig (the original test author), it was decided that this part of the test would be very difficult to make platform specific, and that nothing significant would be lost if the property count sections were removed. platform/*/Skipped: Added the fullscreen/ directory to the Skipped list for every platform save mac. * fast/dom/Window/window-properties-expected.txt: Added the new properties exposed on Document and Element. * fast/dom/domListEnumeration-expected.txt: Removed the iteration count part of this test. * fast/dom/script-tests/domListEnumeration.js: "" * fullscreen: Added. * platform/mac/fullscreen: Added. * platform/mac/fullscreen/full-screen-api-expected.txt: Added. * platform/mac/fullscreen/full-screen-api.html: Added. * platform/mac/fullscreen/full-screen-css-expected.txt: Added. * platform/mac/fullscreen/full-screen-css.html: Added. * platform/mac/fullscreen/full-screen-remove-ancestor-expected.txt: Added. * platform/mac/fullscreen/full-screen-remove-ancestor.html: Added. * platform/mac/fullscreen/full-screen-remove-expected.txt: Added. * platform/mac/fullscreen/full-screen-remove.html: Added. * platform/mac/fullscreen/full-screen-request-expected.txt: Added. * platform/mac/fullscreen/full-screen-request.html: Added. * platform/mac/fullscreen/full-screen-twice-expected.txt: Added. * platform/mac/fullscreen/full-screen-twice.html: Added. 2010-07-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 Added basic full screen support to DumpRenderTree: when a webView requests that DumpRenderTree go "full screen", just call the provided callback listener object's will/did Enter/Exit full screen methods. Also, register a new user default which enables full screen support. * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): * DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:supportsFullscreenForElement:]): (-[UIDelegate webView:enterFullscreenForElement:listener:]): (-[UIDelegate webView:exitFullscreenForElement:listener:]): Canonical link: https://commits.webkit.org/57023@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@66251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-08-27 20:49:02 +00:00
END OF TEST