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

Unified Diff: chrome/common/extensions/extension_manifests_unittest.cc

Issue 9741002: Adding file access permissions to fileBrowserHandler manifest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: .. Created 8 years, 9 months 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/common/extensions/extension_manifests_unittest.cc
diff --git a/chrome/common/extensions/extension_manifests_unittest.cc b/chrome/common/extensions/extension_manifests_unittest.cc
index 94fd1cd62d4b97543de67b034f756a80c719e18e..0ec9160064a9192abd5547de9f44ee29eda20212 100644
--- a/chrome/common/extensions/extension_manifests_unittest.cc
+++ b/chrome/common/extensions/extension_manifests_unittest.cc
@@ -983,6 +983,13 @@ TEST_F(ExtensionManifestTest, IsolatedApps) {
TEST_F(ExtensionManifestTest, FileBrowserHandlers) {
+ LoadAndExpectError("filebrowser_invalid_access_permission.json",
+ ExtensionErrorUtils::FormatErrorMessage(
+ errors::kInvalidFileAccessValue, base::IntToString(1)));
+ LoadAndExpectError("filebrowser_invalid_access_permission_list.json",
+ errors::kInvalidFileAccessList);
+ LoadAndExpectError("filebrowser_invalid_empty_access_permission_list.json",
+ errors::kInvalidFileAccessList);
LoadAndExpectError("filebrowser_invalid_actions_1.json",
errors::kInvalidFileBrowserHandler);
LoadAndExpectError("filebrowser_invalid_actions_2.json",
@@ -1014,6 +1021,23 @@ TEST_F(ExtensionManifestTest, FileBrowserHandlers) {
ASSERT_EQ(patterns.patterns().size(), 1U);
ASSERT_TRUE(action->MatchesURL(
GURL("filesystem:chrome-extension://foo/local/test.txt")));
+ ASSERT_FALSE(action->CanCreate());
+ ASSERT_TRUE(action->CanRead());
+ ASSERT_TRUE(action->CanWrite());
+
+ scoped_refptr<Extension> create_extension(
+ LoadAndExpectSuccess("filebrowser_valid_with_create.json"));
+ ASSERT_TRUE(create_extension->file_browser_handlers() != NULL);
+ ASSERT_EQ(create_extension->file_browser_handlers()->size(), 1U);
+ const FileBrowserHandler* create_action =
+ create_extension->file_browser_handlers()->at(0).get();
+ EXPECT_EQ(create_action->title(), "Default title");
+ EXPECT_EQ(create_action->icon_path(), "icon.png");
+ const URLPatternSet& create_patterns = create_action->file_url_patterns();
+ ASSERT_EQ(create_patterns.patterns().size(), 0U);
+ ASSERT_TRUE(create_action->CanCreate());
+ ASSERT_FALSE(create_action->CanRead());
+ ASSERT_FALSE(create_action->CanWrite());
}
TEST_F(ExtensionManifestTest, FileManagerURLOverride) {

Powered by Google App Engine
This is Rietveld 408576698