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 12namespace base { 13class MessageLoopProxy; 14} 15 16namespace net { 17 18class NetworkDelegate; 19 20// An implementation of ProxyResolverErrorObserver that forwards PAC script 21// errors to a NetworkDelegate object on the thread it lives on. 22class 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