Home | History | Annotate | Download | only in proxy
      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