diff options
Diffstat (limited to 'net/proxy/proxy_resolver_js_bindings.cc')
-rw-r--r-- | net/proxy/proxy_resolver_js_bindings.cc | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/net/proxy/proxy_resolver_js_bindings.cc b/net/proxy/proxy_resolver_js_bindings.cc index ae42554..18d4e9e 100644 --- a/net/proxy/proxy_resolver_js_bindings.cc +++ b/net/proxy/proxy_resolver_js_bindings.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -14,6 +14,7 @@ #include "net/base/net_log.h" #include "net/base/net_util.h" #include "net/base/sys_addrinfo.h" +#include "net/proxy/proxy_resolver_error_observer.h" #include "net/proxy/proxy_resolver_request_context.h" namespace net { @@ -64,9 +65,12 @@ class AlertNetlogParams : public NetLog::EventParameters { // ProxyResolverJSBindings implementation. class DefaultJSBindings : public ProxyResolverJSBindings { public: - DefaultJSBindings(HostResolver* host_resolver, NetLog* net_log) + DefaultJSBindings(HostResolver* host_resolver, + NetLog* net_log, + ProxyResolverErrorObserver* error_observer) : host_resolver_(host_resolver), - net_log_(net_log) { + net_log_(net_log), + error_observer_(error_observer) { } // Handler for "alert(message)". @@ -150,6 +154,9 @@ class DefaultJSBindings : public ProxyResolverJSBindings { LogEventToCurrentRequestAndGlobally( NetLog::TYPE_PAC_JAVASCRIPT_ERROR, new ErrorNetlogParams(line_number, message)); + + if (error_observer_.get()) + error_observer_->OnPACScriptError(line_number, message); } virtual void Shutdown() { @@ -287,14 +294,17 @@ class DefaultJSBindings : public ProxyResolverJSBindings { HostResolver* const host_resolver_; NetLog* net_log_; + scoped_ptr<ProxyResolverErrorObserver> error_observer_; }; } // namespace // static ProxyResolverJSBindings* ProxyResolverJSBindings::CreateDefault( - HostResolver* host_resolver, NetLog* net_log) { - return new DefaultJSBindings(host_resolver, net_log); + HostResolver* host_resolver, + NetLog* net_log, + ProxyResolverErrorObserver* error_observer) { + return new DefaultJSBindings(host_resolver, net_log, error_observer); } } // namespace net |