summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/hwnd_html_view.cc
diff options
context:
space:
mode:
authormpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-09 19:33:20 +0000
committermpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-09 19:33:20 +0000
commit45904e20797f8cd28a776ed0e40ba94dc4eef97e (patch)
tree00b15cd6207f993e9553313202801702b3f7b250 /chrome/browser/views/hwnd_html_view.cc
parent1cb5fbed08b85c459288c98d63cf7c3158f519a2 (diff)
downloadchromium_src-45904e20797f8cd28a776ed0e40ba94dc4eef97e.zip
chromium_src-45904e20797f8cd28a776ed0e40ba94dc4eef97e.tar.gz
chromium_src-45904e20797f8cd28a776ed0e40ba94dc4eef97e.tar.bz2
Introducing ExtensionProcessManager. This manages the ExtensionViews to
ensure there is only 1 process per extension. I also changed ExtensionMessageService from singleton to one instance per Profile. This means messages can only be passed to extensions and scripts within the same profile. Review URL: http://codereview.chromium.org/62132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13447 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/hwnd_html_view.cc')
-rw-r--r--chrome/browser/views/hwnd_html_view.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/chrome/browser/views/hwnd_html_view.cc b/chrome/browser/views/hwnd_html_view.cc
index 95c98f9..9eb8cc4 100644
--- a/chrome/browser/views/hwnd_html_view.cc
+++ b/chrome/browser/views/hwnd_html_view.cc
@@ -11,6 +11,19 @@
#include "chrome/views/widget/widget.h"
#include "chrome/views/widget/widget_win.h"
+HWNDHtmlView::HWNDHtmlView(const GURL& content_url,
+ RenderViewHostDelegate* delegate,
+ bool allow_dom_ui_bindings, SiteInstance* instance)
+ : render_view_host_(NULL),
+ content_url_(content_url),
+ allow_dom_ui_bindings_(allow_dom_ui_bindings),
+ delegate_(delegate),
+ initialized_(false),
+ site_instance_(instance) {
+ if (!site_instance_)
+ site_instance_ = SiteInstance::CreateSiteInstance(delegate_->GetProfile());
+}
+
HWNDHtmlView::~HWNDHtmlView() {
if (render_view_host_) {
Detach();
@@ -29,8 +42,7 @@ void HWNDHtmlView::InitHidden() {
void HWNDHtmlView::Init(HWND parent_hwnd) {
DCHECK(!render_view_host_) << "Already initialized.";
RenderViewHost* rvh = new RenderViewHost(
- SiteInstance::CreateSiteInstance(delegate_->GetProfile()),
- delegate_, MSG_ROUTING_NONE, NULL);
+ site_instance_, delegate_, MSG_ROUTING_NONE, NULL);
render_view_host_ = rvh;
RenderWidgetHostViewWin* view = new RenderWidgetHostViewWin(rvh);