OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" | 5 #include "base/command_line.h" |
6 | 6 #include "chrome/common/chrome_switches.h" |
7 #include "chrome/common/extensions/extension.h" | 7 #include "chrome/common/extensions/extension.h" |
8 #include "chrome/common/extensions/extension_manifest_constants.h" | 8 #include "chrome/common/extensions/extension_manifest_constants.h" |
9 #include "chrome/common/extensions/manifest.h" | 9 #include "chrome/common/extensions/manifest.h" |
| 10 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
11 | 12 |
12 namespace errors = extension_manifest_errors; | 13 namespace errors = extension_manifest_errors; |
13 | 14 |
14 TEST_F(ExtensionManifestTest, ChromeURLPermissionInvalid) { | 15 TEST_F(ExtensionManifestTest, ChromeURLPermissionInvalid) { |
15 LoadAndExpectError("permission_chrome_url_invalid.json", | 16 LoadAndExpectError("permission_chrome_url_invalid.json", |
16 errors::kInvalidPermissionScheme); | 17 errors::kInvalidPermissionScheme); |
17 } | 18 } |
18 | 19 |
| 20 TEST_F(ExtensionManifestTest, ChromeURLPermissionAllowedWithFlag) { |
| 21 CommandLine::ForCurrentProcess()->AppendSwitch( |
| 22 switches::kExtensionsOnChromeURLs); |
| 23 std::string error; |
| 24 scoped_refptr<extensions::Extension> extension = |
| 25 LoadAndExpectSuccess("permission_chrome_url_invalid.json"); |
| 26 EXPECT_EQ("", error); |
| 27 const GURL newtab_url("chrome://newtab/"); |
| 28 EXPECT_TRUE(extension->CanExecuteScriptOnPage(newtab_url, |
| 29 newtab_url, |
| 30 0, |
| 31 NULL, |
| 32 &error)) << error; |
| 33 } |
| 34 |
19 TEST_F(ExtensionManifestTest, ChromeResourcesPermissionValidOnlyForComponents) { | 35 TEST_F(ExtensionManifestTest, ChromeResourcesPermissionValidOnlyForComponents) { |
20 LoadAndExpectError("permission_chrome_resources_url.json", | 36 LoadAndExpectError("permission_chrome_resources_url.json", |
21 errors::kInvalidPermissionScheme); | 37 errors::kInvalidPermissionScheme); |
22 std::string error; | 38 std::string error; |
23 LoadExtension(Manifest("permission_chrome_resources_url.json"), | 39 LoadExtension(Manifest("permission_chrome_resources_url.json"), |
24 &error, extensions::Manifest::COMPONENT, | 40 &error, extensions::Manifest::COMPONENT, |
25 extensions::Extension::NO_FLAGS); | 41 extensions::Extension::NO_FLAGS); |
26 EXPECT_EQ("", error); | 42 EXPECT_EQ("", error); |
27 } | 43 } |
OLD | NEW |