Bug 50572

Summary: [GTK] Support the Mozilla-style Fullscreen Javascript API
Product: WebKit Reporter: Philippe Normand <pnormand>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
proposed patch
mrobinson: review-
proposed patch
mrobinson: review+
2010-12-06 Philippe Normand <pnormand@igalia.com> mrobinson: review+

Philippe Normand
Reported 2010-12-06 09:53:05 PST
See also Bug 43099. A new setting in WebView will be needed.
Attachments
proposed patch (15.94 KB, patch)
2010-12-06 12:38 PST, Philippe Normand
mrobinson: review-
proposed patch (15.56 KB, patch)
2010-12-08 08:45 PST, Philippe Normand
mrobinson: review+
2010-12-06 Philippe Normand <pnormand@igalia.com> (18.76 KB, patch)
2010-12-09 03:57 PST, Philippe Normand
mrobinson: review+
Philippe Normand
Comment 1 2010-12-06 12:38:45 PST
Created attachment 75731 [details] proposed patch
Philippe Normand
Comment 2 2010-12-06 12:41:50 PST
Since r72321 the fullscreen css is not loaded though... So setting an element to fullscreen has no effect currently, the fullscreen tests pass however ;) I'll probably open a separate bug for that issue.
Philippe Normand
Comment 3 2010-12-06 13:45:03 PST
Later on we could adapt our FullscreenController or create a new one like in Bug 49481
Martin Robinson
Comment 4 2010-12-08 07:30:37 PST
Comment on attachment 75731 [details] proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=75731&action=review Looks good. The only two issues I have are preventing the documentation from being in our public documentation and the naming of the configure variables. > WebKit/gtk/webkit/webkitwebsettings.cpp:913 > + /** > + * WebKitWebSettings:enable-javascript-fullscreen: > + * > + * Enable or disable support for the Javascript Fullscreen API. > + * > + * Since: 1.3.8 > + */ Let's leave this undocumented or unparsed now for now, so that it is private. I don't think we should expose this until other Mac does. > configure.ac:475 > + AC_HELP_STRING([--enable-javascript-fullscreen], I think this should be --enable-fullscreen-api to match the flags on build-webkit and the #ifdef. > configure.ac:478 > +AC_MSG_RESULT([$enable_javascript_fullscreen]) Ditto. > configure.ac:960 > +AM_CONDITIONAL([ENABLE_JAVASCRIPT_FULLSCREEN],[test "$enable_javascript_fullscreen" = "yes"]) Ditto. > configure.ac:1031 > + Javascript Fullscreen support : $enable_javascript_fullscreen Ditto.
Philippe Normand
Comment 5 2010-12-08 08:45:06 PST
Created attachment 75909 [details] proposed patch
Martin Robinson
Comment 6 2010-12-09 03:30:59 PST
Comment on attachment 75909 [details] proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=75909&action=review Thanks! Please fix the small issue before landing. > configure.ac:474 > +AC_ARG_ENABLE(javascript_fullscreen, Better say fullscreen_api here to match the rest of the call.
Philippe Normand
Comment 7 2010-12-09 03:57:58 PST
Created attachment 76042 [details] 2010-12-06 Philippe Normand <pnormand@igalia.com> Reviewed by Martin Robinson. [GTK] Support the Mozilla-style Fullscreen Javascript API https://bugs.webkit.org/show_bug.cgi?id=50572 * configure.ac: new configure flag to disable the new Javascript Fullscreen API build. It is enabled by default. WebCore: Reviewed by Martin Robinson. [GTK] Support the Mozilla-style Fullscreen Javascript API https://bugs.webkit.org/show_bug.cgi?id=50572 * GNUmakefile.am: enable the Javascript Fullscreen API feature if it's been requested at configure time. WebKit/gtk: Reviewed by Martin Robinson. [GTK] Support the Mozilla-style Fullscreen Javascript API https://bugs.webkit.org/show_bug.cgi?id=50572 Fullscreen API support. It is controlled at runtime using a new setting called enable-fullscreen, set to FALSE by default. * WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::supportsFullScreenForElement): (WebKit::ChromeClient::enterFullScreenForElement): (WebKit::ChromeClient::exitFullScreenForElement): * WebCoreSupport/ChromeClientGtk.h: * webkit/webkitwebsettings.cpp: (webkit_web_settings_class_init): (webkit_web_settings_set_property): (webkit_web_settings_get_property): (webkit_web_settings_copy): * webkit/webkitwebview.cpp: (webkit_web_view_update_settings): WebKitTools: Reviewed by Martin Robinson. [GTK] Support the Mozilla-style Fullscreen Javascript API https://bugs.webkit.org/show_bug.cgi?id=50572 Enable the Javascript Fullscreen support in the GtkLauncher. Also make DRT update the Chrome when the WebView settings have been reset to consistent values. * DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): * GtkLauncher/main.c: (create_window): * Scripts/build-webkit: LayoutTests: Reviewed by Martin Robinson. [GTK] Support the Mozilla-style Fullscreen Javascript API https://bugs.webkit.org/show_bug.cgi?id=50572 * platform/gtk/Skipped: Unskip now passing fullscreen tests.
Martin Robinson
Comment 8 2010-12-09 10:27:58 PST
Comment on attachment 76042 [details] 2010-12-06 Philippe Normand <pnormand@igalia.com> Yay!
Philippe Normand
Comment 9 2010-12-09 10:33:44 PST
Note You need to log in before you can comment on or make changes to this bug.