enhanced_bookmarks_features.cc revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/bookmarks/enhanced_bookmarks_features.h" 6 7#include "base/command_line.h" 8#include "chrome/common/chrome_switches.h" 9#include "components/variations/variations_associated_data.h" 10#include "extensions/common/features/feature.h" 11#include "extensions/common/features/feature_provider.h" 12 13const char kFieldTrialName[] = "EnhancedBookmarks"; 14 15bool IsEnhancedBookmarksExperimentEnabled() { 16 std::string ext_id = GetEnhancedBookmarksExtensionId(); 17 extensions::FeatureProvider* feature_provider = 18 extensions::FeatureProvider::GetPermissionFeatures(); 19 extensions::Feature* feature = feature_provider->GetFeature("metricsPrivate"); 20 return (feature && feature->IsIdInWhitelist(ext_id)); 21} 22 23bool IsEnableDomDistillerSet() { 24 if (CommandLine::ForCurrentProcess()-> 25 HasSwitch(switches::kEnableDomDistiller)) { 26 return true; 27 } 28 if (chrome_variations::GetVariationParamValue( 29 kFieldTrialName, "enable-dom-distiller") == "1") 30 return true; 31 32 return false; 33} 34 35bool IsEnableSyncArticlesSet() { 36 if (CommandLine::ForCurrentProcess()-> 37 HasSwitch(switches::kEnableSyncArticles)) { 38 return true; 39 } 40 if (chrome_variations::GetVariationParamValue( 41 kFieldTrialName, "enable-sync-articles") == "1") 42 return true; 43 44 return false; 45} 46 47std::string GetEnhancedBookmarksExtensionId() { 48 return chrome_variations::GetVariationParamValue(kFieldTrialName, "id"); 49} 50