Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(437)

Side by Side Diff: net/proxy/proxy_resolver_v8.cc

Issue 176843022: Move UTF16ToASCII, remove WideToASCII. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/proxy/proxy_config_service_win.cc ('k') | net/proxy/proxy_resolver_v8_tracing_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "net/proxy/proxy_resolver_v8.h" 5 #include "net/proxy/proxy_resolver_v8.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cstdio> 8 #include <cstdio>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 bool GetHostnameArgument(const v8::FunctionCallbackInfo<v8::Value>& args, 210 bool GetHostnameArgument(const v8::FunctionCallbackInfo<v8::Value>& args,
211 std::string* hostname) { 211 std::string* hostname) {
212 // The first argument should be a string. 212 // The first argument should be a string.
213 if (args.Length() == 0 || args[0].IsEmpty() || !args[0]->IsString()) 213 if (args.Length() == 0 || args[0].IsEmpty() || !args[0]->IsString())
214 return false; 214 return false;
215 215
216 const base::string16 hostname_utf16 = V8StringToUTF16(args[0]->ToString()); 216 const base::string16 hostname_utf16 = V8StringToUTF16(args[0]->ToString());
217 217
218 // If the hostname is already in ASCII, simply return it as is. 218 // If the hostname is already in ASCII, simply return it as is.
219 if (IsStringASCII(hostname_utf16)) { 219 if (IsStringASCII(hostname_utf16)) {
220 *hostname = UTF16ToASCII(hostname_utf16); 220 *hostname = base::UTF16ToASCII(hostname_utf16);
221 return true; 221 return true;
222 } 222 }
223 223
224 // Otherwise try to convert it from IDN to punycode. 224 // Otherwise try to convert it from IDN to punycode.
225 const int kInitialBufferSize = 256; 225 const int kInitialBufferSize = 256;
226 url_canon::RawCanonOutputT<base::char16, kInitialBufferSize> punycode_output; 226 url_canon::RawCanonOutputT<base::char16, kInitialBufferSize> punycode_output;
227 if (!url_canon::IDNToASCII(hostname_utf16.data(), 227 if (!url_canon::IDNToASCII(hostname_utf16.data(),
228 hostname_utf16.length(), 228 hostname_utf16.length(),
229 &punycode_output)) { 229 &punycode_output)) {
230 return false; 230 return false;
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 // could extend the parsing to handle IDNA hostnames by 403 // could extend the parsing to handle IDNA hostnames by
404 // converting them to ASCII punycode. 404 // converting them to ASCII punycode.
405 // crbug.com/47234 405 // crbug.com/47234
406 base::string16 error_message = 406 base::string16 error_message =
407 base::ASCIIToUTF16("FindProxyForURL() returned a non-ASCII string " 407 base::ASCIIToUTF16("FindProxyForURL() returned a non-ASCII string "
408 "(crbug.com/47234): ") + ret_str; 408 "(crbug.com/47234): ") + ret_str;
409 js_bindings()->OnError(-1, error_message); 409 js_bindings()->OnError(-1, error_message);
410 return ERR_PAC_SCRIPT_FAILED; 410 return ERR_PAC_SCRIPT_FAILED;
411 } 411 }
412 412
413 results->UsePacString(UTF16ToASCII(ret_str)); 413 results->UsePacString(base::UTF16ToASCII(ret_str));
414 return OK; 414 return OK;
415 } 415 }
416 416
417 int InitV8(const scoped_refptr<ProxyResolverScriptData>& pac_script) { 417 int InitV8(const scoped_refptr<ProxyResolverScriptData>& pac_script) {
418 v8::Locker locked(isolate_); 418 v8::Locker locked(isolate_);
419 v8::Isolate::Scope isolate_scope(isolate_); 419 v8::Isolate::Scope isolate_scope(isolate_);
420 v8::HandleScope scope(isolate_); 420 v8::HandleScope scope(isolate_);
421 421
422 v8_this_.Reset(isolate_, v8::External::New(isolate_, this)); 422 v8_this_.Reset(isolate_, v8::External::New(isolate_, this));
423 v8::Local<v8::External> v8_this = 423 v8::Local<v8::External> v8_this =
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
814 return 0; 814 return 0;
815 815
816 v8::Locker locked(g_default_isolate_); 816 v8::Locker locked(g_default_isolate_);
817 v8::Isolate::Scope isolate_scope(g_default_isolate_); 817 v8::Isolate::Scope isolate_scope(g_default_isolate_);
818 v8::HeapStatistics heap_statistics; 818 v8::HeapStatistics heap_statistics;
819 g_default_isolate_->GetHeapStatistics(&heap_statistics); 819 g_default_isolate_->GetHeapStatistics(&heap_statistics);
820 return heap_statistics.used_heap_size(); 820 return heap_statistics.used_heap_size();
821 } 821 }
822 822
823 } // namespace net 823 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_config_service_win.cc ('k') | net/proxy/proxy_resolver_v8_tracing_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698