Chromium Code Reviews| Index: remoting/signaling/delegating_signal_strategy.cc |
| diff --git a/remoting/signaling/delegating_signal_strategy.cc b/remoting/signaling/delegating_signal_strategy.cc |
| index 83f23907acad2c6ab1829693b6ea91a6dc907841..c5d904e578ce3e23b779cc2184654caa73a1569e 100644 |
| --- a/remoting/signaling/delegating_signal_strategy.cc |
| +++ b/remoting/signaling/delegating_signal_strategy.cc |
| @@ -16,7 +16,7 @@ namespace remoting { |
| DelegatingSignalStrategy::DelegatingSignalStrategy( |
| std::string local_jid, |
| scoped_refptr<base::SingleThreadTaskRunner> client_task_runner, |
| - const SendIqCallback& send_iq_callback) |
| + const IqCallback& send_iq_callback) |
| : local_jid_(local_jid), |
| delegate_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
| client_task_runner_(client_task_runner), |
| @@ -25,14 +25,25 @@ DelegatingSignalStrategy::DelegatingSignalStrategy( |
| DelegatingSignalStrategy::~DelegatingSignalStrategy() {} |
| -void DelegatingSignalStrategy::OnIncomingMessage(const std::string& message) { |
| - if (!client_task_runner_->BelongsToCurrentThread()) { |
| - client_task_runner_->PostTask( |
| - FROM_HERE, base::Bind(&DelegatingSignalStrategy::OnIncomingMessage, |
| - weak_factory_.GetWeakPtr(), message)); |
| - return; |
| - } |
| +DelegatingSignalStrategy::IqCallback |
| +DelegatingSignalStrategy::MakeIncomingMessageCallback() { |
| + return base::Bind(&OnIncomingMessageFromDelegate, weak_factory_.GetWeakPtr(), |
|
Sergey Ulanov
2017/03/14 19:20:59
use base::BindRepeating() please
(base::Bind is b
kelvinp
2017/03/15 21:56:46
Done.
|
| + client_task_runner_); |
| +} |
| +// static |
| +void DelegatingSignalStrategy::OnIncomingMessageFromDelegate( |
| + base::WeakPtr<DelegatingSignalStrategy> weak_ptr, |
| + scoped_refptr<base::SingleThreadTaskRunner> client_task_runner, |
| + const std::string& message) { |
| + DCHECK(!client_task_runner->BelongsToCurrentThread()); |
| + client_task_runner->PostTask( |
| + FROM_HERE, base::Bind(&DelegatingSignalStrategy::OnIncomingMessage, |
|
Sergey Ulanov
2017/03/14 19:20:59
BindOnce
kelvinp
2017/03/15 21:56:46
We can't migrate yet as PostTask() expects a Closu
|
| + weak_ptr, message)); |
| +} |
| + |
| +void DelegatingSignalStrategy::OnIncomingMessage(const std::string& message) { |
| + DCHECK(client_task_runner_->BelongsToCurrentThread()); |
| std::unique_ptr<buzz::XmlElement> stanza(buzz::XmlElement::ForStr(message)); |
| if (!stanza.get()) { |
| LOG(WARNING) << "Malformed XMPP stanza received: " << message; |