Chromium Code Reviews| Index: chrome/browser/android/data_usage/external_data_use_observer_bridge.cc |
| diff --git a/chrome/browser/android/data_usage/external_data_use_observer_bridge.cc b/chrome/browser/android/data_usage/external_data_use_observer_bridge.cc |
| index 01f57f4fc9366e3da0a15c7a53a07ad7c32434c3..51cec14eb42ea26d05a09824a26a1d52f5070680 100644 |
| --- a/chrome/browser/android/data_usage/external_data_use_observer_bridge.cc |
| +++ b/chrome/browser/android/data_usage/external_data_use_observer_bridge.cc |
| @@ -17,6 +17,10 @@ |
| #include "chrome/browser/android/data_usage/data_use_tab_model.h" |
| #include "chrome/browser/android/data_usage/external_data_use_observer.h" |
| #include "chrome/browser/metrics/chrome_metrics_service_accessor.h" |
| +#include "chrome/browser/profiles/profile.h" |
| +#include "chrome/browser/profiles/profile_manager.h" |
| +#include "chrome/browser/signin/signin_manager_factory.h" |
| +#include "components/signin/core/browser/signin_manager.h" |
| #include "components/variations/variations_associated_data.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "jni/ExternalDataUseObserver_jni.h" |
| @@ -211,7 +215,17 @@ void ExternalDataUseObserverBridge::ShouldRegisterAsDataUseObserver( |
| external_data_use_observer_, should_register)); |
| variations::VariationID variation_id = GetGoogleVariationID(); |
| - if (variation_id != variations::EMPTY_ID) { |
| + Profile* profile = ProfileManager::GetLastUsedProfile(); |
| + DCHECK(profile); |
|
tbansal1
2016/12/12 18:55:23
nit: DCHECK is not required since if the |profile|
|
| + |
| + // Skip registering synthetic field trial for incognito profiles. |
| + if (profile->GetProfileType() == INCOGNITO_PROFILE) |
| + return; |
| + |
| + const SigninManager* signin_manager = |
| + SigninManagerFactory::GetForProfileIfExists(profile); |
| + if (variation_id != variations::EMPTY_ID && signin_manager && |
| + signin_manager->IsAuthenticated()) { |
| // Set variation id for the enabled group if |should_register| is true. |
| // Otherwise clear the variation id for the enabled group by setting to |
| // EMPTY_ID. |