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

Unified Diff: chrome/browser/extensions/external_component_loader.cc

Issue 68173031: Added enhanced bookmarks extension as an external component extension (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 7 years, 1 month 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/extensions/external_component_loader.cc
diff --git a/chrome/browser/extensions/external_component_loader.cc b/chrome/browser/extensions/external_component_loader.cc
index bec5d2f9e99b90529eaa13f90df9723e127d6370..10a42ebcb702b981fe19cca2774fb30a5601ff80 100644
--- a/chrome/browser/extensions/external_component_loader.cc
+++ b/chrome/browser/extensions/external_component_loader.cc
@@ -4,20 +4,53 @@
#include "chrome/browser/extensions/external_component_loader.h"
+#include "base/command_line.h"
+#include "base/metrics/field_trial.h"
#include "base/values.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension_constants.h"
+#include "components/variations/variations_associated_data.h"
+#include "extensions/common/features/feature.h"
+#include "extensions/common/features/feature_provider.h"
namespace extensions {
+const char kFieldTrialName[] = "EnhancedBookmarks";
+
ExternalComponentLoader::ExternalComponentLoader() {}
ExternalComponentLoader::~ExternalComponentLoader() {}
+// This functione will be removed after experiment goes to all users or go away.
Yaron 2013/11/25 23:49:33 s/functione/function
yefimt 2013/11/26 00:14:48 Done.
+bool ExternalComponentLoader::IsEnhancedBookmarksExperimentEnabled() {
+ const char kFieldTrialDefaultGroupName[] = "Default";
+ std::string field_trial_group_name =
+ base::FieldTrialList::FindFullName(kFieldTrialName);
+ if (field_trial_group_name.empty() ||
+ field_trial_group_name == kFieldTrialDefaultGroupName) {
+ return false;
+ }
+ std::string app_id =
+ chrome_variations::GetVariationParamValue(kFieldTrialName, "id");
+ FeatureProvider* feature_provider = FeatureProvider::GetPermissionFeatures();
+ Feature* feature = feature_provider->GetFeature("metricsPrivate");
+ return (feature && feature->IsIdInWhitelist(app_id));
palmer 2013/11/26 01:03:38 Nit: don't need outer parentheses
+}
+
void ExternalComponentLoader::StartLoading() {
prefs_.reset(new base::DictionaryValue());
std::string appId = extension_misc::kInAppPaymentsSupportAppId;
prefs_->SetString(appId + ".external_update_url",
extension_urls::GetWebstoreUpdateUrl().spec());
+
+ if (IsEnhancedBookmarksExperimentEnabled() &&
+ (CommandLine::ForCurrentProcess()->
+ GetSwitchValueASCII(switches::kEnableEnhancedBookmarks) != "0")) {
+ std::string app_id =
+ chrome_variations::GetVariationParamValue(kFieldTrialName, "id");
+ prefs_->SetString(app_id + ".external_update_url",
+ extension_urls::GetWebstoreUpdateUrl().spec());
+ }
LoadFinished();
}

Powered by Google App Engine
This is Rietveld 408576698