Index: chrome/browser/ui/app_list_service.cc |
diff --git a/chrome/browser/ui/app_list_service.cc b/chrome/browser/ui/app_list_service.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..95f4c66c7efa4e14c79efb938a138ceceae413ef |
--- /dev/null |
+++ b/chrome/browser/ui/app_list_service.cc |
@@ -0,0 +1,110 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/ui/app_list_service.h" |
+ |
+#include "base/file_path.h" |
+ |
+// TODO(tapted): split this into 2-3 files. |
+#if defined(ENABLE_APP_LIST) |
+#include "base/file_util.h" |
+#include "build/build_config.h" |
+#include "chrome/browser/browser_process.h" |
+#include "chrome/browser/extensions/extension_prefs.h" |
+#include "chrome/browser/prefs/pref_registry_simple.h" |
+#include "chrome/browser/prefs/pref_service.h" |
+#include "chrome/common/chrome_constants.h" |
+#include "chrome/common/pref_names.h" |
+#endif |
+ |
+namespace { |
+class AppListServiceDisabled : public AppListService { |
+ public: |
+ AppListServiceDisabled() {} |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(AppListServiceDisabled); |
+}; |
+} |
+ |
+// static |
+AppListService* AppListService::GetDisabled() { |
benwells
2013/02/11 04:12:32
Oh, OK I see now. So this means calling code won't
|
+ CR_DEFINE_STATIC_LOCAL(AppListServiceDisabled, disabled_instance, ()); |
+ return &disabled_instance; |
+} |
+ |
+#if defined(ENABLE_APP_LIST) |
+ |
+// Note: AppListService::Get() will be platform-specific. |
+ |
+// static |
+base::FilePath AppListService::GetAppListProfilePath( |
+ const base::FilePath& user_data_dir) { |
+ PrefService* local_state = g_browser_process->local_state(); |
+ DCHECK(local_state); |
+ |
+ std::string app_list_profile; |
+ if (local_state->HasPrefPath(prefs::kAppListProfile)) |
+ app_list_profile = local_state->GetString(prefs::kAppListProfile); |
+ |
+ // If the user has no profile preference for the app launcher, default to the |
+ // last browser profile used. |
+ if (app_list_profile.empty() && |
+ local_state->HasPrefPath(prefs::kProfileLastUsed)) |
+ app_list_profile = local_state->GetString(prefs::kProfileLastUsed); |
+ |
+ std::string profile_path = app_list_profile.empty() ? |
+ chrome::kInitialProfile : |
+ app_list_profile; |
+ |
+ return user_data_dir.AppendASCII(profile_path); |
+} |
+ |
+// static |
+void AppListService::RegisterAppListPrefs(PrefRegistrySimple* registry) { |
+ registry->RegisterStringPref(prefs::kAppListProfile, ""); |
+} |
+ |
+#else |
+ |
+// static |
+AppListService* AppListService::Get() { |
+ return GetDisabled(); |
+} |
+ |
+// static |
+base::FilePath AppListService::GetAppListProfilePath( |
+ const base::FilePath& user_data_dir) { |
+ NOTREACHED(); |
+ return base::FilePath(); |
+} |
+ |
+// static |
+void AppListService::RegisterAppListPrefs(PrefRegistrySimple* registry) {} |
+ |
+#endif // else defined(ENABLE_APP_LIST) |
+ |
+void AppListService::Init(Profile* initial_profile) {} |
+ |
+void AppListService::ShowAppList(Profile* profile) {} |
+ |
+void AppListService::SetAppListProfile( |
+ const base::FilePath& profile_file_path) {} |
+ |
+void AppListService::DismissAppList() {} |
+ |
+Profile* AppListService::GetCurrentAppListProfile() { return NULL; } |
+ |
+bool AppListService::IsAppListVisible() { return false; } |
+ |
+void AppListService::NotifyAppListOfBeginExtensionInstall( |
+ Profile* profile, |
+ const std::string& extension_id, |
+ const std::string& extension_name, |
+ const gfx::ImageSkia& installing_icon) {} |
+ |
+void AppListService::NotifyAppListOfDownloadProgress( |
+ Profile* profile, |
+ const std::string& extension_id, |
+ int percent_downloaded) {} |