| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <cstdio> | 6 #include <cstdio> |
| 7 | 7 |
| 8 #include "net/proxy/proxy_resolver_v8.h" | 8 #include "net/proxy/proxy_resolver_v8.h" |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 721 // ProxyResolverV8 ------------------------------------------------------------ | 721 // ProxyResolverV8 ------------------------------------------------------------ |
| 722 | 722 |
| 723 ProxyResolverV8::ProxyResolverV8( | 723 ProxyResolverV8::ProxyResolverV8( |
| 724 ProxyResolverJSBindings* custom_js_bindings) | 724 ProxyResolverJSBindings* custom_js_bindings) |
| 725 : ProxyResolver(true /*expects_pac_bytes*/), | 725 : ProxyResolver(true /*expects_pac_bytes*/), |
| 726 js_bindings_(custom_js_bindings) { | 726 js_bindings_(custom_js_bindings) { |
| 727 } | 727 } |
| 728 | 728 |
| 729 ProxyResolverV8::~ProxyResolverV8() {} | 729 ProxyResolverV8::~ProxyResolverV8() {} |
| 730 | 730 |
| 731 int ProxyResolverV8::GetProxyForURL(const GURL& query_url, | 731 int ProxyResolverV8::GetProxyForURL( |
| 732 ProxyInfo* results, | 732 const GURL& query_url, ProxyInfo* results, |
| 733 OldCompletionCallback* /*callback*/, | 733 const CompletionCallback& /*callback*/, |
| 734 RequestHandle* /*request*/, | 734 RequestHandle* /*request*/, |
| 735 const BoundNetLog& net_log) { | 735 const BoundNetLog& net_log) { |
| 736 // If the V8 instance has not been initialized (either because | 736 // If the V8 instance has not been initialized (either because |
| 737 // SetPacScript() wasn't called yet, or because it failed. | 737 // SetPacScript() wasn't called yet, or because it failed. |
| 738 if (!context_.get()) | 738 if (!context_.get()) |
| 739 return ERR_FAILED; | 739 return ERR_FAILED; |
| 740 | 740 |
| 741 // Associate some short-lived context with this request. This context will be | 741 // Associate some short-lived context with this request. This context will be |
| 742 // available to any of the javascript "bindings" that are subsequently invoked | 742 // available to any of the javascript "bindings" that are subsequently invoked |
| 743 // from the javascript. | 743 // from the javascript. |
| 744 // | 744 // |
| 745 // In particular, we create a HostCache that is aggressive about caching | 745 // In particular, we create a HostCache that is aggressive about caching |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 782 void ProxyResolverV8::PurgeMemory() { | 782 void ProxyResolverV8::PurgeMemory() { |
| 783 context_->PurgeMemory(); | 783 context_->PurgeMemory(); |
| 784 } | 784 } |
| 785 | 785 |
| 786 void ProxyResolverV8::Shutdown() { | 786 void ProxyResolverV8::Shutdown() { |
| 787 js_bindings_->Shutdown(); | 787 js_bindings_->Shutdown(); |
| 788 } | 788 } |
| 789 | 789 |
| 790 int ProxyResolverV8::SetPacScript( | 790 int ProxyResolverV8::SetPacScript( |
| 791 const scoped_refptr<ProxyResolverScriptData>& script_data, | 791 const scoped_refptr<ProxyResolverScriptData>& script_data, |
| 792 OldCompletionCallback* /*callback*/) { | 792 const CompletionCallback& /*callback*/) { |
| 793 DCHECK(script_data.get()); | 793 DCHECK(script_data.get()); |
| 794 context_.reset(); | 794 context_.reset(); |
| 795 if (script_data->utf16().empty()) | 795 if (script_data->utf16().empty()) |
| 796 return ERR_PAC_SCRIPT_FAILED; | 796 return ERR_PAC_SCRIPT_FAILED; |
| 797 | 797 |
| 798 // Try parsing the PAC script. | 798 // Try parsing the PAC script. |
| 799 scoped_ptr<Context> context(new Context(js_bindings_.get())); | 799 scoped_ptr<Context> context(new Context(js_bindings_.get())); |
| 800 int rv = context->InitV8(script_data); | 800 int rv = context->InitV8(script_data); |
| 801 if (rv == OK) | 801 if (rv == OK) |
| 802 context_.reset(context.release()); | 802 context_.reset(context.release()); |
| 803 return rv; | 803 return rv; |
| 804 } | 804 } |
| 805 | 805 |
| 806 } // namespace net | 806 } // namespace net |
| OLD | NEW |