| 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 |