| 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <string> | 6 #include <string> |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "ash/display/display_manager.h" | 9 #include "ash/display/display_manager.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 #include "extensions/common/constants.h" | 154 #include "extensions/common/constants.h" |
| 155 #include "extensions/common/extension.h" | 155 #include "extensions/common/extension.h" |
| 156 #include "extensions/common/extension_set.h" | 156 #include "extensions/common/extension_set.h" |
| 157 #include "extensions/common/manifest_handlers/shared_module_info.h" | 157 #include "extensions/common/manifest_handlers/shared_module_info.h" |
| 158 #include "net/base/net_errors.h" | 158 #include "net/base/net_errors.h" |
| 159 #include "net/base/net_util.h" | 159 #include "net/base/net_util.h" |
| 160 #include "net/base/url_util.h" | 160 #include "net/base/url_util.h" |
| 161 #include "net/http/http_stream_factory.h" | 161 #include "net/http/http_stream_factory.h" |
| 162 #include "net/ssl/ssl_config.h" | 162 #include "net/ssl/ssl_config.h" |
| 163 #include "net/ssl/ssl_config_service.h" | 163 #include "net/ssl/ssl_config_service.h" |
| 164 #include "net/test/spawned_test_server/spawned_test_server.h" | 164 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 165 #include "net/test/url_request/url_request_failed_job.h" | 165 #include "net/test/url_request/url_request_failed_job.h" |
| 166 #include "net/test/url_request/url_request_mock_http_job.h" | 166 #include "net/test/url_request/url_request_mock_http_job.h" |
| 167 #include "net/url_request/url_request.h" | 167 #include "net/url_request/url_request.h" |
| 168 #include "net/url_request/url_request_filter.h" | 168 #include "net/url_request/url_request_filter.h" |
| 169 #include "net/url_request/url_request_interceptor.h" | 169 #include "net/url_request/url_request_interceptor.h" |
| 170 #include "policy/policy_constants.h" | 170 #include "policy/policy_constants.h" |
| 171 #include "testing/gmock/include/gmock/gmock.h" | 171 #include "testing/gmock/include/gmock/gmock.h" |
| 172 #include "testing/gtest/include/gtest/gtest.h" | 172 #include "testing/gtest/include/gtest/gtest.h" |
| 173 #include "third_party/WebKit/public/web/WebInputEvent.h" | 173 #include "third_party/WebKit/public/web/WebInputEvent.h" |
| 174 #include "ui/base/l10n/l10n_util.h" | 174 #include "ui/base/l10n/l10n_util.h" |
| (...skipping 3522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3697 } | 3697 } |
| 3698 } | 3698 } |
| 3699 | 3699 |
| 3700 INSTANTIATE_TEST_CASE_P(MediaStreamDevicesControllerBrowserTestInstance, | 3700 INSTANTIATE_TEST_CASE_P(MediaStreamDevicesControllerBrowserTestInstance, |
| 3701 MediaStreamDevicesControllerBrowserTest, | 3701 MediaStreamDevicesControllerBrowserTest, |
| 3702 testing::Bool()); | 3702 testing::Bool()); |
| 3703 | 3703 |
| 3704 // Test that when extended reporting opt-in is disabled by policy, the | 3704 // Test that when extended reporting opt-in is disabled by policy, the |
| 3705 // opt-in checkbox does not appear on SSL blocking pages. | 3705 // opt-in checkbox does not appear on SSL blocking pages. |
| 3706 IN_PROC_BROWSER_TEST_F(PolicyTest, SafeBrowsingExtendedReportingOptInAllowed) { | 3706 IN_PROC_BROWSER_TEST_F(PolicyTest, SafeBrowsingExtendedReportingOptInAllowed) { |
| 3707 net::SpawnedTestServer https_server_expired( | 3707 net::EmbeddedTestServer https_server_expired( |
| 3708 net::SpawnedTestServer::TYPE_HTTPS, | 3708 net::EmbeddedTestServer::TYPE_HTTPS); |
| 3709 net::SpawnedTestServer::SSLOptions( | 3709 https_server_expired.SetSSLConfig(net::EmbeddedTestServer::CERT_EXPIRED); |
| 3710 net::SpawnedTestServer::SSLOptions::CERT_EXPIRED), | 3710 https_server_expired.ServeFilesFromSourceDirectory("chrome/test/data"); |
| 3711 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); | |
| 3712 ASSERT_TRUE(https_server_expired.Start()); | 3711 ASSERT_TRUE(https_server_expired.Start()); |
| 3713 | 3712 |
| 3714 // Set the enterprise policy to disallow opt-in. | 3713 // Set the enterprise policy to disallow opt-in. |
| 3715 const PrefService* const prefs = browser()->profile()->GetPrefs(); | 3714 const PrefService* const prefs = browser()->profile()->GetPrefs(); |
| 3716 EXPECT_TRUE( | 3715 EXPECT_TRUE( |
| 3717 prefs->GetBoolean(prefs::kSafeBrowsingExtendedReportingOptInAllowed)); | 3716 prefs->GetBoolean(prefs::kSafeBrowsingExtendedReportingOptInAllowed)); |
| 3718 PolicyMap policies; | 3717 PolicyMap policies; |
| 3719 policies.Set(key::kSafeBrowsingExtendedReportingOptInAllowed, | 3718 policies.Set(key::kSafeBrowsingExtendedReportingOptInAllowed, |
| 3720 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 3719 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
| 3721 new base::FundamentalValue(false), nullptr); | 3720 new base::FundamentalValue(false), nullptr); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 3750 SecurityInterstitialPage::CMD_TEXT_FOUND, | 3749 SecurityInterstitialPage::CMD_TEXT_FOUND, |
| 3751 SecurityInterstitialPage::CMD_TEXT_NOT_FOUND, | 3750 SecurityInterstitialPage::CMD_TEXT_NOT_FOUND, |
| 3752 SecurityInterstitialPage::CMD_ERROR); | 3751 SecurityInterstitialPage::CMD_ERROR); |
| 3753 EXPECT_TRUE(content::ExecuteScriptAndExtractInt(rvh, command, &result)); | 3752 EXPECT_TRUE(content::ExecuteScriptAndExtractInt(rvh, command, &result)); |
| 3754 EXPECT_EQ(SecurityInterstitialPage::CMD_TEXT_NOT_FOUND, result); | 3753 EXPECT_EQ(SecurityInterstitialPage::CMD_TEXT_NOT_FOUND, result); |
| 3755 } | 3754 } |
| 3756 | 3755 |
| 3757 // Test that when SSL error overriding is allowed by policy (default), the | 3756 // Test that when SSL error overriding is allowed by policy (default), the |
| 3758 // proceed link appears on SSL blocking pages. | 3757 // proceed link appears on SSL blocking pages. |
| 3759 IN_PROC_BROWSER_TEST_F(PolicyTest, SSLErrorOverridingAllowed) { | 3758 IN_PROC_BROWSER_TEST_F(PolicyTest, SSLErrorOverridingAllowed) { |
| 3760 net::SpawnedTestServer https_server_expired( | 3759 net::EmbeddedTestServer https_server_expired( |
| 3761 net::SpawnedTestServer::TYPE_HTTPS, | 3760 net::EmbeddedTestServer::TYPE_HTTPS); |
| 3762 net::SpawnedTestServer::SSLOptions( | 3761 https_server_expired.SetSSLConfig(net::EmbeddedTestServer::CERT_EXPIRED); |
| 3763 net::SpawnedTestServer::SSLOptions::CERT_EXPIRED), | 3762 https_server_expired.ServeFilesFromSourceDirectory("chrome/test/data"); |
| 3764 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); | |
| 3765 ASSERT_TRUE(https_server_expired.Start()); | 3763 ASSERT_TRUE(https_server_expired.Start()); |
| 3766 | 3764 |
| 3767 const PrefService* const prefs = browser()->profile()->GetPrefs(); | 3765 const PrefService* const prefs = browser()->profile()->GetPrefs(); |
| 3768 | 3766 |
| 3769 // Policy should allow overriding by default. | 3767 // Policy should allow overriding by default. |
| 3770 EXPECT_TRUE(prefs->GetBoolean(prefs::kSSLErrorOverrideAllowed)); | 3768 EXPECT_TRUE(prefs->GetBoolean(prefs::kSSLErrorOverrideAllowed)); |
| 3771 | 3769 |
| 3772 // Policy allows overriding - navigate to an SSL error page and expect the | 3770 // Policy allows overriding - navigate to an SSL error page and expect the |
| 3773 // proceed link. | 3771 // proceed link. |
| 3774 ui_test_utils::NavigateToURL(browser(), https_server_expired.GetURL("/")); | 3772 ui_test_utils::NavigateToURL(browser(), https_server_expired.GetURL("/")); |
| 3775 | 3773 |
| 3776 const content::InterstitialPage* const interstitial = | 3774 const content::InterstitialPage* const interstitial = |
| 3777 content::InterstitialPage::GetInterstitialPage( | 3775 content::InterstitialPage::GetInterstitialPage( |
| 3778 browser()->tab_strip_model()->GetActiveWebContents()); | 3776 browser()->tab_strip_model()->GetActiveWebContents()); |
| 3779 ASSERT_TRUE(interstitial); | 3777 ASSERT_TRUE(interstitial); |
| 3780 EXPECT_TRUE(content::WaitForRenderFrameReady(interstitial->GetMainFrame())); | 3778 EXPECT_TRUE(content::WaitForRenderFrameReady(interstitial->GetMainFrame())); |
| 3781 | 3779 |
| 3782 // The interstitial should display the proceed link. | 3780 // The interstitial should display the proceed link. |
| 3783 EXPECT_TRUE(chrome_browser_interstitials::IsInterstitialDisplayingText( | 3781 EXPECT_TRUE(chrome_browser_interstitials::IsInterstitialDisplayingText( |
| 3784 interstitial, "proceed-link")); | 3782 interstitial, "proceed-link")); |
| 3785 } | 3783 } |
| 3786 | 3784 |
| 3787 // Test that when SSL error overriding is disallowed by policy, the | 3785 // Test that when SSL error overriding is disallowed by policy, the |
| 3788 // proceed link does not appear on SSL blocking pages and users should not | 3786 // proceed link does not appear on SSL blocking pages and users should not |
| 3789 // be able to proceed. | 3787 // be able to proceed. |
| 3790 IN_PROC_BROWSER_TEST_F(PolicyTest, SSLErrorOverridingDisallowed) { | 3788 IN_PROC_BROWSER_TEST_F(PolicyTest, SSLErrorOverridingDisallowed) { |
| 3791 net::SpawnedTestServer https_server_expired( | 3789 net::EmbeddedTestServer https_server_expired( |
| 3792 net::SpawnedTestServer::TYPE_HTTPS, | 3790 net::EmbeddedTestServer::TYPE_HTTPS); |
| 3793 net::SpawnedTestServer::SSLOptions( | 3791 https_server_expired.SetSSLConfig(net::EmbeddedTestServer::CERT_EXPIRED); |
| 3794 net::SpawnedTestServer::SSLOptions::CERT_EXPIRED), | 3792 https_server_expired.ServeFilesFromSourceDirectory("chrome/test/data"); |
| 3795 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); | |
| 3796 ASSERT_TRUE(https_server_expired.Start()); | 3793 ASSERT_TRUE(https_server_expired.Start()); |
| 3797 | 3794 |
| 3798 const PrefService* const prefs = browser()->profile()->GetPrefs(); | 3795 const PrefService* const prefs = browser()->profile()->GetPrefs(); |
| 3799 EXPECT_TRUE(prefs->GetBoolean(prefs::kSSLErrorOverrideAllowed)); | 3796 EXPECT_TRUE(prefs->GetBoolean(prefs::kSSLErrorOverrideAllowed)); |
| 3800 | 3797 |
| 3801 // Disallowing the proceed link by setting the policy to |false|. | 3798 // Disallowing the proceed link by setting the policy to |false|. |
| 3802 PolicyMap policies; | 3799 PolicyMap policies; |
| 3803 policies.Set(key::kSSLErrorOverrideAllowed, POLICY_LEVEL_MANDATORY, | 3800 policies.Set(key::kSSLErrorOverrideAllowed, POLICY_LEVEL_MANDATORY, |
| 3804 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 3801 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
| 3805 new base::FundamentalValue(false), nullptr); | 3802 new base::FundamentalValue(false), nullptr); |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3988 POLICY_SCOPE_USER, | 3985 POLICY_SCOPE_USER, |
| 3989 POLICY_SOURCE_CLOUD, | 3986 POLICY_SOURCE_CLOUD, |
| 3990 new base::FundamentalValue(false), | 3987 new base::FundamentalValue(false), |
| 3991 NULL); | 3988 NULL); |
| 3992 UpdateProviderPolicy(policies); | 3989 UpdateProviderPolicy(policies); |
| 3993 EXPECT_FALSE(display_manager->unified_desktop_enabled()); | 3990 EXPECT_FALSE(display_manager->unified_desktop_enabled()); |
| 3994 } | 3991 } |
| 3995 #endif // defined(OS_CHROMEOS) | 3992 #endif // defined(OS_CHROMEOS) |
| 3996 | 3993 |
| 3997 } // namespace policy | 3994 } // namespace policy |
| OLD | NEW |