OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2015 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 #include "net/proxy/proxy_resolver_error_observer_mojo.h" | |
6 | |
7 #include "base/bind.h" | |
8 #include "base/location.h" | |
9 #include "base/message_loop/message_loop_proxy.h" | |
10 #include "mojo/common/common_type_converters.h" | |
11 | |
12 namespace net { | |
13 | |
14 // static | |
15 scoped_ptr<ProxyResolverErrorObserver> ProxyResolverErrorObserverMojo::Create( | |
16 interfaces::ProxyResolverErrorObserverPtr error_observer) { | |
17 if (!error_observer) | |
18 return nullptr; | |
19 | |
20 return scoped_ptr<ProxyResolverErrorObserver>( | |
21 new ProxyResolverErrorObserverMojo(error_observer.Pass())); | |
22 } | |
23 | |
24 void ProxyResolverErrorObserverMojo::OnPACScriptError( | |
25 int line_number, | |
26 const base::string16& error) { | |
27 if (!task_runner_->RunsTasksOnCurrentThread()) { | |
28 task_runner_->PostTask( | |
29 FROM_HERE, base::Bind(&ProxyResolverErrorObserverMojo::OnPACScriptError, | |
eroman
2015/05/15 07:22:03
So the reason for this is that the mojo interface
Sam McNally
2015/05/15 09:44:59
Yes.
| |
30 weak_this_, line_number, error)); | |
31 return; | |
32 } | |
33 error_observer_->OnPacScriptError(line_number, mojo::String::From(error)); | |
34 } | |
35 | |
36 ProxyResolverErrorObserverMojo::ProxyResolverErrorObserverMojo( | |
37 interfaces::ProxyResolverErrorObserverPtr error_observer) | |
38 : error_observer_(error_observer.Pass()), | |
39 task_runner_(base::MessageLoopProxy::current()), | |
40 weak_factory_(this) { | |
41 weak_this_ = weak_factory_.GetWeakPtr(); | |
42 } | |
43 | |
44 ProxyResolverErrorObserverMojo::~ProxyResolverErrorObserverMojo() = default; | |
45 | |
46 } // namespace net | |
OLD | NEW |