Index: chrome/browser/chromeos/ui/screensaver_extension_dialog.cc |
diff --git a/chrome/browser/chromeos/ui/screensaver_extension_dialog.cc b/chrome/browser/chromeos/ui/screensaver_extension_dialog.cc |
index 8eb28794d927ea8c5762384c386d4895ceb945af..b8e02a64a1dcf7f014f63668756f1f33edad44da 100644 |
--- a/chrome/browser/chromeos/ui/screensaver_extension_dialog.cc |
+++ b/chrome/browser/chromeos/ui/screensaver_extension_dialog.cc |
@@ -7,6 +7,7 @@ |
#include "base/bind.h" |
#include "base/logging.h" |
#include "base/memory/ref_counted.h" |
+#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_helper.h" |
#include "chrome/browser/extensions/extension_service.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_manager.h" |
@@ -55,21 +56,28 @@ ScreensaverExtensionDialog::ScreensaverExtensionDialog() |
} |
void ScreensaverExtensionDialog::LoadExtension() { |
+ // If the helper is not initialized, call us again when it is. |
+ // We can't get the screensaver path till the helper is ready. |
+ if (!chromeos::KioskModeHelper::Get()->is_initialized()) { |
+ chromeos::KioskModeHelper::Get()->Initialize( |
+ base::Bind(&ScreensaverExtensionDialog::LoadExtension, |
pastarmovj
2012/03/05 15:22:25
Too much indentation.
rkc
2012/03/16 00:17:33
Done.
|
+ base::Unretained(this))); |
+ return; |
+ } |
+ |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
std::string error; |
- std::string extension_path = CommandLine::ForCurrentProcess()-> |
- GetSwitchValueASCII(switches::kKioskModeScreensaverPath); |
scoped_refptr<Extension> screensaver_extension = |
extension_file_util::LoadExtension( |
- FilePath(extension_path), |
+ FilePath(chromeos::KioskModeHelper::Get()->GetScreensaverPath()), |
Extension::COMPONENT, |
Extension::NO_FLAGS, |
&error); |
if (!screensaver_extension) { |
LOG(ERROR) << "Could not load screensaver extension from: " << |
pastarmovj
2012/03/05 15:22:25
The last << goes on the next line and aligns with
rkc
2012/03/16 00:17:33
Done.
|
- extension_path; |
+ chromeos::KioskModeHelper::Get()->GetScreensaverPath(); |
return; |
} |