summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddorwin@chromium.org <ddorwin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-02 22:22:48 +0000
committerddorwin@chromium.org <ddorwin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-02 22:22:48 +0000
commit15e9adfc964aed111bb25bf994a1b837c8e4eea5 (patch)
tree5c2dc7e0be6cb18b0e416acf7f1c75cbaaef4f9b
parent967d18bad65a0dc0cf8d0207cbd2cf82651752b8 (diff)
downloadchromium_src-15e9adfc964aed111bb25bf994a1b837c8e4eea5.zip
chromium_src-15e9adfc964aed111bb25bf994a1b837c8e4eea5.tar.gz
chromium_src-15e9adfc964aed111bb25bf994a1b837c8e4eea5.tar.bz2
Re-applying r76324, which was reverted during a WebKit rollback.
Build WebKit Full Screen API. Support is disabled by default; enable with --enable-fullscreen. Commit after WK bug 44797 (r79774). BUG=16735 TEST=fullscreen layout tests. Review URL: http://codereview.chromium.org/6576004 Review URL: http://codereview.chromium.org/6597112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76631 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--build/features_override.gypi1
-rw-r--r--chrome/browser/tab_contents/render_view_host_delegate_helper.cc3
-rw-r--r--chrome/common/chrome_switches.cc3
-rw-r--r--chrome/common/chrome_switches.h1
-rw-r--r--chrome/common/render_messages.cc4
-rw-r--r--webkit/glue/webpreferences.cc5
-rw-r--r--webkit/glue/webpreferences.h1
7 files changed, 16 insertions, 2 deletions
diff --git a/build/features_override.gypi b/build/features_override.gypi
index 4cb834b..cc62e0a 100644
--- a/build/features_override.gypi
+++ b/build/features_override.gypi
@@ -28,6 +28,7 @@
'ENABLE_JAVASCRIPT_I18N_API=1',
'ENABLE_FILE_SYSTEM=1',
'ENABLE_FILTERS=1',
+ 'ENABLE_FULLSCREEN_API=1',
'ENABLE_GEOLOCATION=1',
'ENABLE_ICONDATABASE=0',
'ENABLE_INDEXED_DATABASE=1',
diff --git a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc
index 7903747..76bde5a 100644
--- a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc
+++ b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc
@@ -305,6 +305,9 @@ WebPreferences RenderViewHostDelegateHelper::GetWebkitPrefs(
!command_line.HasSwitch(switches::kNoPings);
web_prefs.interactive_form_validation_enabled =
!command_line.HasSwitch(switches::kDisableInteractiveFormValidation);
+ web_prefs.fullscreen_enabled =
+ command_line.HasSwitch(switches::kEnableFullScreen);
+
// The user stylesheet watcher may not exist in a testing profile.
if (profile->GetUserStyleSheetWatcher()) {
web_prefs.user_style_sheet_enabled = true;
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index ec965ca..e997d4f 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -533,6 +533,9 @@ const char kEnableHistoryQuickProvider[] = "enable-history-quick-provider";
// Enable FileSystem API URLs.
const char kEnableFileSystemURLScheme[] = "enable-filesystem-url-scheme";
+// Enable the JavaScript Full Screen API.
+const char kEnableFullScreen[] = "enable-fullscreen";
+
// Enable the in-browser thumbnailing, which is more efficient than the
// in-renderer thumbnailing, as we can use more information to determine
// if we need to update thumbnails.
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 0f2afed..cfe1029 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -156,6 +156,7 @@ extern const char kEnableExtensionTimelineApi[];
extern const char kEnableFastback[];
extern const char kEnableFileCookies[];
extern const char kEnableFileSystemURLScheme[];
+extern const char kEnableFullScreen[];
extern const char kEnableGPUPlugin[];
extern const char kEnableHistoryQuickProvider[];
extern const char kEnableInBrowserThumbnailing[];
diff --git a/chrome/common/render_messages.cc b/chrome/common/render_messages.cc
index 300106a..a85ae5e 100644
--- a/chrome/common/render_messages.cc
+++ b/chrome/common/render_messages.cc
@@ -680,6 +680,7 @@ void ParamTraits<WebPreferences>::Write(Message* m, const param_type& p) {
WriteParam(m, p.accelerated_video_enabled);
WriteParam(m, p.memory_info_enabled);
WriteParam(m, p.interactive_form_validation_enabled);
+ WriteParam(m, p.fullscreen_enabled);
}
bool ParamTraits<WebPreferences>::Read(const Message* m, void** iter,
@@ -736,7 +737,8 @@ bool ParamTraits<WebPreferences>::Read(const Message* m, void** iter,
ReadParam(m, iter, &p->accelerated_layers_enabled) &&
ReadParam(m, iter, &p->accelerated_video_enabled) &&
ReadParam(m, iter, &p->memory_info_enabled) &&
- ReadParam(m, iter, &p->interactive_form_validation_enabled);
+ ReadParam(m, iter, &p->interactive_form_validation_enabled) &&
+ ReadParam(m, iter, &p->fullscreen_enabled);
}
void ParamTraits<WebPreferences>::Log(const param_type& p, std::string* l) {
diff --git a/webkit/glue/webpreferences.cc b/webkit/glue/webpreferences.cc
index 252b83d..0edac2f 100644
--- a/webkit/glue/webpreferences.cc
+++ b/webkit/glue/webpreferences.cc
@@ -72,7 +72,8 @@ WebPreferences::WebPreferences()
accelerated_2d_canvas_enabled(false),
accelerated_plugins_enabled(false),
memory_info_enabled(false),
- interactive_form_validation_enabled(true) {
+ interactive_form_validation_enabled(true),
+ fullscreen_enabled(false) {
}
WebPreferences::~WebPreferences() {
@@ -205,4 +206,6 @@ void WebPreferences::Apply(WebView* web_view) const {
settings->setInteractiveFormValidationEnabled(
interactive_form_validation_enabled);
+
+ settings->setFullScreenEnabled(fullscreen_enabled);
}
diff --git a/webkit/glue/webpreferences.h b/webkit/glue/webpreferences.h
index 1b07b76..aed98ba 100644
--- a/webkit/glue/webpreferences.h
+++ b/webkit/glue/webpreferences.h
@@ -79,6 +79,7 @@ struct WebPreferences {
bool accelerated_plugins_enabled;
bool memory_info_enabled;
bool interactive_form_validation_enabled;
+ bool fullscreen_enabled;
// We try to keep the default values the same as the default values in
// chrome, except for the cases where it would require lots of extra work for