Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(178)

Unified Diff: chrome/browser/services/gcm/gcm_profile_service.cc

Issue 176823009: Show device information in chrome://gcm-internals page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Display android id as well. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/services/gcm/gcm_profile_service.cc
diff --git a/chrome/browser/services/gcm/gcm_profile_service.cc b/chrome/browser/services/gcm/gcm_profile_service.cc
index c215192c8df17f593250d6d4f9d6306a0d3b5f73..cc9a7c623c0819bbaf9faa2102e3a34e52cbb066 100644
--- a/chrome/browser/services/gcm/gcm_profile_service.cc
+++ b/chrome/browser/services/gcm/gcm_profile_service.cc
@@ -273,6 +273,8 @@ class GCMProfileService::IOWorker
void Send(const std::string& app_id,
const std::string& receiver_id,
const GCMClient::OutgoingMessage& message);
+ bool IsGCMClientCreated();
jianli 2014/03/06 01:55:21 It seems that none is calling it.
juyik 2014/03/06 02:23:59 Done.
+ void RequestGCMStatistics();
// For testing purpose. Can be called from UI thread. Use with care.
GCMClient* gcm_client_for_testing() const { return gcm_client_.get(); }
@@ -459,6 +461,39 @@ void GCMProfileService::IOWorker::Send(
gcm_client_->Send(app_id, receiver_id, message);
}
+bool GCMProfileService::IOWorker::IsGCMClientCreated() {
+ return (gcm_client_.get() != NULL);
+}
+
+void GCMProfileService::IOWorker::RequestGCMStatistics() {
+ gcm::GCMClient::GCMStatistics stats;
jianli 2014/03/06 01:55:21 nit: this should be placed after DCHECK.
juyik 2014/03/06 02:23:59 Done.
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
+
+ if (gcm_client_.get()) {
+ stats = gcm_client_->GetStatistics();
+ }
+ stats.gcm_client_created = (gcm_client_.get() != NULL);
jianli 2014/03/06 01:55:21 this can be simply moved inside the if block above
juyik 2014/03/06 02:23:59 Done.
+
+ content::BrowserThread::PostTask(
+ content::BrowserThread::UI,
+ FROM_HERE,
+ base::Bind(&GCMProfileService::RequestGCMStatisticsFinished,
+ service_,
+ stats));
+}
+
+std::string GCMProfileService::GetGCMEnabledStateString(GCMEnabledState state) {
+ switch (state) {
+ case GCMProfileService::ALWAYS_ENABLED:
+ return "ALWAYS_ENABLED";
+ case GCMProfileService::ENABLED_FOR_APPS:
+ return "ENABLED_FOR_APPS";
+ case GCMProfileService::ALWAYS_DISABLED:
+ return "ALWAYS_DISABLED";
+ }
+ return std::string();
jianli 2014/03/06 01:55:21 ditto
juyik 2014/03/06 02:23:59 Done.
+}
+
GCMProfileService::RegistrationInfo::RegistrationInfo() {
}
@@ -705,6 +740,27 @@ GCMClient* GCMProfileService::GetGCMClientForTesting() const {
return io_worker_ ? io_worker_->gcm_client_for_testing() : NULL;
}
+bool GCMProfileService::IsSignedIn() const {
+ return !username_.empty();
jianli 2014/03/06 01:55:21 This indeed means more than signed-in. We set |use
juyik 2014/03/06 02:23:59 In that case, I will just display the username her
+}
+
+bool GCMProfileService::IsGCMClientReady() const {
+ return gcm_client_ready_;
+}
+
+void GCMProfileService::RequestGCMStatistics(
+ RequestGCMStatisticsCallback callback) {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+ DCHECK(!callback.is_null());
+
+ request_gcm_statistics_callback_ = callback;
+ content::BrowserThread::PostTask(
+ content::BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&GCMProfileService::IOWorker::RequestGCMStatistics,
+ io_worker_));
+}
+
void GCMProfileService::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
@@ -1070,6 +1126,13 @@ bool GCMProfileService::ParsePersistedRegistrationInfo(
return true;
}
+void GCMProfileService::RequestGCMStatisticsFinished(
+ GCMClient::GCMStatistics stats) {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+
+ request_gcm_statistics_callback_.Run(stats);
+}
+
// static
const char* GCMProfileService::GetPersistentRegisterKeyForTesting() {
return kRegistrationKey;

Powered by Google App Engine
This is Rietveld 408576698