Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / external_component_loader.cc
index f255d17..80fa558 100644 (file)
@@ -9,24 +9,12 @@
 #include "base/strings/string_number_conversions.h"
 #include "chrome/browser/bookmarks/enhanced_bookmarks_features.h"
 #include "chrome/browser/browser_process.h"
+#include "chrome/browser/search/hotword_service_factory.h"
 #include "chrome/browser/signin/signin_manager_factory.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/extensions/extension_constants.h"
 #include "components/signin/core/browser/signin_manager.h"
-
-// TODO(thestig): Remove after extensions are disabled on mobile.
-#if defined(ENABLE_EXTENSIONS)
-#include "chrome/browser/search/hotword_service_factory.h"
-#endif
-
-namespace {
-
-bool IsUserSignedin(Profile* profile) {
-  SigninManagerBase* signin = SigninManagerFactory::GetForProfile(profile);
-  return signin && !signin->GetAuthenticatedUsername().empty();
-}
-
-}  // namespace
+#include "extensions/common/extension_urls.h"
 
 namespace extensions {
 
@@ -37,9 +25,8 @@ ExternalComponentLoader::ExternalComponentLoader(Profile* profile)
 ExternalComponentLoader::~ExternalComponentLoader() {}
 
 // static
-bool ExternalComponentLoader::IsModifiable(
-    const extensions::Extension* extension) {
-  if (extension->location() == extensions::Manifest::EXTERNAL_COMPONENT) {
+bool ExternalComponentLoader::IsModifiable(const Extension* extension) {
+  if (extension->location() == Manifest::EXTERNAL_COMPONENT) {
     static const char* enhanced_extension_hashes[] = {
         "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2",  // http://crbug.com/312900
         "D57DE394F36DC1C3220E7604C575D29C51A6C495",  // http://crbug.com/319444
@@ -60,24 +47,18 @@ void ExternalComponentLoader::StartLoading() {
   prefs_->SetString(appId + ".external_update_url",
                     extension_urls::GetWebstoreUpdateUrl().spec());
 
-#if defined(ENABLE_EXTENSIONS)
   if (HotwordServiceFactory::IsHotwordAllowed(profile_)) {
     std::string hotwordId = extension_misc::kHotwordExtensionId;
     CommandLine* command_line = CommandLine::ForCurrentProcess();
-    // TODO(amistry): Load the hotword shared module when enabling built-in
-    // hotword detection.
-    if (!command_line->HasSwitch(switches::kEnableExperimentalHotwording)) {
-      prefs_->SetString(hotwordId + ".external_update_url",
-                        extension_urls::GetWebstoreUpdateUrl().spec());
+    if (command_line->HasSwitch(switches::kEnableExperimentalHotwording)) {
+      hotwordId = extension_misc::kHotwordSharedModuleId;
     }
+    prefs_->SetString(hotwordId + ".external_update_url",
+                      extension_urls::GetWebstoreUpdateUrl().spec());
   }
-#endif
 
-  UpdateBookmarksExperimentState(
-      profile_->GetPrefs(),
-      g_browser_process->local_state(),
-      IsUserSignedin(profile_),
-      BOOKMARKS_EXPERIMENT_ENABLED_FROM_SYNC_UNKNOWN);
+  InitBookmarksExperimentState(profile_);
+
   std::string ext_id;
   if (GetBookmarksExperimentExtensionID(profile_->GetPrefs(), &ext_id) &&
       !ext_id.empty()) {