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 // Implementation of the Chrome Extensions Proxy Settings API. | 5 // Implementation of the Chrome Extensions Proxy Settings API. |
6 | 6 |
7 #include "chrome/browser/extensions/api/proxy/proxy_api.h" | 7 #include "chrome/browser/extensions/api/proxy/proxy_api.h" |
8 | 8 |
| 9 #include <utility> |
| 10 |
9 #include "base/json/json_writer.h" | 11 #include "base/json/json_writer.h" |
10 #include "base/strings/stringprintf.h" | 12 #include "base/strings/stringprintf.h" |
11 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
12 #include "base/values.h" | 14 #include "base/values.h" |
13 #include "chrome/browser/extensions/api/proxy/proxy_api_constants.h" | 15 #include "chrome/browser/extensions/api/proxy/proxy_api_constants.h" |
14 #include "chrome/browser/extensions/api/proxy/proxy_api_helpers.h" | 16 #include "chrome/browser/extensions/api/proxy/proxy_api_helpers.h" |
15 #include "chrome/browser/extensions/event_router_forwarder.h" | 17 #include "chrome/browser/extensions/event_router_forwarder.h" |
16 #include "chrome/browser/extensions/extension_service.h" | 18 #include "chrome/browser/extensions/extension_service.h" |
17 #include "components/proxy_config/proxy_config_dictionary.h" | 19 #include "components/proxy_config/proxy_config_dictionary.h" |
18 #include "net/base/net_errors.h" | 20 #include "net/base/net_errors.h" |
(...skipping 19 matching lines...) Expand all Loading... |
38 void* profile, | 40 void* profile, |
39 int error_code) { | 41 int error_code) { |
40 scoped_ptr<base::ListValue> args(new base::ListValue()); | 42 scoped_ptr<base::ListValue> args(new base::ListValue()); |
41 base::DictionaryValue* dict = new base::DictionaryValue(); | 43 base::DictionaryValue* dict = new base::DictionaryValue(); |
42 dict->SetBoolean(keys::kProxyEventFatal, true); | 44 dict->SetBoolean(keys::kProxyEventFatal, true); |
43 dict->SetString(keys::kProxyEventError, net::ErrorToString(error_code)); | 45 dict->SetString(keys::kProxyEventError, net::ErrorToString(error_code)); |
44 dict->SetString(keys::kProxyEventDetails, std::string()); | 46 dict->SetString(keys::kProxyEventDetails, std::string()); |
45 args->Append(dict); | 47 args->Append(dict); |
46 | 48 |
47 if (profile) { | 49 if (profile) { |
48 event_router->DispatchEventToRenderers(events::PROXY_ON_PROXY_ERROR, | 50 event_router->DispatchEventToRenderers( |
49 keys::kProxyEventOnProxyError, | 51 events::PROXY_ON_PROXY_ERROR, keys::kProxyEventOnProxyError, |
50 args.Pass(), profile, true, GURL()); | 52 std::move(args), profile, true, GURL()); |
51 } else { | 53 } else { |
52 event_router->BroadcastEventToRenderers(events::PROXY_ON_PROXY_ERROR, | 54 event_router->BroadcastEventToRenderers(events::PROXY_ON_PROXY_ERROR, |
53 keys::kProxyEventOnProxyError, | 55 keys::kProxyEventOnProxyError, |
54 args.Pass(), GURL()); | 56 std::move(args), GURL()); |
55 } | 57 } |
56 } | 58 } |
57 | 59 |
58 void ProxyEventRouter::OnPACScriptError( | 60 void ProxyEventRouter::OnPACScriptError( |
59 EventRouterForwarder* event_router, | 61 EventRouterForwarder* event_router, |
60 void* profile, | 62 void* profile, |
61 int line_number, | 63 int line_number, |
62 const base::string16& error) { | 64 const base::string16& error) { |
63 scoped_ptr<base::ListValue> args(new base::ListValue()); | 65 scoped_ptr<base::ListValue> args(new base::ListValue()); |
64 base::DictionaryValue* dict = new base::DictionaryValue(); | 66 base::DictionaryValue* dict = new base::DictionaryValue(); |
65 dict->SetBoolean(keys::kProxyEventFatal, false); | 67 dict->SetBoolean(keys::kProxyEventFatal, false); |
66 dict->SetString(keys::kProxyEventError, | 68 dict->SetString(keys::kProxyEventError, |
67 net::ErrorToString(net::ERR_PAC_SCRIPT_FAILED)); | 69 net::ErrorToString(net::ERR_PAC_SCRIPT_FAILED)); |
68 std::string error_msg; | 70 std::string error_msg; |
69 if (line_number != -1) { | 71 if (line_number != -1) { |
70 base::SStringPrintf(&error_msg, | 72 base::SStringPrintf(&error_msg, |
71 "line: %d: %s", | 73 "line: %d: %s", |
72 line_number, base::UTF16ToUTF8(error).c_str()); | 74 line_number, base::UTF16ToUTF8(error).c_str()); |
73 } else { | 75 } else { |
74 error_msg = base::UTF16ToUTF8(error); | 76 error_msg = base::UTF16ToUTF8(error); |
75 } | 77 } |
76 dict->SetString(keys::kProxyEventDetails, error_msg); | 78 dict->SetString(keys::kProxyEventDetails, error_msg); |
77 args->Append(dict); | 79 args->Append(dict); |
78 | 80 |
79 if (profile) { | 81 if (profile) { |
80 event_router->DispatchEventToRenderers(events::PROXY_ON_PROXY_ERROR, | 82 event_router->DispatchEventToRenderers( |
81 keys::kProxyEventOnProxyError, | 83 events::PROXY_ON_PROXY_ERROR, keys::kProxyEventOnProxyError, |
82 args.Pass(), profile, true, GURL()); | 84 std::move(args), profile, true, GURL()); |
83 } else { | 85 } else { |
84 event_router->BroadcastEventToRenderers(events::PROXY_ON_PROXY_ERROR, | 86 event_router->BroadcastEventToRenderers(events::PROXY_ON_PROXY_ERROR, |
85 keys::kProxyEventOnProxyError, | 87 keys::kProxyEventOnProxyError, |
86 args.Pass(), GURL()); | 88 std::move(args), GURL()); |
87 } | 89 } |
88 } | 90 } |
89 | 91 |
90 ProxyPrefTransformer::ProxyPrefTransformer() { | 92 ProxyPrefTransformer::ProxyPrefTransformer() { |
91 } | 93 } |
92 | 94 |
93 ProxyPrefTransformer::~ProxyPrefTransformer() { | 95 ProxyPrefTransformer::~ProxyPrefTransformer() { |
94 } | 96 } |
95 | 97 |
96 base::Value* ProxyPrefTransformer::ExtensionToBrowserPref( | 98 base::Value* ProxyPrefTransformer::ExtensionToBrowserPref( |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 extension_pref->Set(keys::kProxyConfigRules, proxy_rules_dict); | 183 extension_pref->Set(keys::kProxyConfigRules, proxy_rules_dict); |
182 break; | 184 break; |
183 } | 185 } |
184 case ProxyPrefs::kModeCount: | 186 case ProxyPrefs::kModeCount: |
185 NOTREACHED(); | 187 NOTREACHED(); |
186 } | 188 } |
187 return extension_pref.release(); | 189 return extension_pref.release(); |
188 } | 190 } |
189 | 191 |
190 } // namespace extensions | 192 } // namespace extensions |
OLD | NEW |