[GCM] Make GCMProfileService create and own GCMClient
We're switching to one GCMClient per profile.
BUG=284553
TEST=existing tests
Review URL: https://codereview.chromium.org/149803009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249824 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/services/gcm/gcm_client_mock.cc b/chrome/browser/services/gcm/gcm_client_mock.cc
index e2e3bc3..4945a27b 100644
--- a/chrome/browser/services/gcm/gcm_client_mock.cc
+++ b/chrome/browser/services/gcm/gcm_client_mock.cc
@@ -25,14 +25,22 @@
} // namespace
-GCMClientMock::GCMClientMock()
- : ready_(true),
+GCMClientMock::GCMClientMock(Status status)
+ : status_(status),
simulate_server_error_(false) {
}
GCMClientMock::~GCMClientMock() {
}
+void GCMClientMock::Initialize(
+ const checkin_proto::ChromeBuildProto& chrome_build_proto,
+ const base::FilePath& store_path,
+ const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner,
+ const scoped_refptr<net::URLRequestContextGetter>&
+ url_request_context_getter) {
+}
+
void GCMClientMock::SetUserDelegate(const std::string& username,
Delegate* delegate) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
@@ -98,7 +106,7 @@
}
bool GCMClientMock::IsReady() const {
- return ready_;
+ return status_ == READY;
}
void GCMClientMock::ReceiveMessage(const std::string& username,
@@ -129,15 +137,11 @@
app_id));
}
-void GCMClientMock::SetReady(bool ready) {
+void GCMClientMock::SetReady() {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+ DCHECK_EQ(status_, NOT_READY);
- if (ready == ready_)
- return;
- ready_ = ready;
-
- if (!ready_)
- return;
+ status_ = READY;
content::BrowserThread::PostTask(
content::BrowserThread::IO,
FROM_HERE,