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

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

Issue 419013003: Replace c/b/nss_context by a KeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added Linux implementation. Created 6 years, 3 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/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 6e6c0068eccbc9efc38a7c3929f85ad4a0eb33d6..069dd04ae4abae1bc18c78a35af68dadc6ff0419 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,10 +9,12 @@
#include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.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/cert_database_service_factory.h"
#include "chrome/browser/net/url_request_mock_util.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/login/user_names.h"
+#include "chromeos/tpm_token_loader.h"
+#include "components/cert_database/public/cert_database_service.h"
#include "components/policy/core/browser/browser_policy_connector.h"
#include "components/policy/core/common/mock_configuration_policy_provider.h"
#include "components/policy/core/common/policy_map.h"
@@ -136,7 +138,7 @@ const char kTestExtensionID[] = "aecpbnckhoppanpmefllkdkohionpmig";
class EnterprisePlatformKeysTest : public ExtensionApiTest {
public:
- EnterprisePlatformKeysTest() : nss_db_(NULL) {}
+ EnterprisePlatformKeysTest() {}
virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
ExtensionApiTest::SetUpCommandLine(command_line);
@@ -177,45 +179,20 @@ class EnterprisePlatformKeysTest : public ExtensionApiTest {
{
base::RunLoop loop;
- GetNSSCertDatabaseForProfile(
- browser()->profile(),
- base::Bind(&EnterprisePlatformKeysTest::DidGetCertDatabase,
- base::Unretained(this),
- loop.QuitClosure()));
+ CertDatabaseServiceFactory::GetForBrowserContext(browser()->profile())
+ ->GetNSSCertDatabase(
+ base::Bind(&EnterprisePlatformKeysTest::DidGetCertDatabase,
+ base::Unretained(this),
+ loop.QuitClosure()));
loop.Run();
}
SetPolicy();
}
- void SetUpTestSystemSlot() {
- base::RunLoop loop;
- content::BrowserThread::PostTask(
- content::BrowserThread::IO,
- FROM_HERE,
- base::Bind(&EnterprisePlatformKeysTest::SetUpTestSystemSlotOnIO,
- base::Unretained(this),
- browser()->profile()->GetResourceContext(),
- loop.QuitClosure()));
- loop.Run();
- }
-
- void TearDownTestSystemSlot() {
- base::RunLoop loop;
- content::BrowserThread::PostTask(
- content::BrowserThread::IO,
- FROM_HERE,
- base::Bind(&EnterprisePlatformKeysTest::TearDownTestSystemSlotOnIO,
- base::Unretained(this),
- loop.QuitClosure()));
- loop.Run();
- }
-
private:
void DidGetCertDatabase(const base::Closure& done_callback,
net::NSSCertDatabase* cert_db) {
- nss_db_ = cert_db;
-
// In order to use a prepared certificate, import a private key to the
// user's token for which the Javscript test will import the certificate.
ImportPrivateKeyPKCS8ToSlot(privateKeyPkcs8User,
@@ -224,28 +201,6 @@ class EnterprisePlatformKeysTest : public ExtensionApiTest {
done_callback.Run();
}
- void SetUpTestSystemSlotOnIO(content::ResourceContext* context,
- const base::Closure& done_callback) {
- test_system_slot_.reset(new crypto::ScopedTestSystemNSSKeySlot());
- ASSERT_TRUE(test_system_slot_->ConstructedSuccessfully());
-
- // Import a private key to the system slot. The Javascript part of this
- // test has a prepared certificate for this key.
- ImportPrivateKeyPKCS8ToSlot(privateKeyPkcs8System,
- arraysize(privateKeyPkcs8System),
- test_system_slot_->slot());
-
- content::BrowserThread::PostTask(
- content::BrowserThread::UI, FROM_HERE, done_callback);
- }
-
- void TearDownTestSystemSlotOnIO(const base::Closure& done_callback) {
- test_system_slot_.reset();
-
- content::BrowserThread::PostTask(
- content::BrowserThread::UI, FROM_HERE, done_callback);
- }
-
void SetPolicy() {
// Extensions that are force-installed come from an update URL, which
// defaults to the webstore. Use a mock URL for this test with an update
@@ -274,23 +229,72 @@ class EnterprisePlatformKeysTest : public ExtensionApiTest {
observer.Wait();
}
- net::NSSCertDatabase* nss_db_;
policy::DevicePolicyCrosTestHelper device_policy_test_helper_;
- scoped_ptr<crypto::ScopedTestSystemNSSKeySlot> test_system_slot_;
policy::MockConfigurationPolicyProvider policy_provider_;
};
-} // namespace
+class EnterprisePlatformKeysTestWithSystemToken
+ : public EnterprisePlatformKeysTest {
+ public:
+ EnterprisePlatformKeysTestWithSystemToken() {
+ chromeos::TPMTokenLoader::InitializeForTest();
+ }
-IN_PROC_BROWSER_TEST_F(EnterprisePlatformKeysTest, SystemTokenEnabled) {
- SetUpTestSystemSlot();
- ASSERT_TRUE(RunExtensionSubtest(
- "",
- base::StringPrintf("chrome-extension://%s/basic.html?systemTokenEnabled",
- kTestExtensionID)))
- << message_;
- TearDownTestSystemSlot();
-}
+ virtual void SetUpOnMainThread() OVERRIDE {
+ base::RunLoop loop;
+ content::BrowserThread::PostTask(
+ content::BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(
+ &EnterprisePlatformKeysTestWithSystemToken::SetUpTestSystemSlotOnIO,
+ base::Unretained(this),
+ browser()->profile()->GetResourceContext(),
+ loop.QuitClosure()));
+ loop.Run();
+
+ EnterprisePlatformKeysTest::SetUpOnMainThread();
+ }
+
+ virtual void TearDownOnMainThread() OVERRIDE {
+ EnterprisePlatformKeysTest::TearDownOnMainThread();
+ base::RunLoop loop;
+ content::BrowserThread::PostTask(
+ content::BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&EnterprisePlatformKeysTestWithSystemToken::
+ TearDownTestSystemSlotOnIO,
+ base::Unretained(this),
+ loop.QuitClosure()));
+ loop.Run();
+ }
+
+ private:
+ void SetUpTestSystemSlotOnIO(content::ResourceContext* context,
+ const base::Closure& done_callback) {
+ test_system_slot_.reset(new crypto::ScopedTestSystemNSSKeySlot());
+ ASSERT_TRUE(test_system_slot_->ConstructedSuccessfully());
+
+ // Import a private key to the system slot. The Javascript part of this
+ // test has a prepared certificate for this key.
+ ImportPrivateKeyPKCS8ToSlot(privateKeyPkcs8System,
+ arraysize(privateKeyPkcs8System),
+ test_system_slot_->slot());
+
+ content::BrowserThread::PostTask(
+ content::BrowserThread::UI, FROM_HERE, done_callback);
+ }
+
+ void TearDownTestSystemSlotOnIO(const base::Closure& done_callback) {
+ test_system_slot_.reset();
+
+ content::BrowserThread::PostTask(
+ content::BrowserThread::UI, FROM_HERE, done_callback);
+ }
+
+ scoped_ptr<crypto::ScopedTestSystemNSSKeySlot> test_system_slot_;
+};
+
+} // namespace
IN_PROC_BROWSER_TEST_F(EnterprisePlatformKeysTest, SystemTokenDisabled) {
ASSERT_TRUE(RunExtensionSubtest(
@@ -321,3 +325,12 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest,
"location.",
extension->install_warnings()[0].message);
}
+
+IN_PROC_BROWSER_TEST_F(EnterprisePlatformKeysTestWithSystemToken,
+ SystemTokenEnabled) {
+ ASSERT_TRUE(RunExtensionSubtest(
+ "",
+ base::StringPrintf("chrome-extension://%s/basic.html?systemTokenEnabled",
+ kTestExtensionID)))
+ << message_;
+}

Powered by Google App Engine
This is Rietveld 408576698