Chromium Code Reviews| Index: chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
| diff --git a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
| index 67e87f512441445a0d4c0a0415efe44c2c233804..80b007144d3d98b9f6d64e844ce9fb8cf95e25ce 100644 |
| --- a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
| +++ b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
| @@ -36,6 +36,14 @@ namespace chromeos { |
| namespace { |
| +ExtensionService* GetDefaultExtensionService() { |
| + Profile* default_profile = ProfileManager::GetDefaultProfile(); |
| + if (!default_profile) |
| + return NULL; |
| + return extensions::ExtensionSystem::Get( |
| + default_profile)->extension_service(); |
| +} |
| + |
| typedef base::Callback<void( |
| scoped_refptr<Extension>, |
| const base::FilePath&)> UnpackCallback; |
| @@ -96,6 +104,12 @@ void ScreensaverUnpackerClient::LoadScreensaverExtension( |
| const base::FilePath& screensaver_extension_path) { |
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::FILE)); |
| + ExtensionService* service = GetDefaultExtensionService(); |
| + // TODO(rkc): This is a HACK, please remove this method from extension |
| + // service once this code is deprecated. |
|
asargent_no_longer_on_chrome
2013/09/04 23:09:01
please add a link to the bug here
rkc
2013/09/04 23:11:56
Done.
|
| + if (service) |
| + service->disable_garbage_collection(); |
| + |
| std::string error; |
| scoped_refptr<Extension> screensaver_extension = |
| extension_file_util::LoadExtension(screensaver_extension_path, |
| @@ -153,6 +167,12 @@ KioskModeScreensaver::KioskModeScreensaver() |
| KioskModeScreensaver::~KioskModeScreensaver() { |
| // If the extension was unpacked. |
| if (!extension_base_path_.empty()) { |
| + ExtensionService* service = GetDefaultExtensionService(); |
| + // TODO(rkc): This is a HACK, please remove this method from extension |
| + // service once this code is deprecated. |
|
asargent_no_longer_on_chrome
2013/09/04 23:09:01
here too
rkc
2013/09/04 23:11:56
Done.
|
| + if (service) |
| + service->enable_garbage_collection(); |
| + |
| // Delete it. |
| content::BrowserThread::PostTask( |
| content::BrowserThread::FILE, |
| @@ -183,8 +203,8 @@ void KioskModeScreensaver::ScreensaverPathCallback( |
| Profile* default_profile = ProfileManager::GetDefaultProfile(); |
| if (!default_profile) |
| return; |
| - base::FilePath extensions_dir = extensions::ExtensionSystem::Get( |
| - default_profile)->extension_service()->install_directory(); |
| + base::FilePath extensions_dir = |
| + GetDefaultExtensionService()->install_directory(); |
| scoped_refptr<SandboxedUnpacker> screensaver_unpacker( |
| new SandboxedUnpacker( |
| screensaver_crx, |