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 0b898ab6881e848b08d5e77a9f68b40da2ae1a4f..fc488a2b2c80fc919a23aed713a510213e3fb307 100644 |
--- a/chrome/browser/services/gcm/gcm_profile_service.cc |
+++ b/chrome/browser/services/gcm/gcm_profile_service.cc |
@@ -142,10 +142,31 @@ void GCMProfileService::RegisterProfilePrefs( |
} |
#if defined(OS_ANDROID) |
+static GCMProfileService* debug_instance = nullptr; // TODO(johnme): Remove. |
+ |
GCMProfileService::GCMProfileService(Profile* profile) |
: profile_(profile), |
push_messaging_service_(this, profile) { |
- DCHECK(!profile->IsOffTheRecord()); |
+ CHECK(!profile->IsOffTheRecord()); |
+ |
+ // TODO(johnme): Remove this debug code once the following crash has been |
+ // understood: https://goto.google.com/gcmdriver-already-instantiated |
Bernhard Bauer
2015/01/08 16:38:25
Just reference the bug here.
johnme
2015/01/08 16:49:01
Done.
|
+ if (debug_instance != nullptr) { |
+ LOG(FATAL) << "An instance of GCMProfileService already exists!" |
+ << " Old profile: " << debug_instance->profile_ << " " |
+ << debug_instance->profile_->GetDebugName() << " " |
+ << debug_instance->profile_->GetProfileType() << " " |
+ << debug_instance->profile_->IsSupervised() << " " |
+ << debug_instance->profile_->IsNewProfile() << " " |
+ << debug_instance->profile_->GetStartTime().ToInternalValue() |
+ << ", new profile: " << profile << " " |
+ << profile_->GetDebugName() << " " |
+ << profile_->GetProfileType() << " " |
+ << profile_->IsSupervised() << " " |
+ << profile_->IsNewProfile() << " " |
+ << profile_->GetStartTime().ToInternalValue(); |
+ } |
+ debug_instance = this; |
driver_.reset(new GCMDriverAndroid); |
} |