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

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

Issue 12095052: Move app_launcher.* out of chrome/browser/extensions and into apps/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Beserk Q. More rebase Created 7 years, 10 months 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
« no previous file with comments | « chrome/browser/extensions/app_launcher.h ('k') | chrome/browser/extensions/extension_install_ui_android.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/app_launcher.cc
diff --git a/chrome/browser/extensions/app_launcher.cc b/chrome/browser/extensions/app_launcher.cc
deleted file mode 100644
index 5ca6fbf7f277cf8aa0ef6891149616f4a416dff2..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/app_launcher.cc
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (c) 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/extensions/app_launcher.h"
-
-#include "base/command_line.h"
-#include "base/prefs/pref_registry_simple.h"
-#include "base/prefs/pref_service.h"
-#include "base/threading/sequenced_worker_pool.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/pref_names.h"
-#include "content/public/browser/browser_thread.h"
-
-#if defined(OS_WIN)
-#include "chrome/installer/launcher_support/chrome_launcher_support.h"
-#include "chrome/installer/util/browser_distribution.h"
-#endif
-
-namespace extensions {
-
-namespace {
-
-#if defined(OS_WIN)
-void UpdatePrefAndCallCallbackOnUI(
- bool result,
- const OnAppLauncherEnabledCompleted& completion_callback) {
- PrefService* prefs = g_browser_process->local_state();
- prefs->SetBoolean(prefs::kAppLauncherIsEnabled, result);
- completion_callback.Run(result);
-}
-
-void IsAppLauncherInstalledOnBlockingPool(
- const OnAppLauncherEnabledCompleted& completion_callback) {
- DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
- bool result = chrome_launcher_support::IsAppLauncherPresent();
- content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
- base::Bind(UpdatePrefAndCallCallbackOnUI, result, completion_callback));
-}
-#endif
-
-} // namespace
-
-enum AppLauncherState {
- APP_LAUNCHER_UNKNOWN,
- APP_LAUNCHER_ENABLED,
- APP_LAUNCHER_DISABLED,
-};
-
-AppLauncherState SynchronousAppLauncherChecks() {
-#if defined(USE_ASH)
- return APP_LAUNCHER_ENABLED;
-#elif !defined(OS_WIN)
- return APP_LAUNCHER_DISABLED;
-#else
- if (CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kShowAppListShortcut)) {
- return APP_LAUNCHER_ENABLED;
- }
-
- if (!BrowserDistribution::GetDistribution()->AppHostIsSupported())
- return APP_LAUNCHER_DISABLED;
-
- return APP_LAUNCHER_UNKNOWN;
-#endif
-}
-
-void UpdateIsAppLauncherEnabled(
- const OnAppLauncherEnabledCompleted& completion_callback) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-
- AppLauncherState state = SynchronousAppLauncherChecks();
-
- if (state != APP_LAUNCHER_UNKNOWN) {
- bool is_enabled = state == APP_LAUNCHER_ENABLED;
- PrefService* prefs = g_browser_process->local_state();
- prefs->SetBoolean(prefs::kAppLauncherIsEnabled, is_enabled);
- completion_callback.Run(is_enabled);
- return;
- }
-
-#if defined(OS_WIN)
- content::BrowserThread::PostBlockingPoolTask(
- FROM_HERE,
- base::Bind(&IsAppLauncherInstalledOnBlockingPool,
- completion_callback));
-#else
- // SynchronousAppLauncherChecks() never returns APP_LAUNCHER_UNKNOWN on
- // !defined(OS_WIN), so this path is never reached.
- NOTREACHED();
-#endif
-}
-
-bool IsAppLauncherEnabled() {
- PrefService* prefs = g_browser_process->local_state();
- // In some tests, the prefs aren't initialised, but the NTP still needs to
- // work.
- if (!prefs)
- return SynchronousAppLauncherChecks() == APP_LAUNCHER_ENABLED;
- return prefs->GetBoolean(prefs::kAppLauncherIsEnabled);
-}
-
-namespace app_launcher {
-
-void RegisterPrefs(PrefRegistrySimple* registry) {
- // If it is impossible to synchronously determine whether the app launcher is
- // enabled, assume it is disabled. Anything that needs to know the absolute
- // truth should call UpdateIsAppLauncherEnabled().
- //
- // This pref is just a cache of the value from the registry from last time
- // Chrome ran. To avoid having the NTP block on a registry check, it guesses
- // that the value hasn't changed since last time it was checked, using this
- // preference.
- bool is_enabled = SynchronousAppLauncherChecks() == APP_LAUNCHER_ENABLED;
- registry->RegisterBooleanPref(prefs::kAppLauncherIsEnabled, is_enabled);
-}
-
-} // namespace app_launcher
-
-} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/app_launcher.h ('k') | chrome/browser/extensions/extension_install_ui_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698