#include <vector>
#include "base/compiler_specific.h"
-#include "chrome/browser/extensions/api/capture_web_contents_function.h"
-#include "chrome/browser/extensions/api/execute_code_function.h"
#include "chrome/browser/extensions/chrome_extension_function.h"
+#include "chrome/browser/extensions/chrome_extension_function_details.h"
#include "chrome/browser/ui/zoom/zoom_controller.h"
#include "chrome/common/extensions/api/tabs.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
+#include "extensions/browser/api/capture_web_contents_function.h"
+#include "extensions/browser/api/execute_code_function.h"
#include "extensions/common/extension_resource.h"
#include "extensions/common/user_script.h"
#include "url/gurl.h"
// Windows
class WindowsGetFunction : public ChromeSyncExtensionFunction {
- virtual ~WindowsGetFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~WindowsGetFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("windows.get", WINDOWS_GET)
};
class WindowsGetCurrentFunction : public ChromeSyncExtensionFunction {
- virtual ~WindowsGetCurrentFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~WindowsGetCurrentFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("windows.getCurrent", WINDOWS_GETCURRENT)
};
class WindowsGetLastFocusedFunction : public ChromeSyncExtensionFunction {
- virtual ~WindowsGetLastFocusedFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~WindowsGetLastFocusedFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("windows.getLastFocused", WINDOWS_GETLASTFOCUSED)
};
class WindowsGetAllFunction : public ChromeSyncExtensionFunction {
- virtual ~WindowsGetAllFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~WindowsGetAllFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("windows.getAll", WINDOWS_GETALL)
};
class WindowsCreateFunction : public ChromeSyncExtensionFunction {
- virtual ~WindowsCreateFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~WindowsCreateFunction() override {}
+ bool RunSync() override;
// Returns whether the window should be created in incognito mode.
// |create_data| are the options passed by the extension. It may be NULL.
// |urls| is the list of urls to open. If we are creating an incognito window,
DECLARE_EXTENSION_FUNCTION("windows.create", WINDOWS_CREATE)
};
class WindowsUpdateFunction : public ChromeSyncExtensionFunction {
- virtual ~WindowsUpdateFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~WindowsUpdateFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("windows.update", WINDOWS_UPDATE)
};
class WindowsRemoveFunction : public ChromeSyncExtensionFunction {
- virtual ~WindowsRemoveFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~WindowsRemoveFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("windows.remove", WINDOWS_REMOVE)
};
// Tabs
class TabsGetFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsGetFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsGetFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("tabs.get", TABS_GET)
};
class TabsGetCurrentFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsGetCurrentFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsGetCurrentFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("tabs.getCurrent", TABS_GETCURRENT)
};
class TabsGetSelectedFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsGetSelectedFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsGetSelectedFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("tabs.getSelected", TABS_GETSELECTED)
};
class TabsGetAllInWindowFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsGetAllInWindowFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsGetAllInWindowFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("tabs.getAllInWindow", TABS_GETALLINWINDOW)
};
class TabsQueryFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsQueryFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsQueryFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("tabs.query", TABS_QUERY)
};
class TabsCreateFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsCreateFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsCreateFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("tabs.create", TABS_CREATE)
};
class TabsDuplicateFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsDuplicateFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsDuplicateFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("tabs.duplicate", TABS_DUPLICATE)
};
class TabsHighlightFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsHighlightFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsHighlightFunction() override {}
+ bool RunSync() override;
bool HighlightTab(TabStripModel* tabstrip,
ui::ListSelectionModel* selection,
int *active_index,
TabsUpdateFunction();
protected:
- virtual ~TabsUpdateFunction() {}
+ ~TabsUpdateFunction() override {}
virtual bool UpdateURL(const std::string& url,
int tab_id,
bool* is_async);
content::WebContents* web_contents_;
private:
- virtual bool RunAsync() OVERRIDE;
+ bool RunAsync() override;
void OnExecuteCodeFinished(const std::string& error,
const GURL& on_url,
const base::ListValue& script_result);
DECLARE_EXTENSION_FUNCTION("tabs.update", TABS_UPDATE)
};
class TabsMoveFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsMoveFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsMoveFunction() override {}
+ bool RunSync() override;
bool MoveTab(int tab_id,
int* new_index,
int iteration,
DECLARE_EXTENSION_FUNCTION("tabs.move", TABS_MOVE)
};
class TabsReloadFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsReloadFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsReloadFunction() override {}
+ bool RunSync() override;
DECLARE_EXTENSION_FUNCTION("tabs.reload", TABS_RELOAD)
};
class TabsRemoveFunction : public ChromeSyncExtensionFunction {
- virtual ~TabsRemoveFunction() {}
- virtual bool RunSync() OVERRIDE;
+ ~TabsRemoveFunction() override {}
+ bool RunSync() override;
bool RemoveTab(int tab_id);
DECLARE_EXTENSION_FUNCTION("tabs.remove", TABS_REMOVE)
};
class TabsDetectLanguageFunction : public ChromeAsyncExtensionFunction,
public content::NotificationObserver {
private:
- virtual ~TabsDetectLanguageFunction() {}
- virtual bool RunAsync() OVERRIDE;
+ ~TabsDetectLanguageFunction() override {}
+ bool RunAsync() override;
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
+ void Observe(int type,
+ const content::NotificationSource& source,
+ const content::NotificationDetails& details) override;
void GotLanguage(const std::string& language);
content::NotificationRegistrar registrar_;
DECLARE_EXTENSION_FUNCTION("tabs.detectLanguage", TABS_DETECTLANGUAGE)
class TabsCaptureVisibleTabFunction
: public extensions::CaptureWebContentsFunction {
public:
+ TabsCaptureVisibleTabFunction();
static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
protected:
- virtual ~TabsCaptureVisibleTabFunction() {}
+ ~TabsCaptureVisibleTabFunction() override {}
private:
+ ChromeExtensionFunctionDetails chrome_details_;
+
// extensions::CaptureWebContentsFunction:
- virtual bool IsScreenshotEnabled() OVERRIDE;
- virtual content::WebContents* GetWebContentsForID(int id) OVERRIDE;
- virtual void OnCaptureFailure(FailureReason reason) OVERRIDE;
+ bool IsScreenshotEnabled() override;
+ content::WebContents* GetWebContentsForID(int id) override;
+ void OnCaptureFailure(FailureReason reason) override;
DECLARE_EXTENSION_FUNCTION("tabs.captureVisibleTab", TABS_CAPTUREVISIBLETAB)
};
ExecuteCodeInTabFunction();
protected:
- virtual ~ExecuteCodeInTabFunction();
+ ~ExecuteCodeInTabFunction() override;
// ExtensionFunction:
- virtual bool HasPermission() OVERRIDE;
+ bool HasPermission() override;
// Initialize the |execute_tab_id_| and |details_| if they haven't already
// been. Returns whether initialization was successful.
- virtual bool Init() OVERRIDE;
- virtual bool CanExecuteScriptOnPage() OVERRIDE;
- virtual ScriptExecutor* GetScriptExecutor() OVERRIDE;
- virtual bool IsWebView() const OVERRIDE;
- virtual const GURL& GetWebViewSrc() const OVERRIDE;
+ bool Init() override;
+ bool CanExecuteScriptOnPage() override;
+ ScriptExecutor* GetScriptExecutor() override;
+ bool IsWebView() const override;
+ const GURL& GetWebViewSrc() const override;
private:
+ const ChromeExtensionFunctionDetails chrome_details_;
+
// Id of tab which executes code.
int execute_tab_id_;
};
class TabsExecuteScriptFunction : public ExecuteCodeInTabFunction {
protected:
- virtual bool ShouldInsertCSS() const OVERRIDE;
+ bool ShouldInsertCSS() const override;
private:
- virtual ~TabsExecuteScriptFunction() {}
+ ~TabsExecuteScriptFunction() override {}
- virtual void OnExecuteCodeFinished(
- const std::string& error,
- const GURL& on_url,
- const base::ListValue& script_result) OVERRIDE;
+ void OnExecuteCodeFinished(const std::string& error,
+ const GURL& on_url,
+ const base::ListValue& script_result) override;
DECLARE_EXTENSION_FUNCTION("tabs.executeScript", TABS_EXECUTESCRIPT)
};
class TabsInsertCSSFunction : public ExecuteCodeInTabFunction {
private:
- virtual ~TabsInsertCSSFunction() {}
+ ~TabsInsertCSSFunction() override {}
- virtual bool ShouldInsertCSS() const OVERRIDE;
+ bool ShouldInsertCSS() const override;
DECLARE_EXTENSION_FUNCTION("tabs.insertCSS", TABS_INSERTCSS)
};
class ZoomAPIFunction : public ChromeAsyncExtensionFunction {
protected:
- virtual ~ZoomAPIFunction() {}
+ ~ZoomAPIFunction() override {}
// Gets the WebContents for |tab_id| if it is specified. Otherwise get the
// WebContents for the active tab in the current window. Calling this function
class TabsSetZoomFunction : public ZoomAPIFunction {
private:
- virtual ~TabsSetZoomFunction() {}
+ ~TabsSetZoomFunction() override {}
- virtual bool RunAsync() OVERRIDE;
+ bool RunAsync() override;
DECLARE_EXTENSION_FUNCTION("tabs.setZoom", TABS_SETZOOM)
};
class TabsGetZoomFunction : public ZoomAPIFunction {
private:
- virtual ~TabsGetZoomFunction() {}
+ ~TabsGetZoomFunction() override {}
- virtual bool RunAsync() OVERRIDE;
+ bool RunAsync() override;
DECLARE_EXTENSION_FUNCTION("tabs.getZoom", TABS_GETZOOM)
};
class TabsSetZoomSettingsFunction : public ZoomAPIFunction {
private:
- virtual ~TabsSetZoomSettingsFunction() {}
+ ~TabsSetZoomSettingsFunction() override {}
- virtual bool RunAsync() OVERRIDE;
+ bool RunAsync() override;
DECLARE_EXTENSION_FUNCTION("tabs.setZoomSettings", TABS_SETZOOMSETTINGS)
};
class TabsGetZoomSettingsFunction : public ZoomAPIFunction {
private:
- virtual ~TabsGetZoomSettingsFunction() {}
+ ~TabsGetZoomSettingsFunction() override {}
- virtual bool RunAsync() OVERRIDE;
+ bool RunAsync() override;
DECLARE_EXTENSION_FUNCTION("tabs.getZoomSettings", TABS_GETZOOMSETTINGS)
};