Index: chrome/browser/extensions/api/tabs/tabs_api.h |
=================================================================== |
--- chrome/browser/extensions/api/tabs/tabs_api.h (revision 176052) |
+++ chrome/browser/extensions/api/tabs/tabs_api.h (working copy) |
@@ -1,290 +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_TABS_TABS_API_H_ |
-#define CHROME_BROWSER_EXTENSIONS_API_TABS_TABS_API_H_ |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/compiler_specific.h" |
-#include "chrome/browser/extensions/extension_function.h" |
-#include "chrome/common/extensions/extension_resource.h" |
-#include "chrome/common/extensions/user_script.h" |
-#include "content/public/browser/notification_observer.h" |
-#include "content/public/browser/notification_registrar.h" |
-#include "googleurl/src/gurl.h" |
- |
-class BackingStore; |
-class GURL; |
-class PrefServiceSyncable; |
-class SkBitmap; |
- |
-namespace base { |
-class DictionaryValue; |
-} |
- |
-namespace content { |
-class WebContents; |
-} |
- |
-namespace extensions { |
-namespace api { |
-namespace tabs { |
-struct InjectDetails; |
-} // namespace tabs |
-} // namespace api |
-} // namespace extensions |
- |
-namespace skia { |
-class PlatformBitmap; |
-} |
- |
-// Windows |
-class WindowsGetFunction : public SyncExtensionFunction { |
- virtual ~WindowsGetFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("windows.get") |
-}; |
-class WindowsGetCurrentFunction : public SyncExtensionFunction { |
- virtual ~WindowsGetCurrentFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("windows.getCurrent") |
-}; |
-class WindowsGetLastFocusedFunction : public SyncExtensionFunction { |
- virtual ~WindowsGetLastFocusedFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("windows.getLastFocused") |
-}; |
-class WindowsGetAllFunction : public SyncExtensionFunction { |
- virtual ~WindowsGetAllFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("windows.getAll") |
-}; |
-class WindowsCreateFunction : public SyncExtensionFunction { |
- virtual ~WindowsCreateFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- // Returns whether the window should be created in incognito mode. |
- // |urls| is the list of urls to open. If we are creating an incognito window, |
- // the function will remove these urls which may not be opened in incognito |
- // mode. If window creation leads the browser into an erroneous state, |
- // |is_error| is set to true (also, error_ member variable is assigned |
- // the proper error message). |
- bool ShouldOpenIncognitoWindow(const base::DictionaryValue* args, |
- std::vector<GURL>* urls, |
- bool* is_error); |
- DECLARE_EXTENSION_FUNCTION_NAME("windows.create") |
-}; |
-class WindowsUpdateFunction : public SyncExtensionFunction { |
- virtual ~WindowsUpdateFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("windows.update") |
-}; |
-class WindowsRemoveFunction : public SyncExtensionFunction { |
- virtual ~WindowsRemoveFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("windows.remove") |
-}; |
- |
-// Tabs |
-class TabsGetFunction : public SyncExtensionFunction { |
- virtual ~TabsGetFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.get") |
-}; |
-class TabsGetCurrentFunction : public SyncExtensionFunction { |
- virtual ~TabsGetCurrentFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.getCurrent") |
-}; |
-class TabsGetSelectedFunction : public SyncExtensionFunction { |
- virtual ~TabsGetSelectedFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.getSelected") |
-}; |
-class TabsGetAllInWindowFunction : public SyncExtensionFunction { |
- virtual ~TabsGetAllInWindowFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.getAllInWindow") |
-}; |
-class TabsQueryFunction : public SyncExtensionFunction { |
- virtual ~TabsQueryFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.query") |
-}; |
-class TabsCreateFunction : public SyncExtensionFunction { |
- virtual ~TabsCreateFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.create") |
-}; |
-class TabsDuplicateFunction : public SyncExtensionFunction { |
- virtual ~TabsDuplicateFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.duplicate") |
-}; |
-class TabsHighlightFunction : public SyncExtensionFunction { |
- virtual ~TabsHighlightFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.highlight") |
-}; |
-class TabsUpdateFunction : public AsyncExtensionFunction { |
- public: |
- TabsUpdateFunction(); |
- |
- protected: |
- virtual ~TabsUpdateFunction() {} |
- virtual bool UpdateURLIfPresent(base::DictionaryValue* update_props, |
- int tab_id, |
- bool* is_async); |
- virtual void PopulateResult(); |
- |
- content::WebContents* web_contents_; |
- |
- private: |
- virtual bool RunImpl() OVERRIDE; |
- void OnExecuteCodeFinished(const std::string& error, |
- int32 on_page_id, |
- const GURL& on_url, |
- const ListValue& script_result); |
- |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.update") |
-}; |
-class TabsMoveFunction : public SyncExtensionFunction { |
- virtual ~TabsMoveFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.move") |
-}; |
-class TabsReloadFunction : public SyncExtensionFunction { |
- virtual ~TabsReloadFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.reload") |
-}; |
-class TabsRemoveFunction : public SyncExtensionFunction { |
- virtual ~TabsRemoveFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.remove") |
-}; |
-class TabsDetectLanguageFunction : public AsyncExtensionFunction, |
- public content::NotificationObserver { |
- private: |
- virtual ~TabsDetectLanguageFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- |
- virtual 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_NAME("tabs.detectLanguage") |
-}; |
-class TabsCaptureVisibleTabFunction : public AsyncExtensionFunction, |
- public content::NotificationObserver { |
- public: |
- static void RegisterUserPrefs(PrefServiceSyncable* service); |
- |
- protected: |
- enum ImageFormat { |
- FORMAT_JPEG, |
- FORMAT_PNG |
- }; |
- |
- // The default quality setting used when encoding jpegs. |
- static const int kDefaultQuality; |
- |
- virtual ~TabsCaptureVisibleTabFunction() {} |
- virtual bool RunImpl() OVERRIDE; |
- virtual bool GetTabToCapture(content::WebContents** web_contents); |
- virtual void Observe(int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) OVERRIDE; |
- void SendResultFromBitmap(const SkBitmap& screen_capture); |
- |
- private: |
- void CopyFromBackingStoreComplete(skia::PlatformBitmap* bitmap, |
- bool succeeded); |
- |
- content::NotificationRegistrar registrar_; |
- |
- // The format (JPEG vs PNG) of the resulting image. Set in RunImpl(). |
- ImageFormat image_format_; |
- |
- // Quality setting to use when encoding jpegs. Set in RunImpl(). |
- int image_quality_; |
- |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.captureVisibleTab") |
-}; |
- |
-// Implement API call tabs.executeScript and tabs.insertCSS. |
-class ExecuteCodeInTabFunction : public AsyncExtensionFunction { |
- public: |
- ExecuteCodeInTabFunction(); |
- |
- protected: |
- virtual ~ExecuteCodeInTabFunction(); |
- |
- // ExtensionFunction: |
- virtual bool HasPermission() OVERRIDE; |
- virtual bool RunImpl() OVERRIDE; |
- |
- // Message handler. |
- virtual void OnExecuteCodeFinished(const std::string& error, |
- int32 on_page_id, |
- const GURL& on_url, |
- const ListValue& script_result); |
- |
- private: |
- // Initialize the |execute_tab_id_| and |details_| if they haven't already |
- // been. Returns whether initialization was successful. |
- bool Init(); |
- |
- // Called when contents from the file whose path is specified in JSON |
- // arguments has been loaded. |
- void DidLoadFile(bool success, const std::string& data); |
- |
- // Runs on FILE thread. Loads message bundles for the extension and |
- // localizes the CSS data. Calls back DidLoadAndLocalizeFile on the UI thread. |
- void LocalizeCSS( |
- const std::string& data, |
- const std::string& extension_id, |
- const FilePath& extension_path, |
- const std::string& extension_default_locale); |
- |
- // Called when contents from the loaded file have been localized. |
- void DidLoadAndLocalizeFile(bool success, const std::string& data); |
- |
- // Run in UI thread. Code string contains the code to be executed. Returns |
- // true on success. If true is returned, this does an AddRef. |
- bool Execute(const std::string& code_string); |
- |
- // Id of tab which executes code. |
- int execute_tab_id_; |
- |
- // The injection details. |
- scoped_ptr<extensions::api::tabs::InjectDetails> details_; |
- |
- // Contains extension resource built from path of file which is |
- // specified in JSON arguments. |
- ExtensionResource resource_; |
-}; |
- |
-class TabsExecuteScriptFunction : public ExecuteCodeInTabFunction { |
- private: |
- virtual ~TabsExecuteScriptFunction() {} |
- |
- virtual void OnExecuteCodeFinished(const std::string& error, |
- int32 on_page_id, |
- const GURL& on_url, |
- const ListValue& script_result) OVERRIDE; |
- |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.executeScript") |
-}; |
- |
-class TabsInsertCSSFunction : public ExecuteCodeInTabFunction { |
- private: |
- virtual ~TabsInsertCSSFunction() {} |
- |
- DECLARE_EXTENSION_FUNCTION_NAME("tabs.insertCSS") |
-}; |
- |
-#endif // CHROME_BROWSER_EXTENSIONS_API_TABS_TABS_API_H_ |