summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-16 23:54:40 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-16 23:54:40 +0000
commit15b2c6a9a738c3445d8525075a73f36dd8f2cdbc (patch)
tree657f19a459e124f71b2e45ab0a931c683706addc
parent1a10a0ccf708a6453d515706390966605b9ce83a (diff)
downloadchromium_src-15b2c6a9a738c3445d8525075a73f36dd8f2cdbc.zip
chromium_src-15b2c6a9a738c3445d8525075a73f36dd8f2cdbc.tar.gz
chromium_src-15b2c6a9a738c3445d8525075a73f36dd8f2cdbc.tar.bz2
Move view_types.h from chrome to content. Although some of the enum types are Chrome specific, I don't see how we can keep this in chrome given that it's a return type in RenderViewHostDelegate. Also make the two IPCs that are sent with the view type and browser ID be extension messages, since that's the only receiver of the messages (and makes it clear why they're being sent).
Review URL: http://codereview.chromium.org/7034013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85564 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/extension_host.cc1
-rw-r--r--chrome/browser/extensions/extension_message_handler.cc8
-rw-r--r--chrome/browser/extensions/extension_message_handler.h1
-rw-r--r--chrome/browser/extensions/extension_process_manager.h2
-rw-r--r--chrome/browser/external_tab_container_win.cc33
-rw-r--r--chrome/browser/external_tab_container_win.h16
-rw-r--r--chrome/browser/prerender/prerender_contents.cc1
-rw-r--r--chrome/browser/prerender/prerender_contents.h1
-rw-r--r--chrome/browser/tab_contents/background_contents.cc1
-rw-r--r--chrome/browser/tab_contents/background_contents.h1
-rw-r--r--chrome/browser/ui/browser.cc10
-rw-r--r--chrome/chrome_common.gypi2
-rw-r--r--chrome/common/extensions/extension_messages.h11
-rw-r--r--chrome/common/render_messages.h10
-rw-r--r--chrome/renderer/extensions/extension_helper.cc6
-rw-r--r--chrome/renderer/extensions/extension_helper.h2
-rw-r--r--chrome/renderer/extensions/extension_process_bindings.h1
-rw-r--r--content/browser/DEPS2
-rw-r--r--content/browser/renderer_host/render_view_host.cc19
-rw-r--r--content/browser/renderer_host/render_view_host.h7
-rw-r--r--content/browser/renderer_host/render_view_host_delegate.h9
-rw-r--r--content/browser/renderer_host/render_view_host_observer.cc3
-rw-r--r--content/browser/renderer_host/render_view_host_observer.h4
-rw-r--r--content/browser/tab_contents/tab_contents.cc7
-rw-r--r--content/browser/tab_contents/tab_contents.h3
-rw-r--r--content/browser/tab_contents/tab_contents_delegate.cc6
-rw-r--r--content/browser/tab_contents/tab_contents_delegate.h5
-rw-r--r--content/common/view_types.cc (renamed from chrome/common/view_types.cc)2
-rw-r--r--content/common/view_types.h (renamed from chrome/common/view_types.h)6
-rw-r--r--content/content_common.gypi2
30 files changed, 86 insertions, 96 deletions
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index 8399a33..dfb1c23 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -31,7 +31,6 @@
#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
-#include "chrome/common/view_types.h"
#include "content/browser/browsing_instance.h"
#include "content/browser/renderer_host/browser_render_process_host.h"
#include "content/browser/renderer_host/render_process_host.h"
diff --git a/chrome/browser/extensions/extension_message_handler.cc b/chrome/browser/extensions/extension_message_handler.cc
index 4447dac..6105b46 100644
--- a/chrome/browser/extensions/extension_message_handler.cc
+++ b/chrome/browser/extensions/extension_message_handler.cc
@@ -10,6 +10,7 @@
#include "content/browser/child_process_security_policy.h"
#include "content/browser/renderer_host/render_process_host.h"
#include "content/browser/renderer_host/render_view_host.h"
+#include "content/browser/renderer_host/render_view_host_delegate.h"
ExtensionMessageHandler::ExtensionMessageHandler(
RenderViewHost* render_view_host)
@@ -29,6 +30,13 @@ bool ExtensionMessageHandler::OnMessageReceived(
return handled;
}
+void ExtensionMessageHandler::RenderViewHostInitialized() {
+ Send(new ExtensionMsg_NotifyRenderViewType(
+ routing_id(), render_view_host()->delegate()->GetRenderViewType()));
+ Send(new ExtensionMsg_UpdateBrowserWindowId(
+ routing_id(), render_view_host()->delegate()->GetBrowserWindowID()));
+}
+
void ExtensionMessageHandler::OnPostMessage(int port_id,
const std::string& message) {
Profile* profile = render_view_host()->process()->profile();
diff --git a/chrome/browser/extensions/extension_message_handler.h b/chrome/browser/extensions/extension_message_handler.h
index 0ba4940..2042f81 100644
--- a/chrome/browser/extensions/extension_message_handler.h
+++ b/chrome/browser/extensions/extension_message_handler.h
@@ -27,6 +27,7 @@ class ExtensionMessageHandler : public RenderViewHostObserver {
virtual ~ExtensionMessageHandler();
// RenderViewHostObserver overrides.
+ virtual void RenderViewHostInitialized();
virtual bool OnMessageReceived(const IPC::Message& message);
private:
diff --git a/chrome/browser/extensions/extension_process_manager.h b/chrome/browser/extensions/extension_process_manager.h
index 6546aa3..1fc1bb5 100644
--- a/chrome/browser/extensions/extension_process_manager.h
+++ b/chrome/browser/extensions/extension_process_manager.h
@@ -11,9 +11,9 @@
#include <string>
#include "base/memory/ref_counted.h"
-#include "chrome/common/view_types.h"
#include "content/common/notification_observer.h"
#include "content/common/notification_registrar.h"
+#include "content/common/view_types.h"
class Browser;
class BrowsingInstance;
diff --git a/chrome/browser/external_tab_container_win.cc b/chrome/browser/external_tab_container_win.cc
index b3787d7..56ac022 100644
--- a/chrome/browser/external_tab_container_win.cc
+++ b/chrome/browser/external_tab_container_win.cc
@@ -31,6 +31,7 @@
#include "chrome/browser/ui/views/tab_contents/tab_contents_container.h"
#include "chrome/common/automation_messages.h"
#include "chrome/common/chrome_constants.h"
+#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
#include "content/browser/renderer_host/render_process_host.h"
#include "content/browser/renderer_host/render_view_host.h"
@@ -90,6 +91,7 @@ ExternalTabContainer::ExternalTabContainer(
: views::WidgetWin(new views::Widget),
automation_(automation),
tab_contents_container_(NULL),
+ ALLOW_THIS_IN_INITIALIZER_LIST(tab_contents_registrar_(this)),
tab_handle_(0),
ignore_next_load_notification_(false),
automation_resource_message_filter_(filter),
@@ -186,6 +188,8 @@ bool ExternalTabContainer::Init(Profile* profile,
Source<NavigationController>(controller),
NotificationService::NoDetails());
+ tab_contents_registrar_.Observe(tab_contents_->tab_contents());
+
// Start loading initial URL
if (!initial_url.is_empty()) {
// Navigate out of context since we don't have a 'tab_handle_' yet.
@@ -513,15 +517,6 @@ void ExternalTabContainer::UpdateTargetURL(TabContents* source,
void ExternalTabContainer::ContentsZoomChange(bool zoom_in) {
}
-void ExternalTabContainer::ForwardMessageToExternalHost(
- const std::string& message, const std::string& origin,
- const std::string& target) {
- if (automation_) {
- automation_->Send(new AutomationMsg_ForwardMessageToExternalHost(
- tab_handle_, message, origin, target));
- }
-}
-
bool ExternalTabContainer::IsExternalTabContainer() const {
return true;
}
@@ -703,6 +698,26 @@ void ExternalTabContainer::ShowRepostFormWarningDialog(
browser::ShowRepostFormWarningDialog(GetNativeView(), tab_contents);
}
+bool ExternalTabContainer::OnMessageReceived(const IPC::Message& message) {
+ bool handled = true;
+ IPC_BEGIN_MESSAGE_MAP(ExternalTabContainer, message)
+ IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardMessageToExternalHost,
+ OnForwardMessageToExternalHost)
+ IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_END_MESSAGE_MAP()
+ return handled;
+}
+
+void ExternalTabContainer::OnForwardMessageToExternalHost(
+ const std::string& message,
+ const std::string& origin,
+ const std::string& target) {
+ if (automation_) {
+ automation_->Send(new AutomationMsg_ForwardMessageToExternalHost(
+ tab_handle_, message, origin, target));
+ }
+}
+
////////////////////////////////////////////////////////////////////////////////
// ExternalTabContainer, NotificationObserver implementation:
diff --git a/chrome/browser/external_tab_container_win.h b/chrome/browser/external_tab_container_win.h
index 2e82237..4a3ac39 100644
--- a/chrome/browser/external_tab_container_win.h
+++ b/chrome/browser/external_tab_container_win.h
@@ -18,6 +18,7 @@
#include "chrome/browser/ui/views/infobars/infobar_container.h"
#include "chrome/browser/ui/views/unhandled_keyboard_event_handler.h"
#include "content/browser/tab_contents/tab_contents_delegate.h"
+#include "content/browser/tab_contents/tab_contents_observer.h"
#include "content/common/navigation_types.h"
#include "content/common/notification_observer.h"
#include "content/common/notification_registrar.h"
@@ -41,6 +42,7 @@ class ViewProp;
// external process. This class provides the FocusManger needed by the
// TabContents as well as an implementation of TabContentsDelegate.
class ExternalTabContainer : public TabContentsDelegate,
+ public TabContentsObserver,
public NotificationObserver,
public views::WidgetWin,
public base::RefCounted<ExternalTabContainer>,
@@ -130,9 +132,6 @@ class ExternalTabContainer : public TabContentsDelegate,
virtual bool IsPopup(const TabContents* source) const;
virtual void UpdateTargetURL(TabContents* source, const GURL& url);
virtual void ContentsZoomChange(bool zoom_in);
- virtual void ForwardMessageToExternalHost(const std::string& message,
- const std::string& origin,
- const std::string& target);
virtual bool IsExternalTabContainer() const;
virtual gfx::NativeWindow GetFrameNativeWindow();
@@ -168,6 +167,15 @@ class ExternalTabContainer : public TabContentsDelegate,
void RegisterRenderViewHost(RenderViewHost* render_view_host);
void UnregisterRenderViewHost(RenderViewHost* render_view_host);
+ // Overridden from TabContentsObserver:
+ // IPC::Channel::Listener implementation.
+ virtual bool OnMessageReceived(const IPC::Message& message);
+
+ // Message handlers
+ void OnForwardMessageToExternalHost(const std::string& message,
+ const std::string& origin,
+ const std::string& target);
+
// Overridden from NotificationObserver:
virtual void Observe(NotificationType type,
const NotificationSource& source,
@@ -263,6 +271,8 @@ class ExternalTabContainer : public TabContentsDelegate,
NotificationRegistrar registrar_;
+ TabContentsObserver::Registrar tab_contents_registrar_;
+
// A view to handle focus cycling
TabContentsContainer* tab_contents_container_;
diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc
index 9a2048a..7977352 100644
--- a/chrome/browser/prerender/prerender_contents.cc
+++ b/chrome/browser/prerender/prerender_contents.cc
@@ -24,7 +24,6 @@
#include "chrome/common/icon_messages.h"
#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
-#include "chrome/common/view_types.h"
#include "content/browser/browsing_instance.h"
#include "content/browser/renderer_host/render_view_host.h"
#include "content/browser/renderer_host/resource_dispatcher_host.h"
diff --git a/chrome/browser/prerender/prerender_contents.h b/chrome/browser/prerender/prerender_contents.h
index c512016..34909fd 100644
--- a/chrome/browser/prerender/prerender_contents.h
+++ b/chrome/browser/prerender/prerender_contents.h
@@ -15,7 +15,6 @@
#include "chrome/browser/prerender/prerender_render_view_host_observer.h"
#include "chrome/browser/tab_contents/render_view_host_delegate_helper.h"
#include "chrome/browser/ui/app_modal_dialogs/js_modal_dialog.h"
-#include "chrome/common/view_types.h"
#include "content/browser/renderer_host/render_view_host_delegate.h"
#include "content/browser/tab_contents/tab_contents_observer.h"
#include "content/common/notification_registrar.h"
diff --git a/chrome/browser/tab_contents/background_contents.cc b/chrome/browser/tab_contents/background_contents.cc
index 2d0dd69..bbeaa1d 100644
--- a/chrome/browser/tab_contents/background_contents.cc
+++ b/chrome/browser/tab_contents/background_contents.cc
@@ -11,7 +11,6 @@
#include "chrome/browser/ui/webui/chrome_web_ui_factory.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/url_constants.h"
-#include "chrome/common/view_types.h"
#include "content/browser/browsing_instance.h"
#include "content/browser/renderer_host/render_view_host.h"
#include "content/browser/site_instance.h"
diff --git a/chrome/browser/tab_contents/background_contents.h b/chrome/browser/tab_contents/background_contents.h
index 9cd4f81..4f1902b 100644
--- a/chrome/browser/tab_contents/background_contents.h
+++ b/chrome/browser/tab_contents/background_contents.h
@@ -12,7 +12,6 @@
#include "base/scoped_ptr.h"
#include "chrome/browser/tab_contents/render_view_host_delegate_helper.h"
#include "chrome/browser/ui/app_modal_dialogs/js_modal_dialog.h"
-#include "chrome/common/view_types.h"
#include "content/browser/renderer_host/render_view_host_delegate.h"
#include "content/common/notification_registrar.h"
#include "content/common/window_container_type.h"
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index d560e48..e313a036 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -102,6 +102,7 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/profiling.h"
#include "chrome/common/url_constants.h"
@@ -2825,10 +2826,11 @@ void Browser::TabInsertedAt(TabContentsWrapper* contents,
SetAsDelegate(contents, this);
contents->controller().SetWindowID(session_id());
- // Each renderer holds the ID of the window that hosts it. Notify the
- // renderer that the window ID changed.
- contents->render_view_host()->UpdateBrowserWindowId(
- contents->controller().window_id().id());
+ // Extension code in the renderer holds the ID of the window that hosts it.
+ // Notify it that the window ID changed.
+ contents->render_view_host()->Send(new ExtensionMsg_UpdateBrowserWindowId(
+ contents->render_view_host()->routing_id(),
+ contents->controller().window_id().id()));
SyncHistoryWithTabs(index);
diff --git a/chrome/chrome_common.gypi b/chrome/chrome_common.gypi
index 1ae861b..6a5d99b 100644
--- a/chrome/chrome_common.gypi
+++ b/chrome/chrome_common.gypi
@@ -242,8 +242,6 @@
'common/url_constants.cc',
'common/url_constants.h',
'common/utility_messages.h',
- 'common/view_types.cc',
- 'common/view_types.h',
'common/visitedlink_common.cc',
'common/visitedlink_common.h',
'common/web_apps.cc',
diff --git a/chrome/common/extensions/extension_messages.h b/chrome/common/extensions/extension_messages.h
index 1181aa3..b33e7dea 100644
--- a/chrome/common/extensions/extension_messages.h
+++ b/chrome/common/extensions/extension_messages.h
@@ -11,10 +11,13 @@
#include "chrome/common/extensions/extension_extent.h"
#include "chrome/common/extensions/url_pattern.h"
#include "chrome/common/web_apps.h"
+#include "content/common/view_types.h"
#include "ipc/ipc_message_macros.h"
#define IPC_MESSAGE_START ExtensionMsgStart
+IPC_ENUM_TRAITS(ViewType::Type)
+
// Parameters structure for ExtensionHostMsg_Request.
IPC_STRUCT_BEGIN(ExtensionHostMsg_Request_Params)
// Message name.
@@ -200,6 +203,14 @@ IPC_MESSAGE_CONTROL1(ExtensionMsg_UpdateUserScripts,
IPC_MESSAGE_ROUTED1(ExtensionMsg_GetApplicationInfo,
int32 /*page_id*/)
+// Tell the renderer which browser window it's being attached to.
+IPC_MESSAGE_ROUTED1(ExtensionMsg_UpdateBrowserWindowId,
+ int /* id of browser window */)
+
+// Tell the renderer which type this view is.
+IPC_MESSAGE_ROUTED1(ExtensionMsg_NotifyRenderViewType,
+ ViewType::Type /* view_type */)
+
// Messages sent from the renderer to the browser.
// A renderer sends this message when an extension process starts an API
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 90816ea..78199db 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -24,7 +24,6 @@
#include "chrome/common/search_provider.h"
#include "chrome/common/thumbnail_score.h"
#include "chrome/common/translate_errors.h"
-#include "chrome/common/view_types.h"
#include "content/common/common_param_traits.h"
#include "ipc/ipc_message_macros.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebCache.h"
@@ -94,7 +93,6 @@ IPC_ENUM_TRAITS(InstantCompleteBehavior)
IPC_ENUM_TRAITS(search_provider::OSDDType)
IPC_ENUM_TRAITS(search_provider::InstallState)
IPC_ENUM_TRAITS(TranslateErrors::Type)
-IPC_ENUM_TRAITS(ViewType::Type)
IPC_ENUM_TRAITS(WebKit::WebConsoleMessage::Level)
IPC_STRUCT_TRAITS_BEGIN(ThumbnailScore)
@@ -240,14 +238,6 @@ IPC_MESSAGE_ROUTED4(ViewMsg_DetermineIfPageSupportsInstant,
int /* selection_start */,
int /* selection_end */)
-// Tell the renderer which browser window it's being attached to.
-IPC_MESSAGE_ROUTED1(ViewMsg_UpdateBrowserWindowId,
- int /* id of browser window */)
-
-// Tell the renderer which type this view is.
-IPC_MESSAGE_ROUTED1(ViewMsg_NotifyRenderViewType,
- ViewType::Type /* view_type */)
-
// Tells the renderer to translate the page contents from one language to
// another.
IPC_MESSAGE_ROUTED4(ViewMsg_TranslatePage,
diff --git a/chrome/renderer/extensions/extension_helper.cc b/chrome/renderer/extensions/extension_helper.cc
index bbe638b..4eaee1e 100644
--- a/chrome/renderer/extensions/extension_helper.cc
+++ b/chrome/renderer/extensions/extension_helper.cc
@@ -109,8 +109,10 @@ bool ExtensionHelper::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ExtensionMsg_MessageInvoke, OnExtensionMessageInvoke)
IPC_MESSAGE_HANDLER(ExtensionMsg_ExecuteCode, OnExecuteCode)
IPC_MESSAGE_HANDLER(ExtensionMsg_GetApplicationInfo, OnGetApplicationInfo)
- IPC_MESSAGE_HANDLER(ViewMsg_UpdateBrowserWindowId, OnUpdateBrowserWindowId)
- IPC_MESSAGE_HANDLER(ViewMsg_NotifyRenderViewType, OnNotifyRendererViewType)
+ IPC_MESSAGE_HANDLER(ExtensionMsg_UpdateBrowserWindowId,
+ OnUpdateBrowserWindowId)
+ IPC_MESSAGE_HANDLER(ExtensionMsg_NotifyRenderViewType,
+ OnNotifyRendererViewType)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
diff --git a/chrome/renderer/extensions/extension_helper.h b/chrome/renderer/extensions/extension_helper.h
index c53dad5..8410602 100644
--- a/chrome/renderer/extensions/extension_helper.h
+++ b/chrome/renderer/extensions/extension_helper.h
@@ -8,7 +8,7 @@
#include <map>
-#include "chrome/common/view_types.h"
+#include "content/common/view_types.h"
#include "content/renderer/render_view.h"
#include "content/renderer/render_view_observer.h"
#include "content/renderer/render_view_observer_tracker.h"
diff --git a/chrome/renderer/extensions/extension_process_bindings.h b/chrome/renderer/extensions/extension_process_bindings.h
index 3f294c9..7977370 100644
--- a/chrome/renderer/extensions/extension_process_bindings.h
+++ b/chrome/renderer/extensions/extension_process_bindings.h
@@ -12,7 +12,6 @@
#include <string>
#include <vector>
-#include "chrome/common/view_types.h"
#include "v8/include/v8.h"
class ExtensionDispatcher;
diff --git a/content/browser/DEPS b/content/browser/DEPS
index 93cce1d..c074355 100644
--- a/content/browser/DEPS
+++ b/content/browser/DEPS
@@ -123,8 +123,6 @@ include_rules = [
"+chrome/common/security_style.h",
- "+chrome/common/view_types.h",
-
# ONLY USED BY TESTS
"+chrome/browser/chromeos/cros/mock_network_library.h",
"+chrome/browser/net/url_request_failed_dns_job.h",
diff --git a/content/browser/renderer_host/render_view_host.cc b/content/browser/renderer_host/render_view_host.cc
index bd54a62..0e2f955 100644
--- a/content/browser/renderer_host/render_view_host.cc
+++ b/content/browser/renderer_host/render_view_host.cc
@@ -18,7 +18,6 @@
#include "chrome/browser/net/predictor_api.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h"
-#include "chrome/common/render_messages.h"
#include "content/browser/browser_message_filter.h"
#include "content/browser/child_process_security_policy.h"
#include "content/browser/content_browser_client.h"
@@ -180,12 +179,12 @@ bool RenderViewHost::CreateRenderView(const string16& frame_name) {
// If it's enabled, tell the renderer to set up the Javascript bindings for
// sending messages back to the browser.
Send(new ViewMsg_AllowBindings(routing_id(), enabled_bindings_));
- UpdateBrowserWindowId(delegate_->GetBrowserWindowID());
- Send(new ViewMsg_NotifyRenderViewType(routing_id(),
- delegate_->GetRenderViewType()));
// Let our delegate know that we created a RenderView.
delegate_->RenderViewCreated(this);
+ FOR_EACH_OBSERVER(
+ RenderViewHostObserver, observers_, RenderViewHostInitialized());
+
return true;
}
@@ -754,8 +753,6 @@ bool RenderViewHost::OnMessageReceived(const IPC::Message& msg) {
IPC_MESSAGE_HANDLER(ViewHostMsg_OpenURL, OnMsgOpenURL)
IPC_MESSAGE_HANDLER(ViewHostMsg_DidContentsPreferredSizeChange,
OnMsgDidContentsPreferredSizeChange)
- IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardMessageToExternalHost,
- OnMsgForwardMessageToExternalHost)
IPC_MESSAGE_HANDLER(ViewHostMsg_SetTooltipText, OnMsgSetTooltipText)
IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunJavaScriptMessage,
OnMsgRunJavaScriptMessage)
@@ -1061,12 +1058,6 @@ void RenderViewHost::OnMsgDidContentsPreferredSizeChange(
view->UpdatePreferredSize(new_size);
}
-void RenderViewHost::OnMsgForwardMessageToExternalHost(
- const std::string& message, const std::string& origin,
- const std::string& target) {
- delegate_->ProcessExternalHostMessage(message, origin, target);
-}
-
void RenderViewHost::DisassociateFromPopupCount() {
Send(new ViewMsg_DisassociateFromPopupCount(routing_id()));
}
@@ -1318,10 +1309,6 @@ void RenderViewHost::ForwardEditCommandsForNextKeyEvent(
Send(new ViewMsg_SetEditCommandsForNextKeyEvent(routing_id(), edit_commands));
}
-void RenderViewHost::UpdateBrowserWindowId(int window_id) {
- Send(new ViewMsg_UpdateBrowserWindowId(routing_id(), window_id));
-}
-
void RenderViewHost::PerformCustomContextMenuAction(
const webkit_glue::CustomContextMenuContext& custom_context,
unsigned action) {
diff --git a/content/browser/renderer_host/render_view_host.h b/content/browser/renderer_host/render_view_host.h
index 958df19..8df9eaf 100644
--- a/content/browser/renderer_host/render_view_host.h
+++ b/content/browser/renderer_host/render_view_host.h
@@ -13,7 +13,6 @@
#include "base/observer_list.h"
#include "base/process_util.h"
#include "chrome/browser/ui/find_bar/find_bar_controller.h"
-#include "chrome/common/view_types.h"
#include "content/browser/renderer_host/render_widget_host.h"
#include "content/common/page_zoom.h"
#include "content/common/window_container_type.h"
@@ -411,9 +410,6 @@ class RenderViewHost : public RenderWidgetHost {
// Creates a full screen RenderWidget.
void CreateNewFullscreenWidget(int route_id);
- // Tells the renderer which browser window it is being attached to.
- void UpdateBrowserWindowId(int window_id);
-
// Tells the render view that a custom context action has been selected.
void PerformCustomContextMenuAction(
const webkit_glue::CustomContextMenuContext& custom_context,
@@ -497,9 +493,6 @@ class RenderViewHost : public RenderWidgetHost {
void OnMsgOpenURL(const GURL& url, const GURL& referrer,
WindowOpenDisposition disposition);
void OnMsgDidContentsPreferredSizeChange(const gfx::Size& new_size);
- void OnMsgForwardMessageToExternalHost(const std::string& message,
- const std::string& origin,
- const std::string& target);
void OnMsgSetTooltipText(const std::wstring& tooltip_text,
WebKit::WebTextDirection text_direction_hint);
void OnMsgSelectionChanged(const std::string& text, const ui::Range& range);
diff --git a/content/browser/renderer_host/render_view_host_delegate.h b/content/browser/renderer_host/render_view_host_delegate.h
index f6ff365..365c679 100644
--- a/content/browser/renderer_host/render_view_host_delegate.h
+++ b/content/browser/renderer_host/render_view_host_delegate.h
@@ -13,7 +13,7 @@
#include "base/memory/ref_counted.h"
#include "base/process_util.h"
#include "base/string16.h"
-#include "chrome/common/view_types.h"
+#include "content/common/view_types.h"
#include "content/common/window_container_type.h"
#include "ipc/ipc_channel.h"
#include "net/base/load_states.h"
@@ -405,13 +405,6 @@ class RenderViewHostDelegate : public IPC::Channel::Listener {
const GURL& referrer,
WindowOpenDisposition disposition) {}
- // A message for external host. By default we ignore such messages.
- // |receiver| can be a receiving script and |message| is any
- // arbitrary string that makes sense to the receiver.
- virtual void ProcessExternalHostMessage(const std::string& message,
- const std::string& origin,
- const std::string& target) {}
-
// A javascript message, confirmation or prompt should be shown.
virtual void RunJavaScriptMessage(const RenderViewHost* rvh,
const std::wstring& message,
diff --git a/content/browser/renderer_host/render_view_host_observer.cc b/content/browser/renderer_host/render_view_host_observer.cc
index 5f7872e..15463d4 100644
--- a/content/browser/renderer_host/render_view_host_observer.cc
+++ b/content/browser/renderer_host/render_view_host_observer.cc
@@ -17,6 +17,9 @@ RenderViewHostObserver::~RenderViewHostObserver() {
render_view_host_->RemoveObserver(this);
}
+void RenderViewHostObserver::RenderViewHostInitialized() {
+}
+
void RenderViewHostObserver::RenderViewHostDestroyed() {
delete this;
}
diff --git a/content/browser/renderer_host/render_view_host_observer.h b/content/browser/renderer_host/render_view_host_observer.h
index 2f63935..2727fb3 100644
--- a/content/browser/renderer_host/render_view_host_observer.h
+++ b/content/browser/renderer_host/render_view_host_observer.h
@@ -20,6 +20,10 @@ class RenderViewHostObserver : public IPC::Channel::Listener,
virtual ~RenderViewHostObserver();
+ // Invoked after the RenderViewHost is created in the renderer process. After
+ // this point, messages can be sent to it (or to observers in the renderer).
+ virtual void RenderViewHostInitialized();
+
// Invoked when the RenderViewHost is being destroyed. Gives subclasses a
// chance to cleanup. The base implementation will delete the object.
virtual void RenderViewHostDestroyed();
diff --git a/content/browser/tab_contents/tab_contents.cc b/content/browser/tab_contents/tab_contents.cc
index d51e63e..bf511cf 100644
--- a/content/browser/tab_contents/tab_contents.cc
+++ b/content/browser/tab_contents/tab_contents.cc
@@ -1857,13 +1857,6 @@ void TabContents::RequestOpenURL(const GURL& url, const GURL& referrer,
}
}
-void TabContents::ProcessExternalHostMessage(const std::string& message,
- const std::string& origin,
- const std::string& target) {
- if (delegate())
- delegate()->ForwardMessageToExternalHost(message, origin, target);
-}
-
void TabContents::RunJavaScriptMessage(
const RenderViewHost* rvh,
const std::wstring& message,
diff --git a/content/browser/tab_contents/tab_contents.h b/content/browser/tab_contents/tab_contents.h
index f38ca63..c3e5544 100644
--- a/content/browser/tab_contents/tab_contents.h
+++ b/content/browser/tab_contents/tab_contents.h
@@ -748,9 +748,6 @@ class TabContents : public PageNavigator,
int32 page_id);
virtual void RequestOpenURL(const GURL& url, const GURL& referrer,
WindowOpenDisposition disposition);
- virtual void ProcessExternalHostMessage(const std::string& message,
- const std::string& origin,
- const std::string& target);
virtual void RunJavaScriptMessage(const RenderViewHost* rvh,
const std::wstring& message,
const std::wstring& default_prompt,
diff --git a/content/browser/tab_contents/tab_contents_delegate.cc b/content/browser/tab_contents/tab_contents_delegate.cc
index 378c48e..9eb58df 100644
--- a/content/browser/tab_contents/tab_contents_delegate.cc
+++ b/content/browser/tab_contents/tab_contents_delegate.cc
@@ -59,12 +59,6 @@ void TabContentsDelegate::BeforeUnloadFired(TabContents* tab,
*proceed_to_fire_unload = true;
}
-void TabContentsDelegate::ForwardMessageToExternalHost(
- const std::string& message,
- const std::string& origin,
- const std::string& target) {
-}
-
bool TabContentsDelegate::IsExternalTabContainer() const { return false; }
void TabContentsDelegate::SetFocusToLocationBar(bool select_all) {}
diff --git a/content/browser/tab_contents/tab_contents_delegate.h b/content/browser/tab_contents/tab_contents_delegate.h
index e0c95ac..c0c0b61 100644
--- a/content/browser/tab_contents/tab_contents_delegate.h
+++ b/content/browser/tab_contents/tab_contents_delegate.h
@@ -158,11 +158,6 @@ class TabContentsDelegate {
bool proceed,
bool* proceed_to_fire_unload);
- // Send IPC to external host. Default implementation is do nothing.
- virtual void ForwardMessageToExternalHost(const std::string& message,
- const std::string& origin,
- const std::string& target);
-
// If the delegate is hosting tabs externally.
virtual bool IsExternalTabContainer() const;
diff --git a/chrome/common/view_types.cc b/content/common/view_types.cc
index 73c604f..97c9828 100644
--- a/chrome/common/view_types.cc
+++ b/content/common/view_types.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/common/view_types.h"
+#include "content/common/view_types.h"
const char* ViewType::kTabContents = "TAB";
const char* ViewType::kBackgroundPage = "BACKGROUND";
diff --git a/chrome/common/view_types.h b/content/common/view_types.h
index 2d9c539..d41ed27 100644
--- a/chrome/common/view_types.h
+++ b/content/common/view_types.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_COMMON_VIEW_TYPES_H_
-#define CHROME_COMMON_VIEW_TYPES_H_
+#ifndef CONTENT_COMMON_VIEW_TYPES_H_
+#define CONTENT_COMMON_VIEW_TYPES_H_
#pragma once
#include "base/basictypes.h"
@@ -39,4 +39,4 @@ class ViewType {
DISALLOW_COPY_AND_ASSIGN(ViewType);
};
-#endif // CHROME_COMMON_VIEW_TYPES_H_
+#endif // CONTENT_COMMON_VIEW_TYPES_H_
diff --git a/content/content_common.gypi b/content/content_common.gypi
index 95c481d..e22ee0c 100644
--- a/content/content_common.gypi
+++ b/content/content_common.gypi
@@ -219,6 +219,8 @@
'common/url_constants.h',
'common/video_capture_messages.h',
'common/view_messages.h',
+ 'common/view_types.cc',
+ 'common/view_types.h',
'common/web_database_observer_impl.cc',
'common/web_database_observer_impl.h',
'common/webblobregistry_impl.cc',