| Index: chrome/browser/extensions/api/runtime/runtime_api.h
|
| diff --git a/chrome/browser/extensions/api/runtime/runtime_api.h b/chrome/browser/extensions/api/runtime/runtime_api.h
|
| deleted file mode 100644
|
| index f648be145339a15b6571cbcbfbc9e0fb1e5533ff..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/extensions/api/runtime/runtime_api.h
|
| +++ /dev/null
|
| @@ -1,211 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_EXTENSIONS_API_RUNTIME_RUNTIME_API_H_
|
| -#define CHROME_BROWSER_EXTENSIONS_API_RUNTIME_RUNTIME_API_H_
|
| -
|
| -#include <string>
|
| -
|
| -#include "chrome/browser/extensions/chrome_extension_function.h"
|
| -#include "chrome/common/extensions/api/runtime.h"
|
| -#include "content/public/browser/notification_observer.h"
|
| -#include "content/public/browser/notification_registrar.h"
|
| -#include "extensions/browser/browser_context_keyed_api_factory.h"
|
| -#include "extensions/browser/process_manager_observer.h"
|
| -#include "extensions/browser/update_observer.h"
|
| -
|
| -class Profile;
|
| -
|
| -namespace base {
|
| -class Version;
|
| -}
|
| -
|
| -namespace content {
|
| -class BrowserContext;
|
| -}
|
| -
|
| -namespace extensions {
|
| -class Extension;
|
| -class ExtensionHost;
|
| -
|
| -// Runtime API dispatches onStartup, onInstalled, and similar events to
|
| -// extensions. There is one instance shared between a browser context and
|
| -// its related incognito instance.
|
| -class RuntimeAPI : public BrowserContextKeyedAPI,
|
| - public content::NotificationObserver,
|
| - public UpdateObserver,
|
| - public ProcessManagerObserver {
|
| - public:
|
| - static BrowserContextKeyedAPIFactory<RuntimeAPI>* GetFactoryInstance();
|
| -
|
| - explicit RuntimeAPI(content::BrowserContext* context);
|
| - virtual ~RuntimeAPI();
|
| -
|
| - // content::NotificationObserver overrides:
|
| - virtual void Observe(int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) OVERRIDE;
|
| -
|
| - void MaybeReloadExtension(const std::string& extension_id);
|
| -
|
| - private:
|
| - friend class BrowserContextKeyedAPIFactory<RuntimeAPI>;
|
| -
|
| - void OnExtensionsReady();
|
| - void OnExtensionLoaded(const Extension* extension);
|
| - void OnExtensionInstalled(const Extension* extension);
|
| - void OnExtensionUninstalled(const Extension* extension);
|
| -
|
| - // BrowserContextKeyedAPI implementation:
|
| - static const char* service_name() { return "RuntimeAPI"; }
|
| - static const bool kServiceRedirectedInIncognito = true;
|
| - static const bool kServiceIsNULLWhileTesting = true;
|
| - virtual void Shutdown() OVERRIDE;
|
| -
|
| - // extensions::UpdateObserver overrides:
|
| - virtual void OnAppUpdateAvailable(const Extension* extension) OVERRIDE;
|
| - virtual void OnChromeUpdateAvailable() OVERRIDE;
|
| -
|
| - // ProcessManagerObserver implementation:
|
| - virtual void OnBackgroundHostStartup(const Extension* extension) OVERRIDE;
|
| -
|
| - content::BrowserContext* browser_context_;
|
| -
|
| - // True if we should dispatch the chrome.runtime.onInstalled event with
|
| - // reason "chrome_update" upon loading each extension.
|
| - bool dispatch_chrome_updated_event_;
|
| -
|
| - // Whether the API registered with the ExtensionService to receive
|
| - // update notifications.
|
| - bool registered_for_updates_;
|
| -
|
| - content::NotificationRegistrar registrar_;
|
| -
|
| - // Map to prevent extensions from getting stuck in reload loops. Maps
|
| - // extension id to the last time it was reloaded and the number of times
|
| - // it was reloaded with not enough time in between reloads.
|
| - std::map<std::string, std::pair<base::TimeTicks, int> > last_reload_time_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(RuntimeAPI);
|
| -};
|
| -
|
| -class RuntimeEventRouter {
|
| - public:
|
| - // Dispatches the onStartup event to all currently-loaded extensions.
|
| - static void DispatchOnStartupEvent(content::BrowserContext* context,
|
| - const std::string& extension_id);
|
| -
|
| - // Dispatches the onInstalled event to the given extension.
|
| - static void DispatchOnInstalledEvent(content::BrowserContext* context,
|
| - const std::string& extension_id,
|
| - const base::Version& old_version,
|
| - bool chrome_updated);
|
| -
|
| - // Dispatches the onUpdateAvailable event to the given extension.
|
| - static void DispatchOnUpdateAvailableEvent(
|
| - Profile* profile,
|
| - const std::string& extension_id,
|
| - const base::DictionaryValue* manifest);
|
| -
|
| - // Dispatches the onBrowserUpdateAvailable event to all extensions.
|
| - static void DispatchOnBrowserUpdateAvailableEvent(Profile* profile);
|
| -
|
| - // Dispatches the onRestartRequired event to the given app.
|
| - static void DispatchOnRestartRequiredEvent(
|
| - Profile* profile,
|
| - const std::string& app_id,
|
| - api::runtime::OnRestartRequired::Reason reason);
|
| -
|
| - // Does any work needed at extension uninstall (e.g. load uninstall url).
|
| - static void OnExtensionUninstalled(Profile* profile,
|
| - const std::string& extension_id);
|
| -};
|
| -
|
| -class RuntimeGetBackgroundPageFunction : public ChromeAsyncExtensionFunction {
|
| - public:
|
| - DECLARE_EXTENSION_FUNCTION("runtime.getBackgroundPage",
|
| - RUNTIME_GETBACKGROUNDPAGE)
|
| -
|
| - protected:
|
| - virtual ~RuntimeGetBackgroundPageFunction() {}
|
| - virtual bool RunAsync() OVERRIDE;
|
| -
|
| - private:
|
| - void OnPageLoaded(ExtensionHost*);
|
| -};
|
| -
|
| -class RuntimeSetUninstallURLFunction : public ChromeSyncExtensionFunction {
|
| - public:
|
| - DECLARE_EXTENSION_FUNCTION("runtime.setUninstallURL",
|
| - RUNTIME_SETUNINSTALLURL)
|
| -
|
| - protected:
|
| - virtual ~RuntimeSetUninstallURLFunction() {}
|
| - virtual bool RunSync() OVERRIDE;
|
| -};
|
| -
|
| -class RuntimeReloadFunction : public ChromeSyncExtensionFunction {
|
| - public:
|
| - DECLARE_EXTENSION_FUNCTION("runtime.reload", RUNTIME_RELOAD)
|
| -
|
| - protected:
|
| - virtual ~RuntimeReloadFunction() {}
|
| - virtual bool RunSync() OVERRIDE;
|
| -};
|
| -
|
| -class RuntimeRequestUpdateCheckFunction : public ChromeAsyncExtensionFunction,
|
| - public content::NotificationObserver {
|
| - public:
|
| - DECLARE_EXTENSION_FUNCTION("runtime.requestUpdateCheck",
|
| - RUNTIME_REQUESTUPDATECHECK)
|
| -
|
| - RuntimeRequestUpdateCheckFunction();
|
| - protected:
|
| - virtual ~RuntimeRequestUpdateCheckFunction() {}
|
| - virtual bool RunAsync() OVERRIDE;
|
| -
|
| - // Implements content::NotificationObserver interface.
|
| - virtual void Observe(int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) OVERRIDE;
|
| - private:
|
| - void CheckComplete();
|
| - void ReplyUpdateFound(const std::string& version);
|
| -
|
| - content::NotificationRegistrar registrar_;
|
| - bool did_reply_;
|
| -};
|
| -
|
| -class RuntimeRestartFunction : public ChromeSyncExtensionFunction {
|
| - public:
|
| - DECLARE_EXTENSION_FUNCTION("runtime.restart", RUNTIME_RESTART)
|
| -
|
| - protected:
|
| - virtual ~RuntimeRestartFunction() {}
|
| - virtual bool RunSync() OVERRIDE;
|
| -};
|
| -
|
| -class RuntimeGetPlatformInfoFunction : public ChromeSyncExtensionFunction {
|
| - public:
|
| - DECLARE_EXTENSION_FUNCTION("runtime.getPlatformInfo",
|
| - RUNTIME_GETPLATFORMINFO);
|
| - protected:
|
| - virtual ~RuntimeGetPlatformInfoFunction() {}
|
| - virtual bool RunSync() OVERRIDE;
|
| -};
|
| -
|
| -class RuntimeGetPackageDirectoryEntryFunction
|
| - : public ChromeSyncExtensionFunction {
|
| - public:
|
| - DECLARE_EXTENSION_FUNCTION("runtime.getPackageDirectoryEntry",
|
| - RUNTIME_GETPACKAGEDIRECTORYENTRY)
|
| -
|
| - protected:
|
| - virtual ~RuntimeGetPackageDirectoryEntryFunction() {}
|
| - virtual bool RunSync() OVERRIDE;
|
| -};
|
| -
|
| -} // namespace extensions
|
| -
|
| -#endif // CHROME_BROWSER_EXTENSIONS_API_RUNTIME_RUNTIME_API_H_
|
|
|