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_PROXY_RESOLVER_ERROR_OBSERVER_H_ 6#define NET_PROXY_PROXY_RESOLVER_ERROR_OBSERVER_H_ 7 8#include "base/basictypes.h" 9#include "base/strings/string16.h" 10#include "net/base/net_export.h" 11 12namespace net { 13 14// Interface for observing JavaScript error messages from PAC scripts. 15class NET_EXPORT_PRIVATE ProxyResolverErrorObserver { 16 public: 17 ProxyResolverErrorObserver() {} 18 virtual ~ProxyResolverErrorObserver() {} 19 20 // Handler for when an error is encountered. |line_number| may be -1 21 // if a line number is not applicable to this error. |error| is a message 22 // describing the error. 23 // 24 // Note on threading: This may get called from a worker thread. If the 25 // backing proxy resolver is ProxyResolverV8Tracing, then it will not 26 // be called concurrently, however it will be called from a different 27 // thread than the proxy resolver's origin thread. 28 virtual void OnPACScriptError(int line_number, 29 const base::string16& error) = 0; 30 31 private: 32 DISALLOW_COPY_AND_ASSIGN(ProxyResolverErrorObserver); 33}; 34 35} // namespace net 36 37#endif // NET_PROXY_PROXY_RESOLVER_ERROR_OBSERVER_H_ 38