Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2712)

Unified Diff: chrome/browser/extensions/api/tabs/tabs_api.h

Issue 11747025: Run the JSON Schema Compiler's bundle compilation on JSON files. Previously it (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix ms release build Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/api/tabs/tabs.cc ('k') | chrome/browser/extensions/api/tabs/tabs_api.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/tabs/tabs_api.h
diff --git a/chrome/browser/extensions/api/tabs/tabs.h b/chrome/browser/extensions/api/tabs/tabs_api.h
similarity index 50%
rename from chrome/browser/extensions/api/tabs/tabs.h
rename to chrome/browser/extensions/api/tabs/tabs_api.h
index 5011c3f18b02368872cf493f3ca23b8cca8bf709..db362ccd70ffe5d5a207281a3515c8657c061a34 100644
--- a/chrome/browser/extensions/api/tabs/tabs.h
+++ b/chrome/browser/extensions/api/tabs/tabs_api.h
@@ -2,14 +2,16 @@
// 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_H__
-#define CHROME_BROWSER_EXTENSIONS_API_TABS_TABS_H__
+#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"
@@ -27,33 +29,41 @@ namespace content {
class WebContents;
}
+namespace extensions {
+namespace api {
+namespace tabs {
+struct InjectDetails;
+} // namespace tabs
+} // namespace api
+} // namespace extensions
+
namespace skia {
class PlatformBitmap;
}
// Windows
-class GetWindowFunction : public SyncExtensionFunction {
- virtual ~GetWindowFunction() {}
+class WindowsGetFunction : public SyncExtensionFunction {
+ virtual ~WindowsGetFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("windows.get")
};
-class GetCurrentWindowFunction : public SyncExtensionFunction {
- virtual ~GetCurrentWindowFunction() {}
+class WindowsGetCurrentFunction : public SyncExtensionFunction {
+ virtual ~WindowsGetCurrentFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("windows.getCurrent")
};
-class GetLastFocusedWindowFunction : public SyncExtensionFunction {
- virtual ~GetLastFocusedWindowFunction() {}
+class WindowsGetLastFocusedFunction : public SyncExtensionFunction {
+ virtual ~WindowsGetLastFocusedFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("windows.getLastFocused")
};
-class GetAllWindowsFunction : public SyncExtensionFunction {
- virtual ~GetAllWindowsFunction() {}
+class WindowsGetAllFunction : public SyncExtensionFunction {
+ virtual ~WindowsGetAllFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("windows.getAll")
};
-class CreateWindowFunction : public SyncExtensionFunction {
- virtual ~CreateWindowFunction() {}
+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,
@@ -66,64 +76,64 @@ class CreateWindowFunction : public SyncExtensionFunction {
bool* is_error);
DECLARE_EXTENSION_FUNCTION_NAME("windows.create")
};
-class UpdateWindowFunction : public SyncExtensionFunction {
- virtual ~UpdateWindowFunction() {}
+class WindowsUpdateFunction : public SyncExtensionFunction {
+ virtual ~WindowsUpdateFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("windows.update")
};
-class RemoveWindowFunction : public SyncExtensionFunction {
- virtual ~RemoveWindowFunction() {}
+class WindowsRemoveFunction : public SyncExtensionFunction {
+ virtual ~WindowsRemoveFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("windows.remove")
};
// Tabs
-class GetTabFunction : public SyncExtensionFunction {
- virtual ~GetTabFunction() {}
+class TabsGetFunction : public SyncExtensionFunction {
+ virtual ~TabsGetFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.get")
};
-class GetCurrentTabFunction : public SyncExtensionFunction {
- virtual ~GetCurrentTabFunction() {}
+class TabsGetCurrentFunction : public SyncExtensionFunction {
+ virtual ~TabsGetCurrentFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.getCurrent")
};
-class GetSelectedTabFunction : public SyncExtensionFunction {
- virtual ~GetSelectedTabFunction() {}
+class TabsGetSelectedFunction : public SyncExtensionFunction {
+ virtual ~TabsGetSelectedFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.getSelected")
};
-class GetAllTabsInWindowFunction : public SyncExtensionFunction {
- virtual ~GetAllTabsInWindowFunction() {}
+class TabsGetAllInWindowFunction : public SyncExtensionFunction {
+ virtual ~TabsGetAllInWindowFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.getAllInWindow")
};
-class QueryTabsFunction : public SyncExtensionFunction {
- virtual ~QueryTabsFunction() {}
+class TabsQueryFunction : public SyncExtensionFunction {
+ virtual ~TabsQueryFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.query")
};
-class CreateTabFunction : public SyncExtensionFunction {
- virtual ~CreateTabFunction() {}
+class TabsCreateFunction : public SyncExtensionFunction {
+ virtual ~TabsCreateFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.create")
};
-class DuplicateTabFunction : public SyncExtensionFunction {
- virtual ~DuplicateTabFunction() {}
+class TabsDuplicateFunction : public SyncExtensionFunction {
+ virtual ~TabsDuplicateFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.duplicate")
};
-class HighlightTabsFunction : public SyncExtensionFunction {
- virtual ~HighlightTabsFunction() {}
+class TabsHighlightFunction : public SyncExtensionFunction {
+ virtual ~TabsHighlightFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.highlight")
};
-class UpdateTabFunction : public AsyncExtensionFunction {
+class TabsUpdateFunction : public AsyncExtensionFunction {
public:
- UpdateTabFunction();
+ TabsUpdateFunction();
protected:
- virtual ~UpdateTabFunction() {}
+ virtual ~TabsUpdateFunction() {}
virtual bool UpdateURLIfPresent(base::DictionaryValue* update_props,
int tab_id,
bool* is_async);
@@ -140,25 +150,25 @@ class UpdateTabFunction : public AsyncExtensionFunction {
DECLARE_EXTENSION_FUNCTION_NAME("tabs.update")
};
-class MoveTabsFunction : public SyncExtensionFunction {
- virtual ~MoveTabsFunction() {}
+class TabsMoveFunction : public SyncExtensionFunction {
+ virtual ~TabsMoveFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.move")
};
-class ReloadTabFunction : public SyncExtensionFunction {
- virtual ~ReloadTabFunction() {}
+class TabsReloadFunction : public SyncExtensionFunction {
+ virtual ~TabsReloadFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.reload")
};
-class RemoveTabsFunction : public SyncExtensionFunction {
- virtual ~RemoveTabsFunction() {}
+class TabsRemoveFunction : public SyncExtensionFunction {
+ virtual ~TabsRemoveFunction() {}
virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.remove")
};
-class DetectTabLanguageFunction : public AsyncExtensionFunction,
+class TabsDetectLanguageFunction : public AsyncExtensionFunction,
public content::NotificationObserver {
private:
- virtual ~DetectTabLanguageFunction() {}
+ virtual ~TabsDetectLanguageFunction() {}
virtual bool RunImpl() OVERRIDE;
virtual void Observe(int type,
@@ -168,7 +178,7 @@ class DetectTabLanguageFunction : public AsyncExtensionFunction,
content::NotificationRegistrar registrar_;
DECLARE_EXTENSION_FUNCTION_NAME("tabs.detectLanguage")
};
-class CaptureVisibleTabFunction : public AsyncExtensionFunction,
+class TabsCaptureVisibleTabFunction : public AsyncExtensionFunction,
public content::NotificationObserver {
public:
static void RegisterUserPrefs(PrefServiceSyncable* service);
@@ -182,7 +192,7 @@ class CaptureVisibleTabFunction : public AsyncExtensionFunction,
// The default quality setting used when encoding jpegs.
static const int kDefaultQuality;
- virtual ~CaptureVisibleTabFunction() {}
+ virtual ~TabsCaptureVisibleTabFunction() {}
virtual bool RunImpl() OVERRIDE;
virtual bool GetTabToCapture(content::WebContents** web_contents);
virtual void Observe(int type,
@@ -205,4 +215,76 @@ class CaptureVisibleTabFunction : public AsyncExtensionFunction,
DECLARE_EXTENSION_FUNCTION_NAME("tabs.captureVisibleTab")
};
-#endif // CHROME_BROWSER_EXTENSIONS_API_TABS_TABS_H__
+// 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_
« no previous file with comments | « chrome/browser/extensions/api/tabs/tabs.cc ('k') | chrome/browser/extensions/api/tabs/tabs_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698