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 12 namespace net { 13 14 // Interface for observing JavaScript error messages from PAC scripts. 15 class 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