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

Unified Diff: chrome/browser/policy/policy_network_browsertest.cc

Issue 2546533003: Respect QuicAllowed policy for new streams (Closed)
Patch Set: Move ApplySettingsOnIOThread out of NetHttpSessionParamsObserver Created 3 years, 11 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/policy/policy_network_browsertest.cc
diff --git a/chrome/browser/policy/policy_network_browsertest.cc b/chrome/browser/policy/policy_network_browsertest.cc
index 7aed8c46b6de0cf7310f1f0a67757166036fcf0c..d6a1f96e9dcb509efbdf7371360e7912c5a761a6 100644
--- a/chrome/browser/policy/policy_network_browsertest.cc
+++ b/chrome/browser/policy/policy_network_browsertest.cc
@@ -9,6 +9,9 @@
#include "base/memory/ref_counted.h"
#include "base/run_loop.h"
#include "chrome/browser/browser_process.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/safe_browsing/safe_browsing_service.h"
+#include "chrome/browser/ui/browser.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "components/policy/core/browser/browser_policy_connector.h"
@@ -24,24 +27,45 @@
namespace {
-void VerifyQuicEnabledStatus(net::URLRequestContextGetter* getter,
- bool quic_enabled_expected,
- const base::Closure& done_callback) {
- net::URLRequestContext* context = getter->GetURLRequestContext();
- bool quic_enabled = context->http_transaction_factory()->GetSession()->
- params().enable_quic;
- EXPECT_EQ(quic_enabled_expected, quic_enabled);
+bool IsQuicEnabled(net::URLRequestContextGetter* context) {
+ return context->GetURLRequestContext()
+ ->http_transaction_factory()
+ ->GetSession()
+ ->IsQuicEnabled();
+}
+
+void VerifyQuicEnabledStatus(
+ net::URLRequestContextGetter* system_context,
+ scoped_refptr<net::URLRequestContextGetter> safe_browsing_context,
+ net::URLRequestContextGetter* profile_context,
+ bool quic_enabled_expected,
+ const base::Closure& done_callback) {
+ bool quic_enabled_system = IsQuicEnabled(system_context);
+ EXPECT_EQ(quic_enabled_expected, quic_enabled_system);
+
+ bool quic_enabled_safe_browsing = IsQuicEnabled(safe_browsing_context.get());
+ EXPECT_EQ(quic_enabled_expected, quic_enabled_safe_browsing);
+
+ bool quic_enabled_profile = IsQuicEnabled(profile_context);
+ EXPECT_EQ(quic_enabled_expected, quic_enabled_profile);
content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
done_callback);
}
-void VerifyQuicEnabledStatusInIOThread(bool quic_enabled_expected) {
+void VerifyQuicEnabledStatusInIOThread(Profile* profile,
+ bool quic_enabled_expected) {
base::RunLoop run_loop;
+ net::URLRequestContextGetter* system_context =
+ g_browser_process->system_request_context();
+ scoped_refptr<net::URLRequestContextGetter> safe_browsing_context =
+ g_browser_process->safe_browsing_service()->url_request_context();
+ net::URLRequestContextGetter* profile_context = profile->GetRequestContext();
+
content::BrowserThread::PostTask(
content::BrowserThread::IO, FROM_HERE,
- base::Bind(VerifyQuicEnabledStatus,
- base::RetainedRef(g_browser_process->system_request_context()),
+ base::Bind(VerifyQuicEnabledStatus, base::RetainedRef(system_context),
+ safe_browsing_context, base::RetainedRef(profile_context),
quic_enabled_expected, run_loop.QuitClosure()));
run_loop.Run();
}
@@ -55,7 +79,7 @@ namespace policy {
// when these are being written.
class QuicAllowedPolicyTestBase: public InProcessBrowserTest {
public:
- QuicAllowedPolicyTestBase() : InProcessBrowserTest(){}
+ QuicAllowedPolicyTestBase() : InProcessBrowserTest() {}
protected:
void SetUpInProcessBrowserTestFixture() override {
@@ -71,15 +95,16 @@ class QuicAllowedPolicyTestBase: public InProcessBrowserTest {
virtual void GetQuicAllowedPolicy(PolicyMap* values) = 0;
- private:
MockConfigurationPolicyProvider provider_;
+
+ private:
DISALLOW_COPY_AND_ASSIGN(QuicAllowedPolicyTestBase);
};
// Policy QuicAllowed set to false.
class QuicAllowedPolicyIsFalse: public QuicAllowedPolicyTestBase {
public:
- QuicAllowedPolicyIsFalse() : QuicAllowedPolicyTestBase(){}
+ QuicAllowedPolicyIsFalse() : QuicAllowedPolicyTestBase() {}
protected:
void GetQuicAllowedPolicy(PolicyMap* values) override {
@@ -93,13 +118,13 @@ class QuicAllowedPolicyIsFalse: public QuicAllowedPolicyTestBase {
};
IN_PROC_BROWSER_TEST_F(QuicAllowedPolicyIsFalse, QuicDisallowed) {
- VerifyQuicEnabledStatusInIOThread(false);
+ VerifyQuicEnabledStatusInIOThread(browser()->profile(), false);
}
// Policy QuicAllowed set to true.
class QuicAllowedPolicyIsTrue: public QuicAllowedPolicyTestBase {
public:
- QuicAllowedPolicyIsTrue() : QuicAllowedPolicyTestBase(){}
+ QuicAllowedPolicyIsTrue() : QuicAllowedPolicyTestBase() {}
protected:
void GetQuicAllowedPolicy(PolicyMap* values) override {
@@ -113,13 +138,13 @@ class QuicAllowedPolicyIsTrue: public QuicAllowedPolicyTestBase {
};
IN_PROC_BROWSER_TEST_F(QuicAllowedPolicyIsTrue, QuicAllowed) {
- VerifyQuicEnabledStatusInIOThread(true);
+ VerifyQuicEnabledStatusInIOThread(browser()->profile(), true);
}
// Policy QuicAllowed is not set.
class QuicAllowedPolicyIsNotSet: public QuicAllowedPolicyTestBase {
public:
- QuicAllowedPolicyIsNotSet() : QuicAllowedPolicyTestBase(){}
+ QuicAllowedPolicyIsNotSet() : QuicAllowedPolicyTestBase() {}
protected:
void GetQuicAllowedPolicy(PolicyMap* values) override {
@@ -130,7 +155,30 @@ class QuicAllowedPolicyIsNotSet: public QuicAllowedPolicyTestBase {
};
IN_PROC_BROWSER_TEST_F(QuicAllowedPolicyIsNotSet, NoQuicRegulations) {
- VerifyQuicEnabledStatusInIOThread(true);
+ VerifyQuicEnabledStatusInIOThread(browser()->profile(), true);
}
+// Policy QuicAllowed is set after IOThread initialization.
+class QuicAllowedPolicyIsSetToFalseAfterInit
+ : public QuicAllowedPolicyTestBase {
+ public:
+ QuicAllowedPolicyIsSetToFalseAfterInit() : QuicAllowedPolicyTestBase() {}
+
+ protected:
+ void GetQuicAllowedPolicy(PolicyMap* values) override {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(QuicAllowedPolicyIsSetToFalseAfterInit);
+};
+
+IN_PROC_BROWSER_TEST_F(QuicAllowedPolicyIsSetToFalseAfterInit, QuicDisallowed) {
+ PolicyMap values;
+ values.Set(key::kQuicAllowed, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
+ POLICY_SOURCE_CLOUD,
+ base::MakeUnique<base::FundamentalValue>(false), nullptr);
+ provider_.UpdateChromePolicy(values);
+ base::RunLoop().RunUntilIdle();
+
+ VerifyQuicEnabledStatusInIOThread(browser()->profile(), false);
+}
} // namespace policy

Powered by Google App Engine
This is Rietveld 408576698