Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / tabs / tabs_api.h
index 3284384..cc4216d 100644 (file)
@@ -9,13 +9,14 @@
 #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"
@@ -48,28 +49,28 @@ void ZoomModeToZoomSettings(ZoomController::ZoomMode zoom_mode,
 
 // 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,
@@ -84,55 +85,55 @@ class WindowsCreateFunction : public ChromeSyncExtensionFunction {
   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,
@@ -144,7 +145,7 @@ class TabsUpdateFunction : public ChromeAsyncExtensionFunction {
   TabsUpdateFunction();
 
  protected:
-  virtual ~TabsUpdateFunction() {}
+  ~TabsUpdateFunction() override {}
   virtual bool UpdateURL(const std::string& url,
                          int tab_id,
                          bool* is_async);
@@ -153,7 +154,7 @@ class TabsUpdateFunction : public ChromeAsyncExtensionFunction {
   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);
@@ -161,8 +162,8 @@ class TabsUpdateFunction : public ChromeAsyncExtensionFunction {
   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,
@@ -171,25 +172,25 @@ class TabsMoveFunction : public ChromeSyncExtensionFunction {
   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)
@@ -197,16 +198,19 @@ class TabsDetectLanguageFunction : public ChromeAsyncExtensionFunction,
 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)
 };
@@ -217,51 +221,52 @@ class ExecuteCodeInTabFunction : public ExecuteCodeFunction {
   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
@@ -274,36 +279,36 @@ class ZoomAPIFunction : public ChromeAsyncExtensionFunction {
 
 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)
 };