Index: chrome/browser/extensions/api/instance_id/instance_id_api.cc |
diff --git a/chrome/browser/extensions/api/instance_id/instance_id_api.cc b/chrome/browser/extensions/api/instance_id/instance_id_api.cc |
index f7cdbe2c27031057d18d5e7b8f8f40b2b936696b..1c18eb5073cd71657af26234c497ef6b9fa360b5 100644 |
--- a/chrome/browser/extensions/api/instance_id/instance_id_api.cc |
+++ b/chrome/browser/extensions/api/instance_id/instance_id_api.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/extensions/api/instance_id/instance_id_api.h" |
#include "base/logging.h" |
+#include "base/metrics/field_trial.h" |
#include "base/metrics/histogram_macros.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/services/gcm/instance_id/instance_id_profile_service.h" |
@@ -17,6 +18,9 @@ namespace extensions { |
namespace { |
+const char kInstanceIDFieldTrialName[] = "InstanceID"; |
+const char kInstanceIDFieldTrialEnabledGroupName[] = "Enabled"; |
+ |
// Error messages. |
const char kInvalidParameter[] = "Function was called with invalid parameters."; |
const char kDisabled[] = "Instance ID is currently disabled."; |
@@ -74,7 +78,12 @@ ExtensionFunction::ResponseAction InstanceIDApiFunction::Run() { |
bool InstanceIDApiFunction::IsEnabled() const { |
Profile* profile = Profile::FromBrowserContext(browser_context()); |
- return instance_id::InstanceIDProfileService::IsInstanceIDEnabled(profile); |
+ if (!instance_id::InstanceIDProfileService::IsInstanceIDEnabled(profile)) |
+ return false; |
+ |
+ std::string group_name = |
+ base::FieldTrialList::FindFullName(kInstanceIDFieldTrialName); |
+ return group_name == kInstanceIDFieldTrialEnabledGroupName; |
} |
instance_id::InstanceID* InstanceIDApiFunction::GetInstanceID() const { |