OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/render_message_filter.h" | 5 #include "content/browser/renderer_host/render_message_filter.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <string.h> | 8 #include <string.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 BrowserThread::ID* thread) { | 192 BrowserThread::ID* thread) { |
193 if (message.type() == ViewHostMsg_MediaLogEvents::ID) | 193 if (message.type() == ViewHostMsg_MediaLogEvents::ID) |
194 *thread = BrowserThread::UI; | 194 *thread = BrowserThread::UI; |
195 } | 195 } |
196 | 196 |
197 void RenderMessageFilter::GenerateRoutingID( | 197 void RenderMessageFilter::GenerateRoutingID( |
198 const GenerateRoutingIDCallback& callback) { | 198 const GenerateRoutingIDCallback& callback) { |
199 callback.Run(render_widget_helper_->GetNextRoutingID()); | 199 callback.Run(render_widget_helper_->GetNextRoutingID()); |
200 } | 200 } |
201 | 201 |
202 void RenderMessageFilter::CreateNewWindow( | |
203 mojom::CreateNewWindowParamsPtr params, | |
204 const CreateNewWindowCallback& callback) { | |
205 bool no_javascript_access; | |
206 bool can_create_window = GetContentClient()->browser()->CanCreateWindow( | |
207 render_process_id_, params->opener_render_frame_id, params->opener_url, | |
208 params->opener_top_level_frame_url, params->opener_security_origin, | |
209 params->window_container_type, params->target_url, params->referrer, | |
210 params->frame_name, params->disposition, *params->features, | |
211 params->user_gesture, params->opener_suppressed, resource_context_, | |
212 &no_javascript_access); | |
213 | |
214 mojom::CreateNewWindowReplyPtr reply = mojom::CreateNewWindowReply::New(); | |
215 if (!can_create_window) { | |
216 reply->route_id = MSG_ROUTING_NONE; | |
217 reply->main_frame_route_id = MSG_ROUTING_NONE; | |
218 reply->main_frame_widget_route_id = MSG_ROUTING_NONE; | |
219 reply->cloned_session_storage_namespace_id = 0; | |
220 return callback.Run(std::move(reply)); | |
221 } | |
222 | |
223 // This will clone the sessionStorage for namespace_id_to_clone. | |
224 scoped_refptr<SessionStorageNamespaceImpl> cloned_namespace = | |
225 new SessionStorageNamespaceImpl(dom_storage_context_.get(), | |
226 params->session_storage_namespace_id); | |
227 reply->cloned_session_storage_namespace_id = cloned_namespace->id(); | |
228 | |
229 render_widget_helper_->CreateNewWindow( | |
230 std::move(params), no_javascript_access, &reply->route_id, | |
231 &reply->main_frame_route_id, &reply->main_frame_widget_route_id, | |
232 cloned_namespace.get()); | |
233 callback.Run(std::move(reply)); | |
234 } | |
235 | |
236 void RenderMessageFilter::CreateNewWidget( | 202 void RenderMessageFilter::CreateNewWidget( |
237 int32_t opener_id, | 203 int32_t opener_id, |
238 blink::WebPopupType popup_type, | 204 blink::WebPopupType popup_type, |
239 const CreateNewWidgetCallback& callback) { | 205 const CreateNewWidgetCallback& callback) { |
240 int route_id = MSG_ROUTING_NONE; | 206 int route_id = MSG_ROUTING_NONE; |
241 render_widget_helper_->CreateNewWidget(opener_id, popup_type, &route_id); | 207 render_widget_helper_->CreateNewWidget(opener_id, popup_type, &route_id); |
242 callback.Run(route_id); | 208 callback.Run(route_id); |
243 } | 209 } |
244 | 210 |
245 void RenderMessageFilter::CreateFullscreenWidget( | 211 void RenderMessageFilter::CreateFullscreenWidget( |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 } | 353 } |
388 | 354 |
389 void RenderMessageFilter::GetHasGpuProcessCallback( | 355 void RenderMessageFilter::GetHasGpuProcessCallback( |
390 std::unique_ptr<IPC::Message> reply, | 356 std::unique_ptr<IPC::Message> reply, |
391 bool has_gpu) { | 357 bool has_gpu) { |
392 ChildProcessHostMsg_HasGpuProcess::WriteReplyParams(reply.get(), has_gpu); | 358 ChildProcessHostMsg_HasGpuProcess::WriteReplyParams(reply.get(), has_gpu); |
393 Send(reply.release()); | 359 Send(reply.release()); |
394 } | 360 } |
395 | 361 |
396 } // namespace content | 362 } // namespace content |
OLD | NEW |