diff options
author | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-28 03:09:53 +0000 |
---|---|---|
committer | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-28 03:09:53 +0000 |
commit | 6dfed102065bda2e23541a5bf871b97258174fe3 (patch) | |
tree | 4b182c22eb74adcdd4ede2315062b991946b1005 /chrome/browser/views | |
parent | 26e607f289bc2f5ca82ee804969572606e1c0738 (diff) | |
download | chromium_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/views')
4 files changed, 24 insertions, 0 deletions
diff --git a/chrome/browser/views/blocked_popup_container.cc b/chrome/browser/views/blocked_popup_container.cc index 3906d5b..a5bcfbb0 100644 --- a/chrome/browser/views/blocked_popup_container.cc +++ b/chrome/browser/views/blocked_popup_container.cc @@ -13,6 +13,7 @@ #include <math.h> #include "base/string_util.h" +#include "chrome/browser/extensions/extension_function_dispatcher.h" #include "chrome/browser/profile.h" #include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/common/gfx/chrome_canvas.h" @@ -393,6 +394,12 @@ TabContents* BlockedPopupContainer::GetConstrainingContents( return owner_; } +ExtensionFunctionDispatcher* BlockedPopupContainer:: + CreateExtensionFunctionDispatcher(RenderViewHost* render_view_host, + const std::string& extension_id) { + return new ExtensionFunctionDispatcher(render_view_host, NULL, extension_id); +} + // Overridden from Animation: void BlockedPopupContainer::AnimateToState(double state) { if (in_show_animation_) diff --git a/chrome/browser/views/blocked_popup_container.h b/chrome/browser/views/blocked_popup_container.h index c634308..4a6fabe 100644 --- a/chrome/browser/views/blocked_popup_container.h +++ b/chrome/browser/views/blocked_popup_container.h @@ -185,6 +185,11 @@ class BlockedPopupContainer : public ConstrainedWindow, // Ignored; BlockedPopupContainer doesn't display a URL bar. virtual void UpdateTargetURL(TabContents* source, const GURL& url) { } + // Creates an ExtensionFunctionDispatcher that has no browser + virtual ExtensionFunctionDispatcher *CreateExtensionFunctionDispatcher( + RenderViewHost* render_view_host, + const std::string& extension_id); + // Overridden from Animation: // Changes the visibility percentage of the BlockedPopupContainer. This is diff --git a/chrome/browser/views/tabs/dragged_tab_controller.cc b/chrome/browser/views/tabs/dragged_tab_controller.cc index 33a01c4..7c75d2f 100644 --- a/chrome/browser/views/tabs/dragged_tab_controller.cc +++ b/chrome/browser/views/tabs/dragged_tab_controller.cc @@ -8,6 +8,7 @@ #include <set> #include "chrome/browser/browser_window.h" +#include "chrome/browser/extensions/extension_function_dispatcher.h" #include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/browser/metrics/user_metrics.h" #include "chrome/browser/views/frame/browser_view.h" @@ -396,6 +397,12 @@ void DraggedTabController::UpdateTargetURL(TabContents* source, // Ignored. } +ExtensionFunctionDispatcher* DraggedTabController:: + CreateExtensionFunctionDispatcher(RenderViewHost* render_view_host, + const std::string& extension_id) { + return new ExtensionFunctionDispatcher(render_view_host, NULL, extension_id); +} + /////////////////////////////////////////////////////////////////////////////// // DraggedTabController, NotificationObserver implementation: diff --git a/chrome/browser/views/tabs/dragged_tab_controller.h b/chrome/browser/views/tabs/dragged_tab_controller.h index 1989031..4406118 100644 --- a/chrome/browser/views/tabs/dragged_tab_controller.h +++ b/chrome/browser/views/tabs/dragged_tab_controller.h @@ -106,6 +106,11 @@ class DraggedTabController : public TabContentsDelegate, virtual void URLStarredChanged(TabContents* source, bool starred); virtual void UpdateTargetURL(TabContents* source, const GURL& url); + // Creates an ExtensionFunctionDispatcher that has no browser + virtual ExtensionFunctionDispatcher *CreateExtensionFunctionDispatcher( + RenderViewHost* render_view_host, + const std::string& extension_id); + // Overridden from NotificationObserver: virtual void Observe(NotificationType type, const NotificationSource& source, |