diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-25 08:52:47 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-25 08:52:47 +0000 |
commit | fa1b5dace74e745d2484012f98559d69825078f5 (patch) | |
tree | e25b919f546afd26209ac1a8351362571c2f30bf | |
parent | a84d37604865e6d46dbbcf43af5f974e687f55a9 (diff) | |
download | chromium_src-fa1b5dace74e745d2484012f98559d69825078f5.zip chromium_src-fa1b5dace74e745d2484012f98559d69825078f5.tar.gz chromium_src-fa1b5dace74e745d2484012f98559d69825078f5.tar.bz2 |
Revert r24223. Storage test is not working.
TBR=mpcomplete@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24226 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/extensions/extension_storage_apitest.cc | 9 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_view_host.cc | 12 | ||||
-rw-r--r-- | chrome/browser/tab_contents/render_view_host_delegate_helper.cc | 8 | ||||
-rw-r--r-- | chrome/chrome.gyp | 1 | ||||
-rw-r--r-- | chrome/common/render_messages.h | 2 | ||||
-rw-r--r-- | chrome/renderer/render_thread.cc | 7 | ||||
-rwxr-xr-x | chrome/test/data/extensions/api_test/storage/api_test.js | 77 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/storage/background.html | 22 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/storage/manifest.json | 7 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/storage/tab.html | 17 | ||||
-rw-r--r-- | webkit/glue/webpreferences.cc | 3 | ||||
-rw-r--r-- | webkit/glue/webpreferences.h | 2 |
12 files changed, 15 insertions, 152 deletions
diff --git a/chrome/browser/extensions/extension_storage_apitest.cc b/chrome/browser/extensions/extension_storage_apitest.cc deleted file mode 100644 index b75cc0e..0000000 --- a/chrome/browser/extensions/extension_storage_apitest.cc +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/extensions/extension_apitest.h" - -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Storage) { - ASSERT_TRUE(RunExtensionTest("storage")) << message_; -} diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc index 7206dfc..d028db5 100644 --- a/chrome/browser/renderer_host/render_view_host.cc +++ b/chrome/browser/renderer_host/render_view_host.cc @@ -208,20 +208,10 @@ bool RenderViewHost::CreateRenderView() { modal_dialog_event.event = modal_dialog_event_handle; #endif - // Force local storage to be enabled for extensions. This is so that we can - // enable extensions by default before databases, if necessary. - // TODO(aa): This should be removed when local storage and databases are - // enabled by default (bugs 4359 and 4360). - WebPreferences webkit_prefs = delegate_->GetWebkitPrefs(); - if (delegate_->GetURL().SchemeIs(chrome::kExtensionScheme)) { - webkit_prefs.local_storage_enabled = true; - webkit_prefs.databases_enabled = true; - } - Send(new ViewMsg_New(GetNativeViewId(), modal_dialog_event, delegate_->GetRendererPrefs(), - webkit_prefs, + delegate_->GetWebkitPrefs(), routing_id())); // Set the alternate error page, which is profile specific, in the renderer. 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 184fc5e..5146caf 100644 --- a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc +++ b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc @@ -179,10 +179,12 @@ WebPreferences RenderViewHostDelegateHelper::GetWebkitPrefs( web_prefs.application_cache_enabled = command_line.HasSwitch(switches::kEnableApplicationCache); + // NOTE: We imply local storage enabledness for extensions because the + // extensions team is beta testing local storage and we like to live on the + // edge. web_prefs.local_storage_enabled = - command_line.HasSwitch(switches::kEnableLocalStorage); - web_prefs.databases_enabled = - command_line.HasSwitch(switches::kEnableDatabases); + command_line.HasSwitch(switches::kEnableLocalStorage) || + command_line.HasSwitch(switches::kEnableExtensions); web_prefs.session_storage_enabled = command_line.HasSwitch(switches::kEnableSessionStorage); } diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 3bfdf95..97b2fed 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -53,7 +53,6 @@ 'browser/extensions/extension_browsertests_misc.cc', 'browser/extensions/extension_shelf_model_unittest.cc', 'browser/extensions/extension_startup_unittest.cc', - 'browser/extensions/extension_storage_apitest.cc', 'browser/views/browser_views_accessibility_browsertest.cc', 'browser/views/find_bar_win_browsertest.cc', # TODO(jam): http://crbug.com/15101 These tests fail on Linux and Mac. diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h index 32a2e33..aeda43d 100644 --- a/chrome/common/render_messages.h +++ b/chrome/common/render_messages.h @@ -1622,7 +1622,6 @@ struct ParamTraits<WebPreferences> { WriteParam(m, p.remote_fonts_enabled); WriteParam(m, p.xss_auditor_enabled); WriteParam(m, p.local_storage_enabled); - WriteParam(m, p.databases_enabled); WriteParam(m, p.session_storage_enabled); WriteParam(m, p.application_cache_enabled); } @@ -1657,7 +1656,6 @@ struct ParamTraits<WebPreferences> { ReadParam(m, iter, &p->remote_fonts_enabled) && ReadParam(m, iter, &p->xss_auditor_enabled) && ReadParam(m, iter, &p->local_storage_enabled) && - ReadParam(m, iter, &p->databases_enabled) && ReadParam(m, iter, &p->session_storage_enabled) && ReadParam(m, iter, &p->application_cache_enabled); } diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc index 4b6c60a..c6e5b17 100644 --- a/chrome/renderer/render_thread.cc +++ b/chrome/renderer/render_thread.cc @@ -415,6 +415,13 @@ void RenderThread::EnsureWebKitInitialized() { if (RenderProcess::current()->initialized_media_library()) WebKit::enableMediaPlayer(); + + // Note: We are forcing --enable-databases to on with --enable-extensions so + // that extension developers can test databases. + if (command_line.HasSwitch(switches::kEnableDatabases) || + command_line.HasSwitch(switches::kEnableExtensions)) { + WebKit::enableDatabases(); + } } void RenderThread::OnExtensionMessageInvoke(const std::string& function_name, diff --git a/chrome/test/data/extensions/api_test/storage/api_test.js b/chrome/test/data/extensions/api_test/storage/api_test.js deleted file mode 100755 index 985cff3..0000000 --- a/chrome/test/data/extensions/api_test/storage/api_test.js +++ /dev/null @@ -1,77 +0,0 @@ -// api_test.js
-// mini-framework for ExtensionApiTest browser tests
-// TODO(erikkay) - figure out a way to share this code across extensions
-
-var completed = false;
-var tests;
-var currentTest;
-
-function complete() {
- completed = true;
-
- // a bit of a hack just to try to get the script to stop running at this point
- throw "completed";
-}
-
-function fail(message) {
- if (completed) throw "completed";
-
- var stack;
- try {
- crash.me += 0; // intentional exception to get the stack trace
- } catch (e) {
- stack = e.stack.split("\n");
- stack = stack.slice(2); // remove title and fail()
- stack = stack.join("\n");
- }
-
- if (!message) {
- message = "FAIL (no message)";
- }
- message += "\n" + stack;
- console.log("[FAIL] " + currentTest.name + ": " + message);
- chrome.test.fail(message);
- complete();
-}
-
-function allTestsSucceeded() {
- console.log("All tests succeeded");
- if (completed) throw "completed";
-
- chrome.test.pass();
- complete();
-}
-
-function runNextTest() {
- currentTest = tests.shift();
- if (!currentTest) {
- allTestsSucceeded();
- return;
- }
- currentTest.call();
-}
-
-function succeed() {
- console.log("[SUCCESS] " + currentTest.name);
- runNextTest();
-}
-
-window.onerror = function(message, url, code) {
- if (completed) return;
-
- fail(message);
-};
-
-function expectTrue(test, message) {
- if (test !== true) {
- if (typeof(test) == "string") {
- if (message) {
- message = test + "\n" + message;
- } else {
- message = test;
- }
- }
- fail(message);
- }
-}
-
diff --git a/chrome/test/data/extensions/api_test/storage/background.html b/chrome/test/data/extensions/api_test/storage/background.html deleted file mode 100644 index b704b2d..0000000 --- a/chrome/test/data/extensions/api_test/storage/background.html +++ /dev/null @@ -1,22 +0,0 @@ -<script>
- // store some stuff in local storage
- localStorage.foo = "bar";
-
- // store some stuff in a database
- var db = window.openDatabase("mydb2", "1.0", "database test");
- db.transaction(function(tx) {
- tx.executeSql("drop table if exists note");
- tx.executeSql("create table note (body text)", []);
- tx.executeSql("insert into note values ('hotdog')", []);
- }, function(error) {
- fail(error.message);
- });
-
- // Open a tab. This doesn't really prove we're writing to disk, but it is
- // difficult to prove that without shutting down the process. We'll just
- // trust that if this next trick works, that the real testing for local
- // storage is good enough to catch more subtle errors.
- chrome.tabs.create({
- url: "tab.html"
- });
-</script>
diff --git a/chrome/test/data/extensions/api_test/storage/manifest.json b/chrome/test/data/extensions/api_test/storage/manifest.json deleted file mode 100644 index 0e167e4..0000000 --- a/chrome/test/data/extensions/api_test/storage/manifest.json +++ /dev/null @@ -1,7 +0,0 @@ -{
- "name": "chrome.storage",
- "version": "0.1",
- "description": "sanity test that storage is always enabled for extensions",
- "background_page": "background.html",
- "permissions": ["tabs"]
-}
diff --git a/chrome/test/data/extensions/api_test/storage/tab.html b/chrome/test/data/extensions/api_test/storage/tab.html deleted file mode 100644 index b52fdc3..0000000 --- a/chrome/test/data/extensions/api_test/storage/tab.html +++ /dev/null @@ -1,17 +0,0 @@ -<script src="api_test.js"></script>
-<script>
- // Check that the localstorage stuff we stored is still there.
- expectTrue(localStorage.foo == "bar");
-
- // Check that the database stuff we stored is still there.
- var db = window.openDatabase("mydb2", "1.0", "database test", 2048);
- db.transaction(function(tx) {
- tx.executeSql("select body from note", [], function(tx, results) {
- expectTrue(results.rows.length == 1);
- expectTrue(results.rows.item(0).body == "hotdog");
- allTestsSucceeded();
- });
- }, function(error) {
- fail(error.message);
- });
-</script>
diff --git a/webkit/glue/webpreferences.cc b/webkit/glue/webpreferences.cc index 785bdbf..e14788e 100644 --- a/webkit/glue/webpreferences.cc +++ b/webkit/glue/webpreferences.cc @@ -48,7 +48,6 @@ void WebPreferences::Apply(WebView* web_view) const { settings->setDownloadableBinaryFontsEnabled(remote_fonts_enabled); settings->setXSSAuditorEnabled(xss_auditor_enabled); settings->setLocalStorageEnabled(local_storage_enabled); - settings->setDatabasesEnabled(WebKit::databasesEnabled() || databases_enabled); settings->setSessionStorageEnabled(session_storage_enabled); settings->setOfflineWebApplicationCacheEnabled(application_cache_enabled); @@ -64,6 +63,8 @@ void WebPreferences::Apply(WebView* web_view) const { // Turn this on to cause WebCore to paint the resize corner for us. settings->setShouldPaintCustomScrollbars(true); + settings->setDatabasesEnabled(WebKit::databasesEnabled()); + // Mitigate attacks from local HTML files by not granting file:// URLs // universal access. settings->setAllowUniversalAccessFromFileURLs(false); diff --git a/webkit/glue/webpreferences.h b/webkit/glue/webpreferences.h index f0ab0bb..c48339fa 100644 --- a/webkit/glue/webpreferences.h +++ b/webkit/glue/webpreferences.h @@ -45,7 +45,6 @@ struct WebPreferences { bool remote_fonts_enabled; bool xss_auditor_enabled; bool local_storage_enabled; - bool databases_enabled; bool session_storage_enabled; bool application_cache_enabled; @@ -86,7 +85,6 @@ struct WebPreferences { remote_fonts_enabled(false), xss_auditor_enabled(false), local_storage_enabled(false), - databases_enabled(false), session_storage_enabled(false), application_cache_enabled(false), user_style_sheet_enabled(false) { |