Index: chromeos/dbus/gsm_sms_client.cc |
diff --git a/chromeos/dbus/gsm_sms_client.cc b/chromeos/dbus/gsm_sms_client.cc |
index 566b262ece7b8ca9ef49a86933b11d050ab07f7d..42f8d4499c8cac9d9bcc27653c4a29e2ca76ecb2 100644 |
--- a/chromeos/dbus/gsm_sms_client.cc |
+++ b/chromeos/dbus/gsm_sms_client.cc |
@@ -277,21 +277,23 @@ class GsmSMSClientStubImpl : public GsmSMSClient { |
virtual void List(const std::string& service_name, |
const dbus::ObjectPath& object_path, |
const ListCallback& callback) OVERRIDE { |
- PushTestMessageChain(); |
callback.Run(message_list_); |
+ PushTestMessageDelayed(); |
} |
private: |
+ void PushTestMessageDelayed() { |
+ const int kSmsMessageDelaySeconds = 5; |
+ MessageLoop::current()->PostDelayedTask( |
+ FROM_HERE, |
+ base::Bind(&GsmSMSClientStubImpl::PushTestMessageChain, |
+ weak_ptr_factory_.GetWeakPtr()), |
+ base::TimeDelta::FromSeconds(kSmsMessageDelaySeconds)); |
+ } |
+ |
void PushTestMessageChain() { |
- if (PushTestMessage()) { |
- // Queue up the next message. |
- const int kSmsMessageDelaySeconds = 5; |
- MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- base::Bind(&GsmSMSClientStubImpl::PushTestMessageChain, |
- weak_ptr_factory_.GetWeakPtr()), |
- base::TimeDelta::FromSeconds(kSmsMessageDelaySeconds)); |
- } |
+ if (PushTestMessage()) |
+ PushTestMessageDelayed(); |
} |
bool PushTestMessage() { |