Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Unified Diff: chrome/browser/extensions/content_capabilities_browsertest.cc

Issue 802593003: Implement unlimitedStorage content capability (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/content_capabilities_browsertest.cc
diff --git a/chrome/browser/extensions/content_capabilities_browsertest.cc b/chrome/browser/extensions/content_capabilities_browsertest.cc
index 5a4114d5820e14769d742ce6dabfb05026ad53ee..69bf43dba3d3d2963947ac10bbdea1dbb0e4daf7 100644
--- a/chrome/browser/extensions/content_capabilities_browsertest.cc
+++ b/chrome/browser/extensions/content_capabilities_browsertest.cc
@@ -13,6 +13,7 @@
#include "base/strings/stringprintf.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/extensions/test_extension_dir.h"
+#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/test/base/ui_test_utils.h"
@@ -24,6 +25,7 @@
#include "extensions/common/url_pattern.h"
#include "net/dns/mock_host_resolver.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
+#include "storage/browser/quota/special_storage_policy.h"
using extensions::DictionaryBuilder;
using extensions::Extension;
@@ -103,22 +105,34 @@ class ContentCapabilitiesTest : public ExtensionApiTest {
// the given extension. This is used to wrap calls into the JS test functions
// defined by
// $(DIR_TEST_DATA)/extensions/content_capabilities/capability_tests.js.
- bool TestContentCapability(const Extension* extension,
- const char* origin,
- const char* code) {
+ testing::AssertionResult TestScriptResult(const Extension* extension,
+ const char* origin,
+ const char* code) {
ui_test_utils::NavigateToURL(browser(), GetTestURLFor(origin));
bool result = false;
- CHECK(content::ExecuteScriptAndExtractBool(web_contents(), code, &result));
- return result;
+ if (!content::ExecuteScriptAndExtractBool(web_contents(), code, &result))
+ return testing::AssertionFailure() << "Could not execute test script.";
+ if (!result)
+ return testing::AssertionFailure();
+ return testing::AssertionSuccess();
}
- bool CanReadClipboard(const Extension* extension, const char* origin) {
- return TestContentCapability(extension, origin, "tests.canReadClipboard()");
+ testing::AssertionResult CanReadClipboard(const Extension* extension,
+ const char* origin) {
+ return TestScriptResult(extension, origin, "tests.canReadClipboard()");
}
- bool CanWriteClipboard(const Extension* extension, const char* origin) {
- return TestContentCapability(extension, origin,
- "tests.canWriteClipboard()");
+ testing::AssertionResult CanWriteClipboard(const Extension* extension,
+ const char* origin) {
+ return TestScriptResult(extension, origin, "tests.canWriteClipboard()");
+ }
+
+ testing::AssertionResult HasUnlimitedStorage(const Extension* extension,
+ const char* origin) {
+ if (profile()->GetSpecialStoragePolicy()->IsStorageUnlimited(
+ GetTestURLFor(origin)))
+ return testing::AssertionSuccess();
+ return testing::AssertionFailure();
}
private:
@@ -131,6 +145,7 @@ IN_PROC_BROWSER_TEST_F(ContentCapabilitiesTest, NoCapabilities) {
MakeJSONList("http://foo.example.com/*"), MakeJSONList());
EXPECT_FALSE(CanReadClipboard(extension.get(), "foo.example.com"));
EXPECT_FALSE(CanWriteClipboard(extension.get(), "foo.example.com"));
+ EXPECT_FALSE(HasUnlimitedStorage(extension.get(), "foo.example.com"));
}
IN_PROC_BROWSER_TEST_F(ContentCapabilitiesTest, ClipboardRead) {
@@ -161,3 +176,12 @@ IN_PROC_BROWSER_TEST_F(ContentCapabilitiesTest, ClipboardReadWrite) {
EXPECT_FALSE(CanReadClipboard(extension.get(), "bar.example.com"));
EXPECT_FALSE(CanWriteClipboard(extension.get(), "bar.example.com"));
}
+
+IN_PROC_BROWSER_TEST_F(ContentCapabilitiesTest, UnlimitedStorage) {
+ InitializeTestServer();
+ scoped_refptr<const Extension> extension = LoadExtensionWithCapabilities(
+ MakeJSONList("http://foo.example.com/*"),
+ MakeJSONList("unlimitedStorage"));
+ EXPECT_TRUE(HasUnlimitedStorage(extension.get(), "foo.example.com"));
+ EXPECT_FALSE(HasUnlimitedStorage(extension.get(), "bar.example.com"));
+}

Powered by Google App Engine
This is Rietveld 408576698