proxy_handler.cc revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/options/chromeos/proxy_handler.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/callback.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/stl_util.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/time.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/utf_string_conversions.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/values.h"
13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/system/statistics_provider.h"
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/common/chrome_constants.h"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_ui.h"
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "grit/chromium_strings.h"
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "grit/generated_resources.h"
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "grit/locale_settings.h"
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "grit/theme_resources.h"
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/l10n/l10n_util.h"
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/resource/resource_bundle.h"
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chromeos {
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace options {
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ProxyHandler::ProxyHandler() {
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ProxyHandler::~ProxyHandler() {
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ProxyHandler::GetLocalizedValues(
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    DictionaryValue* localized_strings) {
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(localized_strings);
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Proxy page - ChromeOS
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  static OptionsStringResource resources[] = {
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyPage", IDS_OPTIONS_PROXY_TAB_LABEL },
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyDirectInternetConnection", IDS_PROXY_DIRECT_CONNECTION },
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyManual", IDS_PROXY_MANUAL_CONFIG },
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "sameProxyProtocols", IDS_PROXY_SAME_FORALL },
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "httpProxy", IDS_PROXY_HTTP_PROXY },
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "secureHttpProxy", IDS_PROXY_HTTP_SECURE_HTTP_PROXY },
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "ftpProxy", IDS_PROXY_FTP_PROXY },
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "socksHost", IDS_PROXY_SOCKS_HOST },
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyAutomatic", IDS_PROXY_AUTOMATIC },
47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    { "proxyUseConfigUrl", IDS_PROXY_USE_AUTOCONFIG_URL },
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "addHost", IDS_PROXY_ADD_HOST },
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "removeHost", IDS_PROXY_REMOVE_HOST },
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyPort", IDS_PROXY_PORT },
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyBypass", IDS_PROXY_BYPASS },
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyBannerPolicy", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PROXY_POLICY },
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyBannerExtension",
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PROXY_EXTENSION },
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    { "proxyBannerOther",
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PROXY_OTHER_PRECEDE }
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  };
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  RegisterStrings(localized_strings, resources, arraysize(resources));
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  localized_strings->SetString("proxyBannerShared",
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      l10n_util::GetStringFUTF16(
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PROXY_ENABLE_SHARED_HINT,
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_USE_SHARED_PROXIES)));
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void ProxyHandler::InitializePage() {
68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  ::options::OptionsPageUIHandler::InitializePage();
69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  bool keyboard_driven_oobe = false;
71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  system::StatisticsProvider::GetInstance()->GetMachineFlag(
72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      chrome::kOemKeyboardDrivenOobeKey, &keyboard_driven_oobe);
73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  if (keyboard_driven_oobe) {
74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    web_ui()->CallJavascriptFunction(
75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        "DetailsInternetPage.initializeKeyboardFlow");
76c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  }
77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
78c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace options
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace chromeos
81