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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "base/memory/ptr_util.h" | 26 #include "base/memory/ptr_util.h" |
27 #include "base/memory/ref_counted.h" | 27 #include "base/memory/ref_counted.h" |
28 #include "base/message_loop/message_loop.h" | 28 #include "base/message_loop/message_loop.h" |
29 #include "base/path_service.h" | 29 #include "base/path_service.h" |
30 #include "base/run_loop.h" | 30 #include "base/run_loop.h" |
31 #include "base/strings/string16.h" | 31 #include "base/strings/string16.h" |
32 #include "base/strings/string_number_conversions.h" | 32 #include "base/strings/string_number_conversions.h" |
33 #include "base/strings/string_util.h" | 33 #include "base/strings/string_util.h" |
34 #include "base/strings/stringprintf.h" | 34 #include "base/strings/stringprintf.h" |
35 #include "base/strings/utf_string_conversions.h" | 35 #include "base/strings/utf_string_conversions.h" |
| 36 #include "base/test/scoped_feature_list.h" |
36 #include "base/test/test_file_util.h" | 37 #include "base/test/test_file_util.h" |
37 #include "base/threading/sequenced_worker_pool.h" | 38 #include "base/threading/sequenced_worker_pool.h" |
38 #include "base/threading/thread_restrictions.h" | 39 #include "base/threading/thread_restrictions.h" |
39 #include "base/time/time.h" | 40 #include "base/time/time.h" |
40 #include "base/values.h" | 41 #include "base/values.h" |
41 #include "build/build_config.h" | 42 #include "build/build_config.h" |
42 #include "chrome/app/chrome_command_ids.h" | 43 #include "chrome/app/chrome_command_ids.h" |
43 #include "chrome/browser/background/background_contents_service.h" | 44 #include "chrome/browser/background/background_contents_service.h" |
44 #include "chrome/browser/browser_process.h" | 45 #include "chrome/browser/browser_process.h" |
45 #include "chrome/browser/chrome_notification_types.h" | 46 #include "chrome/browser/chrome_notification_types.h" |
(...skipping 4317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4363 } | 4364 } |
4364 } | 4365 } |
4365 } | 4366 } |
4366 | 4367 |
4367 #endif // defined(OS_CHROMEOS) | 4368 #endif // defined(OS_CHROMEOS) |
4368 | 4369 |
4369 class NetworkTimePolicyTest : public PolicyTest { | 4370 class NetworkTimePolicyTest : public PolicyTest { |
4370 public: | 4371 public: |
4371 void SetUpCommandLine(base::CommandLine* command_line) override { | 4372 void SetUpCommandLine(base::CommandLine* command_line) override { |
4372 command_line->AppendSwitchASCII( | 4373 command_line->AppendSwitchASCII( |
4373 switches::kEnableFeatures, | |
4374 std::string(network_time::kNetworkTimeServiceQuerying.name) + | |
4375 "<SSLNetworkTimeBrowserTestFieldTrial"); | |
4376 command_line->AppendSwitchASCII( | |
4377 switches::kForceFieldTrials, | 4374 switches::kForceFieldTrials, |
4378 "SSLNetworkTimeBrowserTestFieldTrial/Enabled/"); | 4375 "SSLNetworkTimeBrowserTestFieldTrial/Enabled/"); |
4379 command_line->AppendSwitchASCII( | 4376 command_line->AppendSwitchASCII( |
4380 variations::switches::kForceFieldTrialParams, | 4377 variations::switches::kForceFieldTrialParams, |
4381 "SSLNetworkTimeBrowserTestFieldTrial.Enabled:FetchBehavior/" | 4378 "SSLNetworkTimeBrowserTestFieldTrial.Enabled:FetchBehavior/" |
4382 "on-demand-only"); | 4379 "on-demand-only"); |
4383 } | 4380 } |
4384 | 4381 |
| 4382 void SetUpOnMainThread() override { |
| 4383 PolicyTest::SetUpOnMainThread(); |
| 4384 scoped_feature_list_.InitFromCommandLine( |
| 4385 std::string(network_time::kNetworkTimeServiceQuerying.name) + |
| 4386 "<SSLNetworkTimeBrowserTestFieldTrial", |
| 4387 std::string()); |
| 4388 } |
| 4389 |
4385 // A request handler that returns a dummy response and counts the number of | 4390 // A request handler that returns a dummy response and counts the number of |
4386 // times it is called. | 4391 // times it is called. |
4387 std::unique_ptr<net::test_server::HttpResponse> CountingRequestHandler( | 4392 std::unique_ptr<net::test_server::HttpResponse> CountingRequestHandler( |
4388 const net::test_server::HttpRequest& request) { | 4393 const net::test_server::HttpRequest& request) { |
4389 net::test_server::BasicHttpResponse* response = | 4394 net::test_server::BasicHttpResponse* response = |
4390 new net::test_server::BasicHttpResponse(); | 4395 new net::test_server::BasicHttpResponse(); |
4391 num_requests_++; | 4396 num_requests_++; |
4392 response->set_code(net::HTTP_OK); | 4397 response->set_code(net::HTTP_OK); |
4393 response->set_content( | 4398 response->set_content( |
4394 ")]}'\n" | 4399 ")]}'\n" |
4395 "{\"current_time_millis\":1461621971825,\"server_nonce\":-6." | 4400 "{\"current_time_millis\":1461621971825,\"server_nonce\":-6." |
4396 "006853099049523E85}"); | 4401 "006853099049523E85}"); |
4397 response->AddCustomHeader("x-cup-server-proof", "dead:beef"); | 4402 response->AddCustomHeader("x-cup-server-proof", "dead:beef"); |
4398 return std::unique_ptr<net::test_server::HttpResponse>(response); | 4403 return std::unique_ptr<net::test_server::HttpResponse>(response); |
4399 } | 4404 } |
4400 | 4405 |
4401 uint32_t num_requests() { return num_requests_; } | 4406 uint32_t num_requests() { return num_requests_; } |
4402 | 4407 |
4403 private: | 4408 private: |
4404 uint32_t num_requests_ = 0; | 4409 uint32_t num_requests_ = 0; |
| 4410 base::test::ScopedFeatureList scoped_feature_list_; |
4405 }; | 4411 }; |
4406 | 4412 |
4407 IN_PROC_BROWSER_TEST_F(NetworkTimePolicyTest, NetworkTimeQueriesDisabled) { | 4413 IN_PROC_BROWSER_TEST_F(NetworkTimePolicyTest, NetworkTimeQueriesDisabled) { |
4408 // Set a policy to disable network time queries. | 4414 // Set a policy to disable network time queries. |
4409 PolicyMap policies; | 4415 PolicyMap policies; |
4410 policies.Set(key::kBrowserNetworkTimeQueriesEnabled, POLICY_LEVEL_MANDATORY, | 4416 policies.Set(key::kBrowserNetworkTimeQueriesEnabled, POLICY_LEVEL_MANDATORY, |
4411 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 4417 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
4412 base::MakeUnique<base::Value>(false), nullptr); | 4418 base::MakeUnique<base::Value>(false), nullptr); |
4413 UpdateProviderPolicy(policies); | 4419 UpdateProviderPolicy(policies); |
4414 | 4420 |
(...skipping 22 matching lines...) Expand all Loading... |
4437 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 4443 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
4438 base::MakeUnique<base::Value>(true), nullptr); | 4444 base::MakeUnique<base::Value>(true), nullptr); |
4439 UpdateProviderPolicy(policies); | 4445 UpdateProviderPolicy(policies); |
4440 ui_test_utils::NavigateToURL(browser(), https_server_expired_.GetURL("/")); | 4446 ui_test_utils::NavigateToURL(browser(), https_server_expired_.GetURL("/")); |
4441 interstitial_page = tab->GetInterstitialPage(); | 4447 interstitial_page = tab->GetInterstitialPage(); |
4442 ASSERT_TRUE(interstitial_page); | 4448 ASSERT_TRUE(interstitial_page); |
4443 EXPECT_EQ(1u, num_requests()); | 4449 EXPECT_EQ(1u, num_requests()); |
4444 } | 4450 } |
4445 | 4451 |
4446 } // namespace policy | 4452 } // namespace policy |
OLD | NEW |