summaryrefslogtreecommitdiffstats
path: root/content/shell
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-21 17:55:55 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-21 17:55:55 +0000
commitf0c25f02bcf2690ca6a24e7be72fd7be87c7198c (patch)
treed3a7d693c468aaac53616381006985b905f22221 /content/shell
parent390f837febccbc849abad049f013678ed87cbf66 (diff)
downloadchromium_src-f0c25f02bcf2690ca6a24e7be72fd7be87c7198c.zip
chromium_src-f0c25f02bcf2690ca6a24e7be72fd7be87c7198c.tar.gz
chromium_src-f0c25f02bcf2690ca6a24e7be72fd7be87c7198c.tar.bz2
[content shell] don't use WebTestRunner::WebPreferences in the browser process
Instead, I've added a function that applies the differing defaults, and we only override the entire WebPreferences when a renderer asks us to. BUG=111316 TEST=running layout tests in single process mode shouldn't crash immediately Review URL: https://chromiumcodereview.appspot.com/11666008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174410 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/shell')
-rw-r--r--content/shell/webkit_test_controller.cc11
-rw-r--r--content/shell/webkit_test_controller.h1
-rw-r--r--content/shell/webkit_test_helpers.cc45
-rw-r--r--content/shell/webkit_test_helpers.h5
4 files changed, 25 insertions, 37 deletions
diff --git a/content/shell/webkit_test_controller.cc b/content/shell/webkit_test_controller.cc
index 25557ee..7b28276 100644
--- a/content/shell/webkit_test_controller.cc
+++ b/content/shell/webkit_test_controller.cc
@@ -19,12 +19,9 @@
#include "content/shell/shell_messages.h"
#include "content/shell/shell_switches.h"
#include "content/shell/webkit_test_helpers.h"
-#include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/WebPreferences.h"
#include "webkit/fileapi/isolated_context.h"
#include "webkit/support/webkit_support_gfx.h"
-using WebTestRunner::WebPreferences;
-
namespace content {
namespace {
@@ -194,7 +191,7 @@ bool WebKitTestController::ResetAfterLayoutTest() {
wait_until_done_ = false;
did_finish_load_ = false;
prefs_ = webkit_glue::WebPreferences();
- ExportLayoutTestSpecificPreferences(WebPreferences(), &prefs_);
+ should_override_prefs_ = false;
{
base::AutoLock lock(lock_);
can_open_windows_ = false;
@@ -217,7 +214,10 @@ void WebKitTestController::RendererUnresponsive() {
void WebKitTestController::OverrideWebkitPrefs(
webkit_glue::WebPreferences* prefs) {
- CopyLayoutTestSpecificPreferences(prefs_, prefs);
+ if (should_override_prefs_)
+ *prefs = prefs_;
+ else
+ ApplyLayoutTestDefaultPreferences(prefs);
}
bool WebKitTestController::CanOpenWindows() const {
@@ -386,6 +386,7 @@ void WebKitTestController::OnReadFileToString(const FilePath& local_file,
void WebKitTestController::OnOverridePreferences(
const webkit_glue::WebPreferences& prefs) {
+ should_override_prefs_ = true;
prefs_ = prefs;
}
diff --git a/content/shell/webkit_test_controller.h b/content/shell/webkit_test_controller.h
index f8566139..17f01fc 100644
--- a/content/shell/webkit_test_controller.h
+++ b/content/shell/webkit_test_controller.h
@@ -149,6 +149,7 @@ class WebKitTestController : public base::NonThreadSafe,
bool did_finish_load_;
webkit_glue::WebPreferences prefs_;
+ bool should_override_prefs_;
base::CancelableClosure watchdog_;
diff --git a/content/shell/webkit_test_helpers.cc b/content/shell/webkit_test_helpers.cc
index 00fc233..0ca1d17 100644
--- a/content/shell/webkit_test_helpers.cc
+++ b/content/shell/webkit_test_helpers.cc
@@ -44,35 +44,22 @@ void ExportLayoutTestSpecificPreferences(const WebPreferences& from,
to->should_respect_image_orientation = from.shouldRespectImageOrientation;
}
-void CopyLayoutTestSpecificPreferences(const webkit_glue::WebPreferences& from,
- webkit_glue::WebPreferences* to) {
- to->allow_universal_access_from_file_urls =
- from.allow_universal_access_from_file_urls;
- to->dom_paste_enabled = from.dom_paste_enabled;
- to->javascript_can_access_clipboard = from.javascript_can_access_clipboard;
- to->xss_auditor_enabled = from.xss_auditor_enabled;
- to->editing_behavior = from.editing_behavior;
- to->default_font_size = from.default_font_size;
- to->minimum_font_size = from.minimum_font_size;
- to->default_encoding = from.default_encoding;
- to->javascript_enabled = from.javascript_enabled;
- to->supports_multiple_windows = from.supports_multiple_windows;
- to->loads_images_automatically = from.loads_images_automatically;
- to->plugins_enabled = from.plugins_enabled;
- to->java_enabled = from.java_enabled;
- to->uses_page_cache = from.uses_page_cache;
- to->page_cache_supports_plugins = from.page_cache_supports_plugins;
- to->application_cache_enabled = from.application_cache_enabled;
- to->tabs_to_links = from.tabs_to_links;
- to->experimental_webgl_enabled = from.experimental_webgl_enabled;
- to->css_grid_layout_enabled = from.css_grid_layout_enabled;
- to->hyperlink_auditing_enabled = from.hyperlink_auditing_enabled;
- to->caret_browsing_enabled = from.caret_browsing_enabled;
- to->allow_displaying_insecure_content =
- from.allow_displaying_insecure_content;
- to->allow_running_insecure_content = from.allow_running_insecure_content;
- to->css_shaders_enabled = from.css_shaders_enabled;
- to->should_respect_image_orientation = from.should_respect_image_orientation;
+void ApplyLayoutTestDefaultPreferences(webkit_glue::WebPreferences* prefs) {
+ prefs->allow_universal_access_from_file_urls = true;
+ prefs->dom_paste_enabled = true;
+ prefs->javascript_can_access_clipboard = true;
+ prefs->xss_auditor_enabled = false;
+#if defined(OS_MACOSX)
+ prefs->editing_behavior = webkit_glue::WebPreferences::EDITING_BEHAVIOR_MAC;
+#else
+ prefs->editing_behavior = webkit_glue::WebPreferences::EDITING_BEHAVIOR_WIN;
+#endif
+ prefs->java_enabled = false;
+ prefs->application_cache_enabled = true;
+ prefs->tabs_to_links = false;
+ prefs->hyperlink_auditing_enabled = false;
+ prefs->allow_displaying_insecure_content = true;
+ prefs->allow_running_insecure_content = true;
}
} // namespace content
diff --git a/content/shell/webkit_test_helpers.h b/content/shell/webkit_test_helpers.h
index 2a1edb4..4cb9626 100644
--- a/content/shell/webkit_test_helpers.h
+++ b/content/shell/webkit_test_helpers.h
@@ -22,9 +22,8 @@ namespace content {
void ExportLayoutTestSpecificPreferences(
const WebTestRunner::WebPreferences& from, webkit_glue::WebPreferences* to);
-// Copies the settings relevant to layout tests.
-void CopyLayoutTestSpecificPreferences(const webkit_glue::WebPreferences& from,
- webkit_glue::WebPreferences* to);
+// Applies settings that differ between layout tests and regular mode.
+void ApplyLayoutTestDefaultPreferences(webkit_glue::WebPreferences* prefs);
} // namespace content