Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 6e124b321bd57e00648a24a0f89601475a47487a..ecf740c64a4f1bab17a7a6eceb76d0b5366906ac 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -46,6 +46,7 @@ |
#include "content/common/content_constants_internal.h" |
#include "content/common/database_messages.h" |
#include "content/common/dom_storage/dom_storage_messages.h" |
+#include "content/common/frame_messages.h" |
#include "content/common/gpu/client/context_provider_command_buffer.h" |
#include "content/common/gpu/client/gpu_channel_host.h" |
#include "content/common/gpu/client/gpu_memory_buffer_impl.h" |
@@ -89,6 +90,7 @@ |
#include "content/renderer/media/webrtc_identity_service.h" |
#include "content/renderer/net_info_helper.h" |
#include "content/renderer/p2p/socket_dispatcher.h" |
+#include "content/renderer/render_frame_proxy.h" |
#include "content/renderer/render_process_impl.h" |
#include "content/renderer/render_view_impl.h" |
#include "content/renderer/renderer_webkitplatformsupport_impl.h" |
@@ -1200,13 +1202,6 @@ void RenderThreadImpl::DoNotNotifyWebKitOfModalLoop() { |
notify_webkit_of_modal_loop_ = false; |
} |
-void RenderThreadImpl::OnSetZoomLevelForCurrentURL(const std::string& scheme, |
- const std::string& host, |
- double zoom_level) { |
- RenderViewZoomer zoomer(scheme, host, zoom_level); |
- RenderView::ForEach(&zoomer); |
-} |
- |
bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { |
ObserverListBase<RenderProcessObserver>::Iterator it(observers_); |
RenderProcessObserver* observer; |
@@ -1224,6 +1219,8 @@ bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { |
bool handled = true; |
IPC_BEGIN_MESSAGE_MAP(RenderThreadImpl, msg) |
+ IPC_MESSAGE_HANDLER(FrameMsg_NewFrame, OnCreateNewFrame) |
+ IPC_MESSAGE_HANDLER(FrameMsg_NewFrameProxy, OnCreateNewFrameProxy) |
IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForCurrentURL, |
OnSetZoomLevelForCurrentURL) |
// TODO(port): removed from render_messages_internal.h; |
@@ -1246,6 +1243,31 @@ bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { |
return handled; |
} |
+void RenderThreadImpl::OnCreateNewFrame(int routing_id, int parent_routing_id) { |
+ // TODO(nasko): For now, this message is only sent for subframes, as the |
+ // top level frame is created when the RenderView is created through the |
+ // ViewMsg_New IPC. |
+ LOG(ERROR) << "RenderThread::OnCreateNewFrame: " << routing_id << ":" << parent_routing_id; |
+ CHECK(parent_routing_id != MSG_ROUTING_NONE); |
+ |
+ RenderFrameImpl::CreateFrame(routing_id, parent_routing_id); |
+} |
+ |
+void RenderThreadImpl::OnCreateNewFrameProxy(int routing_id, |
+ int parent_routing_id, |
+ int render_view_routing_id) { |
+ LOG(ERROR) << "RenderThread::OnCreateNewFrameProxy: " << routing_id << ":" << parent_routing_id; |
+ RenderFrameProxy::CreateFrameProxy( |
+ routing_id, parent_routing_id, render_view_routing_id); |
+} |
+ |
+void RenderThreadImpl::OnSetZoomLevelForCurrentURL(const std::string& scheme, |
+ const std::string& host, |
+ double zoom_level) { |
+ RenderViewZoomer zoomer(scheme, host, zoom_level); |
+ RenderView::ForEach(&zoomer); |
+} |
+ |
void RenderThreadImpl::OnCreateNewView(const ViewMsg_New_Params& params) { |
EnsureWebKitInitialized(); |
// When bringing in render_view, also bring in webkit's glue and jsbindings. |
@@ -1381,7 +1403,6 @@ void RenderThreadImpl::OnUpdateTimezone() { |
NotifyTimezoneChange(); |
} |
- |
#if defined(OS_ANDROID) |
void RenderThreadImpl::OnSetWebKitSharedTimersSuspended(bool suspend) { |
if (suspend_webkit_shared_timer_) { |