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 3 // found in the LICENSE file. 4 5 #ifndef NET_PROXY_NETWORK_DELEGATE_ERROR_OBSERVER_H_ 6 #define NET_PROXY_NETWORK_DELEGATE_ERROR_OBSERVER_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/memory/ref_counted.h" 10 #include "net/proxy/proxy_resolver_error_observer.h" 11 12 namespace base { 13 class MessageLoopProxy; 14 } 15 16 namespace net { 17 18 class NetworkDelegate; 19 20 // An implementation of ProxyResolverErrorObserver that forwards PAC script 21 // errors to a NetworkDelegate object on the thread it lives on. 22 class NET_EXPORT_PRIVATE NetworkDelegateErrorObserver 23 : public ProxyResolverErrorObserver { 24 public: 25 NetworkDelegateErrorObserver(NetworkDelegate* network_delegate, 26 base::MessageLoopProxy* origin_loop); 27 virtual ~NetworkDelegateErrorObserver(); 28 29 // ProxyResolverErrorObserver implementation. 30 virtual void OnPACScriptError(int line_number, const base::string16& error) 31 OVERRIDE; 32 33 private: 34 class Core; 35 36 scoped_refptr<Core> core_; 37 38 DISALLOW_COPY_AND_ASSIGN(NetworkDelegateErrorObserver); 39 }; 40 41 } // namespace net 42 43 #endif // NET_PROXY_NETWORK_DELEGATE_ERROR_OBSERVER_H_ 44