| Index: chrome/browser/extensions/api/management/management_api.h
|
| ===================================================================
|
| --- chrome/browser/extensions/api/management/management_api.h (revision 268958)
|
| +++ chrome/browser/extensions/api/management/management_api.h (working copy)
|
| @@ -6,9 +6,11 @@
|
| #define CHROME_BROWSER_EXTENSIONS_API_MANAGEMENT_MANAGEMENT_API_H_
|
|
|
| #include "base/compiler_specific.h"
|
| +#include "base/task/cancelable_task_tracker.h"
|
| #include "chrome/browser/extensions/chrome_extension_function.h"
|
| #include "chrome/browser/extensions/extension_install_prompt.h"
|
| #include "chrome/browser/extensions/extension_uninstall_dialog.h"
|
| +#include "components/favicon_base/favicon_types.h"
|
| #include "components/keyed_service/core/keyed_service.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| @@ -189,6 +191,43 @@
|
| virtual bool RunAsync() OVERRIDE;
|
| };
|
|
|
| +class ManagementGenerateAppForLinkFunction : public AsyncManagementFunction,
|
| + public content::NotificationObserver {
|
| + public:
|
| + DECLARE_EXTENSION_FUNCTION("management.generateAppForLink",
|
| + MANAGEMENT_GENERATEAPPFORLINK);
|
| +
|
| + ManagementGenerateAppForLinkFunction();
|
| +
|
| + protected:
|
| + virtual ~ManagementGenerateAppForLinkFunction();
|
| +
|
| + virtual bool RunAsync() OVERRIDE;
|
| +
|
| + private:
|
| + struct AppInstallInfo {
|
| + AppInstallInfo() {}
|
| + ~AppInstallInfo() {}
|
| +
|
| + std::string title;
|
| + GURL launch_url;
|
| + };
|
| +
|
| + void OnFaviconForApp(const favicon_base::FaviconImageResult& image_result);
|
| +
|
| + scoped_ptr<AppInstallInfo> install_info_;
|
| +
|
| + // Used for favicon loading tasks.
|
| + base::CancelableTaskTracker cancelable_task_tracker_;
|
| +
|
| + // Overridden from content::NotificationObserver:
|
| + virtual void Observe(int type,
|
| + const content::NotificationSource& source,
|
| + const content::NotificationDetails& details) OVERRIDE;
|
| +
|
| + content::NotificationRegistrar registrar_;
|
| +};
|
| +
|
| class ManagementEventRouter : public content::NotificationObserver {
|
| public:
|
| explicit ManagementEventRouter(Profile* profile);
|
|
|