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

Side by Side Diff: chrome/browser/apps/shortcut_manager.cc

Issue 1497193002: Remove all the ephemeral apps code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tests Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/apps/shortcut_manager.h" 5 #include "chrome/browser/apps/shortcut_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 30 matching lines...) Expand all
41 #else 41 #else
42 const int kCurrentAppShortcutsVersion = 0; 42 const int kCurrentAppShortcutsVersion = 0;
43 #endif 43 #endif
44 44
45 // Delay in seconds before running UpdateShortcutsForAllApps. 45 // Delay in seconds before running UpdateShortcutsForAllApps.
46 const int kUpdateShortcutsForAllAppsDelay = 10; 46 const int kUpdateShortcutsForAllAppsDelay = 10;
47 47
48 void CreateShortcutsForApp(Profile* profile, const Extension* app) { 48 void CreateShortcutsForApp(Profile* profile, const Extension* app) {
49 web_app::ShortcutLocations creation_locations; 49 web_app::ShortcutLocations creation_locations;
50 50
51 if (extensions::util::IsEphemeralApp(app->id(), profile)) { 51 // Creates a shortcut for an app in the Chrome Apps subdir of the
52 // Ephemeral apps should not have visible shortcuts, but may still require 52 // applications menu, if there is not already one present.
53 // platform-specific handling. 53 creation_locations.applications_menu_location =
54 creation_locations.applications_menu_location = 54 web_app::APP_MENU_LOCATION_SUBDIR_CHROMEAPPS;
55 web_app::APP_MENU_LOCATION_HIDDEN;
56 } else {
57 // Creates a shortcut for an app in the Chrome Apps subdir of the
58 // applications menu, if there is not already one present.
59 creation_locations.applications_menu_location =
60 web_app::APP_MENU_LOCATION_SUBDIR_CHROMEAPPS;
61 }
62 55
63 web_app::CreateShortcuts( 56 web_app::CreateShortcuts(
64 web_app::SHORTCUT_CREATION_AUTOMATED, creation_locations, profile, app); 57 web_app::SHORTCUT_CREATION_AUTOMATED, creation_locations, profile, app);
65 } 58 }
66 59
67 void SetCurrentAppShortcutsVersion(PrefService* prefs) { 60 void SetCurrentAppShortcutsVersion(PrefService* prefs) {
68 prefs->SetInteger(prefs::kAppShortcutsVersion, kCurrentAppShortcutsVersion); 61 prefs->SetInteger(prefs::kAppShortcutsVersion, kCurrentAppShortcutsVersion);
69 } 62 }
70 63
71 } // namespace 64 } // namespace
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 // profile_manager might be NULL in testing environments or during shutdown. 105 // profile_manager might be NULL in testing environments or during shutdown.
113 if (profile_manager) 106 if (profile_manager)
114 profile_manager->GetProfileInfoCache().RemoveObserver(this); 107 profile_manager->GetProfileInfoCache().RemoveObserver(this);
115 } 108 }
116 } 109 }
117 110
118 void AppShortcutManager::OnExtensionWillBeInstalled( 111 void AppShortcutManager::OnExtensionWillBeInstalled(
119 content::BrowserContext* browser_context, 112 content::BrowserContext* browser_context,
120 const Extension* extension, 113 const Extension* extension,
121 bool is_update, 114 bool is_update,
122 bool from_ephemeral,
123 const std::string& old_name) { 115 const std::string& old_name) {
124 if (!extension->is_app()) 116 if (!extension->is_app())
125 return; 117 return;
126 118
127 // If the app is being updated, update any existing shortcuts but do not 119 // If the app is being updated, update any existing shortcuts but do not
128 // create new ones. If it is being installed, automatically create a 120 // create new ones. If it is being installed, automatically create a
129 // shortcut in the applications menu (e.g., Start Menu). 121 // shortcut in the applications menu (e.g., Start Menu).
130 if (is_update && !from_ephemeral) { 122 if (is_update) {
131 web_app::UpdateAllShortcuts( 123 web_app::UpdateAllShortcuts(
132 base::UTF8ToUTF16(old_name), profile_, extension); 124 base::UTF8ToUTF16(old_name), profile_, extension);
133 } else { 125 } else {
134 CreateShortcutsForApp(profile_, extension); 126 CreateShortcutsForApp(profile_, extension);
135 } 127 }
136 } 128 }
137 129
138 void AppShortcutManager::OnExtensionUninstalled( 130 void AppShortcutManager::OnExtensionUninstalled(
139 content::BrowserContext* browser_context, 131 content::BrowserContext* browser_context,
140 const Extension* extension, 132 const Extension* extension,
(...skipping 20 matching lines...) Expand all
161 return; 153 return;
162 154
163 content::BrowserThread::PostDelayedTask( 155 content::BrowserThread::PostDelayedTask(
164 content::BrowserThread::UI, 156 content::BrowserThread::UI,
165 FROM_HERE, 157 FROM_HERE,
166 base::Bind(&web_app::UpdateShortcutsForAllApps, 158 base::Bind(&web_app::UpdateShortcutsForAllApps,
167 profile_, 159 profile_,
168 base::Bind(&SetCurrentAppShortcutsVersion, prefs_)), 160 base::Bind(&SetCurrentAppShortcutsVersion, prefs_)),
169 base::TimeDelta::FromSeconds(kUpdateShortcutsForAllAppsDelay)); 161 base::TimeDelta::FromSeconds(kUpdateShortcutsForAllAppsDelay));
170 } 162 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698