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

Side by Side Diff: chrome/browser/extensions/extension_system_impl.cc

Issue 2149953002: Enable login screen apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/extensions/extension_system_impl.h" 5 #include "chrome/browser/extensions/extension_system_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/base_switches.h" 9 #include "base/base_switches.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 #include "chrome/browser/notifications/notifier_state_tracker.h" 60 #include "chrome/browser/notifications/notifier_state_tracker.h"
61 #include "chrome/browser/notifications/notifier_state_tracker_factory.h" 61 #include "chrome/browser/notifications/notifier_state_tracker_factory.h"
62 #include "ui/message_center/notifier_settings.h" 62 #include "ui/message_center/notifier_settings.h"
63 #endif 63 #endif
64 64
65 #if defined(OS_CHROMEOS) 65 #if defined(OS_CHROMEOS)
66 #include "chrome/browser/app_mode/app_mode_utils.h" 66 #include "chrome/browser/app_mode/app_mode_utils.h"
67 #include "chrome/browser/chromeos/app_mode/kiosk_app_update_install_gate.h" 67 #include "chrome/browser/chromeos/app_mode/kiosk_app_update_install_gate.h"
68 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol icy_provider.h" 68 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol icy_provider.h"
69 #include "chrome/browser/chromeos/policy/device_local_account.h" 69 #include "chrome/browser/chromeos/policy/device_local_account.h"
70 #include "chrome/browser/chromeos/profiles/profile_helper.h"
70 #include "chromeos/chromeos_switches.h" 71 #include "chromeos/chromeos_switches.h"
71 #include "chromeos/login/login_state.h" 72 #include "chromeos/login/login_state.h"
72 #include "components/user_manager/user.h" 73 #include "components/user_manager/user.h"
73 #include "components/user_manager/user_manager.h" 74 #include "components/user_manager/user_manager.h"
74 #endif 75 #endif
75 76
76 using content::BrowserThread; 77 using content::BrowserThread;
77 78
78 namespace extensions { 79 namespace extensions {
79 80
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 service_worker_manager_.reset(new ServiceWorkerManager(profile_)); 183 service_worker_manager_.reset(new ServiceWorkerManager(profile_));
183 184
184 shared_user_script_master_.reset(new SharedUserScriptMaster(profile_)); 185 shared_user_script_master_.reset(new SharedUserScriptMaster(profile_));
185 186
186 // ExtensionService depends on RuntimeData. 187 // ExtensionService depends on RuntimeData.
187 runtime_data_.reset(new RuntimeData(ExtensionRegistry::Get(profile_))); 188 runtime_data_.reset(new RuntimeData(ExtensionRegistry::Get(profile_)));
188 189
189 bool autoupdate_enabled = !profile_->IsGuestSession() && 190 bool autoupdate_enabled = !profile_->IsGuestSession() &&
190 !profile_->IsSystemProfile(); 191 !profile_->IsSystemProfile();
191 #if defined(OS_CHROMEOS) 192 #if defined(OS_CHROMEOS)
193 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
194 switches::kEnableLoginApps) &&
195 chromeos::ProfileHelper::IsSigninProfile(profile_)) {
196 extensions_enabled = true;
197 }
192 if (!extensions_enabled) 198 if (!extensions_enabled)
193 autoupdate_enabled = false; 199 autoupdate_enabled = false;
194 #endif // defined(OS_CHROMEOS) 200 #endif // defined(OS_CHROMEOS)
195 extension_service_.reset(new ExtensionService( 201 extension_service_.reset(new ExtensionService(
196 profile_, base::CommandLine::ForCurrentProcess(), 202 profile_, base::CommandLine::ForCurrentProcess(),
197 profile_->GetPath().AppendASCII(extensions::kInstallDirectoryName), 203 profile_->GetPath().AppendASCII(extensions::kInstallDirectoryName),
198 ExtensionPrefs::Get(profile_), Blacklist::Get(profile_), 204 ExtensionPrefs::Get(profile_), Blacklist::Get(profile_),
199 autoupdate_enabled, extensions_enabled, &ready_)); 205 autoupdate_enabled, extensions_enabled, &ready_));
200 206
201 uninstall_ping_sender_.reset(new UninstallPingSender( 207 uninstall_ping_sender_.reset(new UninstallPingSender(
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( 472 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts(
467 const std::string& extension_id, 473 const std::string& extension_id,
468 const UnloadedExtensionInfo::Reason reason) { 474 const UnloadedExtensionInfo::Reason reason) {
469 BrowserThread::PostTask( 475 BrowserThread::PostTask(
470 BrowserThread::IO, 476 BrowserThread::IO,
471 FROM_HERE, 477 FROM_HERE,
472 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); 478 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason));
473 } 479 }
474 480
475 } // namespace extensions 481 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698