| Index: chrome/browser/chromeos/login/wallpaper_manager.cc
|
| diff --git a/chrome/browser/chromeos/login/wallpaper_manager.cc b/chrome/browser/chromeos/login/wallpaper_manager.cc
|
| index d59ae0a73bc81ef7fe553538e3b1f7f486cbaf51..a0017cb339f22c922fdb9ec2f62c22163b88de51 100644
|
| --- a/chrome/browser/chromeos/login/wallpaper_manager.cc
|
| +++ b/chrome/browser/chromeos/login/wallpaper_manager.cc
|
| @@ -29,11 +29,15 @@
|
| #include "base/values.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/chrome_notification_types.h"
|
| +#include "chrome/browser/chromeos/extensions/wallpaper_manager_util.h"
|
| +#include "chrome/browser/chromeos/extensions/wallpaper_private_api.h"
|
| +#include "chrome/browser/chromeos/login/login_display_host_impl.h"
|
| #include "chrome/browser/chromeos/login/startup_utils.h"
|
| #include "chrome/browser/chromeos/login/user.h"
|
| #include "chrome/browser/chromeos/login/user_manager.h"
|
| #include "chrome/browser/chromeos/login/wizard_controller.h"
|
| #include "chrome/browser/chromeos/settings/cros_settings.h"
|
| +#include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/common/chrome_paths.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/pref_names.h"
|
| @@ -41,6 +45,8 @@
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/notification_service.h"
|
| +#include "content/public/browser/web_ui.h"
|
| +#include "extensions/browser/event_router.h"
|
| #include "grit/ash_resources.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/gfx/codec/jpeg_codec.h"
|
| @@ -975,6 +981,20 @@ void WallpaperManager::RemoveObserver(WallpaperManager::Observer* observer) {
|
| observers_.RemoveObserver(observer);
|
| }
|
|
|
| +void WallpaperManager::EnableSurpriseMe() {
|
| + Profile* profile = ProfileManager::GetActiveUserProfile();
|
| + DCHECK(profile);
|
| + DCHECK(extensions::ExtensionSystem::Get(profile)->event_router());
|
| + scoped_ptr<extensions::Event> event(
|
| + new extensions::Event(
|
| + extensions::api::wallpaper_private::OnRequestEnableSurpriseMe::kEventName,
|
| + extensions::api::wallpaper_private::OnRequestEnableSurpriseMe::Create()));
|
| +
|
| + extensions::ExtensionSystem::Get(profile)->event_router()
|
| + ->DispatchEventToExtension(extension_misc::kWallpaperManagerId,
|
| + event.Pass());
|
| +}
|
| +
|
| void WallpaperManager::NotifyAnimationFinished() {
|
| FOR_EACH_OBSERVER(
|
| Observer, observers_, OnWallpaperAnimationFinished(last_selected_user_));
|
|
|