summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_function_dispatcher.h
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-28 03:09:53 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-28 03:09:53 +0000
commit6dfed102065bda2e23541a5bf871b97258174fe3 (patch)
tree4b182c22eb74adcdd4ede2315062b991946b1005 /chrome/browser/extensions/extension_function_dispatcher.h
parent26e607f289bc2f5ca82ee804969572606e1c0738 (diff)
downloadchromium_src-6dfed102065bda2e23541a5bf871b97258174fe3.zip
chromium_src-6dfed102065bda2e23541a5bf871b97258174fe3.tar.gz
chromium_src-6dfed102065bda2e23541a5bf871b97258174fe3.tar.bz2
Implement tabs.createWindow extension api call. Required: (a) new RVHDelegate & TabContentsDelegate method(s) CreateExtensionFunctionDispatcher() so that the dispatcher could be created with (an optional) browser attached to it, while avoiding having render_host depend on browser.h
BUG=11092: R=aa,mpComplete,darin,pkasting Review URL: http://codereview.chromium.org/79070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14710 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_function_dispatcher.h')
-rw-r--r--chrome/browser/extensions/extension_function_dispatcher.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_function_dispatcher.h b/chrome/browser/extensions/extension_function_dispatcher.h
index ab3a07d..1ffb3d4 100644
--- a/chrome/browser/extensions/extension_function_dispatcher.h
+++ b/chrome/browser/extensions/extension_function_dispatcher.h
@@ -10,9 +10,11 @@
#include "base/values.h"
+class Browser;
class ExtensionFunction;
class Profile;
class RenderViewHost;
+class RenderViewHostDelegate;
// ExtensionFunctionDispatcher receives requests to execute functions from
// Chromium extensions running in a RenderViewHost and dispatches them to the
@@ -23,6 +25,7 @@ class ExtensionFunctionDispatcher {
static void GetAllFunctionNames(std::vector<std::string>* names);
ExtensionFunctionDispatcher(RenderViewHost* render_view_host,
+ Browser* browser,
const std::string& extension_id);
// Handle a request to execute an extension function.
@@ -32,6 +35,8 @@ class ExtensionFunctionDispatcher {
// Send a response to a function.
void SendResponse(ExtensionFunction* api);
+ Browser* browser() { return browser_; }
+
// Handle a malformed message. Possibly the result of an attack, so kill
// the renderer.
void HandleBadMessage(ExtensionFunction* api);
@@ -45,6 +50,8 @@ class ExtensionFunctionDispatcher {
private:
RenderViewHost* render_view_host_;
+ Browser* browser_;
+
std::string extension_id_;
};