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

Unified Diff: chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc

Issue 335263004: enterprise.platformKeys: Extensions not pre-installed by extension can't access the API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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
« no previous file with comments | « no previous file | chrome/test/data/extensions/api_test/enterprise_platform_keys/api_not_available.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc
diff --git a/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc
index d37b977d1f1e8051e8c8d53104bf6c8bc48a1b80..5ed4fc64ed8f180463defd02430ba74f31ff959a 100644
--- a/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc
+++ b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc
@@ -9,6 +9,7 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/policy/user_network_configuration_updater.h"
#include "chrome/browser/extensions/extension_apitest.h"
+#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/net/nss_context.h"
#include "chrome/browser/net/url_request_mock_util.h"
#include "components/policy/core/browser/browser_policy_connector.h"
@@ -220,3 +221,26 @@ IN_PROC_BROWSER_TEST_F(EnterprisePlatformKeysTest, Basic) {
base::StringPrintf("chrome-extension://%s/basic.html", kTestExtensionID)))
<< message_;
}
+
+// Ensure that extensions that are not pre-installed by policy throw an install
+// warning if they request the enterprise.platformKeys permission in the
+// manifest and that such extensions don't see the
+// chrome.enterprise.platformKeys namespace.
+IN_PROC_BROWSER_TEST_F(ExtensionApiTest,
+ EnterprisePlatformKeysIsRestrictedToPolicyExtension) {
+ ASSERT_TRUE(RunExtensionSubtest("enterprise_platform_keys",
+ "api_not_available.html",
+ kFlagIgnoreManifestWarnings));
+
+ base::FilePath extension_path =
+ test_data_dir_.AppendASCII("enterprise_platform_keys");
+ ExtensionService* service = extensions::ExtensionSystem::Get(
+ profile())->extension_service();
+ const extensions::Extension* extension =
+ GetExtensionByPath(service->extensions(), extension_path);
+ ASSERT_FALSE(extension->install_warnings().empty());
+ EXPECT_EQ(
+ "'enterprise.platformKeys' is not allowed for specified install "
+ "location.",
+ extension->install_warnings()[0].message);
+}
« no previous file with comments | « no previous file | chrome/test/data/extensions/api_test/enterprise_platform_keys/api_not_available.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698