| 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 "chrome/browser/ui/webui/options/preferences_browsertest.h" | 5 #include "chrome/browser/ui/webui/options/preferences_browsertest.h" |
| 6 | 6 |
| 7 #include <iostream> | 7 #include <iostream> |
| 8 #include <sstream> | 8 #include <sstream> |
| 9 | 9 |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 #include "content/public/browser/notification_details.h" | 26 #include "content/public/browser/notification_details.h" |
| 27 #include "content/public/browser/notification_source.h" | 27 #include "content/public/browser/notification_source.h" |
| 28 #include "content/public/browser/render_view_host.h" | 28 #include "content/public/browser/render_view_host.h" |
| 29 #include "content/public/browser/web_contents.h" | 29 #include "content/public/browser/web_contents.h" |
| 30 #include "content/public/test/browser_test_utils.h" | 30 #include "content/public/test/browser_test_utils.h" |
| 31 #include "googleurl/src/gurl.h" | 31 #include "googleurl/src/gurl.h" |
| 32 #include "policy/policy_constants.h" | 32 #include "policy/policy_constants.h" |
| 33 #include "testing/gtest/include/gtest/gtest.h" | 33 #include "testing/gtest/include/gtest/gtest.h" |
| 34 | 34 |
| 35 #if defined(OS_CHROMEOS) | 35 #if defined(OS_CHROMEOS) |
| 36 #include "chrome/browser/chromeos/cros/cros_library.h" | 36 #include "base/stringprintf.h" |
| 37 #include "chrome/browser/chromeos/cros/network_library.h" | 37 #include "chrome/browser/chromeos/net/proxy_config_handler.h" |
| 38 #include "chrome/browser/chromeos/proxy_cros_settings_parser.h" | 38 #include "chrome/browser/chromeos/proxy_cros_settings_parser.h" |
| 39 #include "chrome/browser/chromeos/settings/cros_settings.h" | 39 #include "chrome/browser/chromeos/settings/cros_settings.h" |
| 40 #include "chrome/browser/chromeos/settings/cros_settings_names.h" | 40 #include "chrome/browser/chromeos/settings/cros_settings_names.h" |
| 41 #include "chrome/browser/prefs/proxy_config_dictionary.h" | 41 #include "chrome/browser/prefs/proxy_config_dictionary.h" |
| 42 #include "chromeos/network/onc/onc_utils.h" | 42 #include "chromeos/network/network_state.h" |
| 43 #include "chromeos/network/network_state_handler.h" |
| 43 #endif | 44 #endif |
| 44 | 45 |
| 45 using testing::AllOf; | 46 using testing::AllOf; |
| 46 using testing::AnyNumber; | 47 using testing::AnyNumber; |
| 47 using testing::Mock; | 48 using testing::Mock; |
| 48 using testing::Property; | 49 using testing::Property; |
| 49 using testing::Return; | 50 using testing::Return; |
| 50 using testing::_; | 51 using testing::_; |
| 51 | 52 |
| 52 namespace base { | 53 namespace base { |
| (...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 708 } | 709 } |
| 709 | 710 |
| 710 class ProxyPreferencesBrowserTest : public PreferencesBrowserTest { | 711 class ProxyPreferencesBrowserTest : public PreferencesBrowserTest { |
| 711 public: | 712 public: |
| 712 virtual void SetUpOnMainThread() OVERRIDE { | 713 virtual void SetUpOnMainThread() OVERRIDE { |
| 713 scoped_ptr<base::DictionaryValue> proxy_config_dict( | 714 scoped_ptr<base::DictionaryValue> proxy_config_dict( |
| 714 ProxyConfigDictionary::CreateFixedServers( | 715 ProxyConfigDictionary::CreateFixedServers( |
| 715 "127.0.0.1:8080", | 716 "127.0.0.1:8080", |
| 716 "*.google.com, 1.2.3.4:22")); | 717 "*.google.com, 1.2.3.4:22")); |
| 717 | 718 |
| 718 std::string proxy_config; | 719 ProxyConfigDictionary proxy_config(proxy_config_dict.get()); |
| 719 base::JSONWriter::Write(proxy_config_dict.get(), &proxy_config); | |
| 720 | 720 |
| 721 chromeos::Network* network = GetActiveNetwork(); | 721 const chromeos::NetworkState* network = GetDefaultNetwork(); |
| 722 network->SetProxyConfig(proxy_config); | 722 chromeos::proxy_config::SetProxyConfigForNetwork( |
| 723 proxy_config, *network); |
| 723 | 724 |
| 724 std::string url = chrome::kChromeUIProxySettingsURL; | 725 std::string url = base::StringPrintf("%s?network=%s", |
| 725 url += "?network="; | 726 chrome::kChromeUIProxySettingsURL, |
| 726 url += network->service_path(); | 727 network->path().c_str()); |
| 727 | 728 |
| 728 ui_test_utils::NavigateToURL(browser(), GURL(url)); | 729 ui_test_utils::NavigateToURL(browser(), GURL(url)); |
| 729 SetUpPrefs(); | 730 SetUpPrefs(); |
| 730 } | 731 } |
| 731 | 732 |
| 732 protected: | 733 protected: |
| 733 chromeos::Network* GetActiveNetwork() { | 734 const chromeos::NetworkState* GetDefaultNetwork() { |
| 734 chromeos::NetworkLibrary* network_library = | 735 return chromeos::NetworkHandler::Get()->network_state_handler()-> |
| 735 chromeos::CrosLibrary::Get()->GetNetworkLibrary(); | 736 DefaultNetwork(); |
| 736 return const_cast<chromeos::Network*>(network_library->active_network()); | |
| 737 } | 737 } |
| 738 | 738 |
| 739 void SetProxyPref(const std::string& name, const base::Value& value) { | 739 void SetProxyPref(const std::string& name, const base::Value& value) { |
| 740 std::string type; | 740 std::string type; |
| 741 switch (value.GetType()) { | 741 switch (value.GetType()) { |
| 742 case base::Value::TYPE_BOOLEAN: | 742 case base::Value::TYPE_BOOLEAN: |
| 743 type = "Boolean"; | 743 type = "Boolean"; |
| 744 break; | 744 break; |
| 745 case base::Value::TYPE_INTEGER: | 745 case base::Value::TYPE_INTEGER: |
| 746 type = "Integer"; | 746 type = "Integer"; |
| 747 break; | 747 break; |
| 748 case base::Value::TYPE_STRING: | 748 case base::Value::TYPE_STRING: |
| 749 type = "String"; | 749 type = "String"; |
| 750 break; | 750 break; |
| 751 default: | 751 default: |
| 752 ASSERT_TRUE(false); | 752 ASSERT_TRUE(false); |
| 753 } | 753 } |
| 754 | 754 |
| 755 std::string observed_json; | 755 std::string observed_json; |
| 756 SetPref(name, type, &value, true, &observed_json); | 756 SetPref(name, type, &value, true, &observed_json); |
| 757 } | 757 } |
| 758 | 758 |
| 759 void VerifyCurrentProxyServer(const std::string& expected_server) { | 759 void VerifyCurrentProxyServer(const std::string& expected_server) { |
| 760 scoped_ptr<base::DictionaryValue> proxy_config = | 760 scoped_ptr<ProxyConfigDictionary> proxy_dict( |
| 761 chromeos::onc::ReadDictionaryFromJson( | 761 chromeos::proxy_config::GetProxyConfigForNetwork(*GetDefaultNetwork())); |
| 762 GetActiveNetwork()->proxy_config()); | |
| 763 | |
| 764 ProxyConfigDictionary proxy_dict(proxy_config.get()); | |
| 765 std::string actual_proxy_server; | 762 std::string actual_proxy_server; |
| 766 EXPECT_TRUE(proxy_dict.GetProxyServer(&actual_proxy_server)); | 763 EXPECT_TRUE(proxy_dict->GetProxyServer(&actual_proxy_server)); |
| 767 EXPECT_EQ(expected_server, actual_proxy_server); | 764 EXPECT_EQ(expected_server, actual_proxy_server); |
| 768 } | 765 } |
| 769 }; | 766 }; |
| 770 | 767 |
| 771 // Verifies that proxy settings are correctly pushed to JavaScript during | 768 // Verifies that proxy settings are correctly pushed to JavaScript during |
| 772 // initialization of the proxy settings page. | 769 // initialization of the proxy settings page. |
| 773 IN_PROC_BROWSER_TEST_F(ProxyPreferencesBrowserTest, | 770 IN_PROC_BROWSER_TEST_F(ProxyPreferencesBrowserTest, |
| 774 ChromeOSInitializeProxy) { | 771 ChromeOSInitializeProxy) { |
| 775 // Boolean pref. | 772 // Boolean pref. |
| 776 pref_names_.push_back(chromeos::kProxySingle); | 773 pref_names_.push_back(chromeos::kProxySingle); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 830 SetProxyPref(chromeos::kProxyHttpPort, base::FundamentalValue(1)); | 827 SetProxyPref(chromeos::kProxyHttpPort, base::FundamentalValue(1)); |
| 831 SetProxyPref(chromeos::kProxyHttpsPort, base::FundamentalValue(2)); | 828 SetProxyPref(chromeos::kProxyHttpsPort, base::FundamentalValue(2)); |
| 832 SetProxyPref(chromeos::kProxyFtpPort, base::FundamentalValue(3)); | 829 SetProxyPref(chromeos::kProxyFtpPort, base::FundamentalValue(3)); |
| 833 SetProxyPref(chromeos::kProxySocksPort, base::FundamentalValue(4)); | 830 SetProxyPref(chromeos::kProxySocksPort, base::FundamentalValue(4)); |
| 834 | 831 |
| 835 VerifyCurrentProxyServer( | 832 VerifyCurrentProxyServer( |
| 836 "http=a.com:1;https=4.3.2.1:2;ftp=c.com:3;socks=socks4://d.com:4"); | 833 "http=a.com:1;https=4.3.2.1:2;ftp=c.com:3;socks=socks4://d.com:4"); |
| 837 } | 834 } |
| 838 | 835 |
| 839 #endif | 836 #endif |
| OLD | NEW |