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

Unified Diff: chrome/browser/password_manager/password_manager_test_base.cc

Issue 2721663002: Move Credentials when migrating to HSTS page (Closed)
Patch Set: More Explanation Created 3 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/browser/password_manager/password_manager_test_base.cc
diff --git a/chrome/browser/password_manager/password_manager_test_base.cc b/chrome/browser/password_manager/password_manager_test_base.cc
index c398a218dba7dafb42e6a7d58355860e991cc074..9ac7ec53dc41ef4697e3a49043accc73d683435e 100644
--- a/chrome/browser/password_manager/password_manager_test_base.cc
+++ b/chrome/browser/password_manager/password_manager_test_base.cc
@@ -7,10 +7,12 @@
#include <string>
#include "base/macros.h"
+#include "base/memory/ref_counted.h"
#include "base/run_loop.h"
#include "base/strings/stringprintf.h"
#include "chrome/browser/password_manager/password_store_factory.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_io_data.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -23,7 +25,11 @@
#include "content/public/browser/render_frame_host.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_utils.h"
+#include "net/cert/cert_verify_result.h"
+#include "net/http/transport_security_state.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_getter.h"
namespace {
@@ -47,6 +53,23 @@ class PasswordStoreResultsObserver
DISALLOW_COPY_AND_ASSIGN(PasswordStoreResultsObserver);
};
+void AddHSTSHostImpl(
+ const scoped_refptr<net::URLRequestContextGetter>& request_context,
+ const std::string& host) {
+ ASSERT_TRUE(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
+ net::TransportSecurityState* transport_security_state =
+ request_context->GetURLRequestContext()->transport_security_state();
+ if (!transport_security_state) {
+ ADD_FAILURE();
+ return;
+ }
+
+ base::Time expiry = base::Time::Now() + base::TimeDelta::FromDays(1000);
+ bool include_subdomains = false;
+ transport_security_state->AddHSTS(host, expiry, include_subdomains);
+ EXPECT_TRUE(transport_security_state->ShouldUpgradeToSSL(host));
+}
+
} // namespace
NavigationObserver::NavigationObserver(content::WebContents* web_contents)
@@ -137,12 +160,28 @@ void PasswordManagerBrowserTestBase::SetUpOnMainThread() {
FILE_PATH_LITERAL("chrome/test/data");
https_test_server().ServeFilesFromSourceDirectory(base::FilePath(kDocRoot));
ASSERT_TRUE(https_test_server().Start());
+
+ // Whitelist all certs for the HTTPS server.
+ auto cert = https_test_server().GetCertificate();
+ net::CertVerifyResult verify_result;
+ verify_result.cert_status = 0;
+ verify_result.is_issued_by_known_root = true;
+ verify_result.verified_cert = cert;
+ mock_cert_verifier().AddResultForCert(cert.get(), verify_result, net::OK);
}
void PasswordManagerBrowserTestBase::TearDownOnMainThread() {
ASSERT_TRUE(embedded_test_server()->ShutdownAndWaitUntilComplete());
}
+void PasswordManagerBrowserTestBase::SetUpInProcessBrowserTestFixture() {
+ ProfileIOData::SetCertVerifierForTesting(&mock_cert_verifier_);
+}
+
+void PasswordManagerBrowserTestBase::TearDownInProcessBrowserTestFixture() {
+ ProfileIOData::SetCertVerifierForTesting(nullptr);
+}
+
content::WebContents* PasswordManagerBrowserTestBase::WebContents() {
return browser()->tab_strip_model()->GetActiveWebContents();
}
@@ -291,3 +330,16 @@ void PasswordManagerBrowserTestBase::CheckElementValue(
EXPECT_TRUE(return_value) << "element_id = " << element_id
<< ", expected_value = " << expected_value;
}
+
+void PasswordManagerBrowserTestBase::AddHSTSHost(const std::string& host) {
+ base::RunLoop run_loop;
+
+ content::BrowserThread::PostTaskAndReply(
+ content::BrowserThread::IO, FROM_HERE,
+ base::Bind(&AddHSTSHostImpl,
+ make_scoped_refptr(browser()->profile()->GetRequestContext()),
+ host),
+ run_loop.QuitClosure());
+
+ run_loop.Run();
+}

Powered by Google App Engine
This is Rietveld 408576698