| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "chrome/browser/renderer_host/render_widget_helper.h" | 5 #include "chrome/browser/renderer_host/render_widget_helper.h" |
| 6 | 6 |
| 7 #include "base/eintr_wrapper.h" | 7 #include "base/eintr_wrapper.h" |
| 8 #include "base/thread.h" | 8 #include "base/thread.h" |
| 9 #include "chrome/browser/chrome_thread.h" | 9 #include "chrome/browser/chrome_thread.h" |
| 10 #include "chrome/browser/renderer_host/render_process_host.h" | 10 #include "chrome/browser/renderer_host/render_process_host.h" |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 | 196 |
| 197 void RenderWidgetHelper::OnCrossSiteClosePageACK( | 197 void RenderWidgetHelper::OnCrossSiteClosePageACK( |
| 198 ViewMsg_ClosePage_Params params) { | 198 ViewMsg_ClosePage_Params params) { |
| 199 resource_dispatcher_host_->OnClosePageACK(params); | 199 resource_dispatcher_host_->OnClosePageACK(params); |
| 200 } | 200 } |
| 201 | 201 |
| 202 void RenderWidgetHelper::CreateNewWindow( | 202 void RenderWidgetHelper::CreateNewWindow( |
| 203 int opener_id, | 203 int opener_id, |
| 204 bool user_gesture, | 204 bool user_gesture, |
| 205 WindowContainerType window_container_type, | 205 WindowContainerType window_container_type, |
| 206 const string16& frame_name, |
| 206 base::ProcessHandle render_process, | 207 base::ProcessHandle render_process, |
| 207 int* route_id) { | 208 int* route_id) { |
| 208 *route_id = GetNextRoutingID(); | 209 *route_id = GetNextRoutingID(); |
| 209 // Block resource requests until the view is created, since the HWND might be | 210 // Block resource requests until the view is created, since the HWND might be |
| 210 // needed if a response ends up creating a plugin. | 211 // needed if a response ends up creating a plugin. |
| 211 resource_dispatcher_host_->BlockRequestsForRoute( | 212 resource_dispatcher_host_->BlockRequestsForRoute( |
| 212 render_process_id_, *route_id); | 213 render_process_id_, *route_id); |
| 213 | 214 |
| 214 ChromeThread::PostTask( | 215 ChromeThread::PostTask( |
| 215 ChromeThread::UI, FROM_HERE, | 216 ChromeThread::UI, FROM_HERE, |
| 216 NewRunnableMethod( | 217 NewRunnableMethod( |
| 217 this, &RenderWidgetHelper::OnCreateWindowOnUI, opener_id, *route_id, | 218 this, &RenderWidgetHelper::OnCreateWindowOnUI, opener_id, *route_id, |
| 218 window_container_type)); | 219 window_container_type, frame_name)); |
| 219 } | 220 } |
| 220 | 221 |
| 221 void RenderWidgetHelper::OnCreateWindowOnUI( | 222 void RenderWidgetHelper::OnCreateWindowOnUI( |
| 222 int opener_id, | 223 int opener_id, |
| 223 int route_id, | 224 int route_id, |
| 224 WindowContainerType window_container_type) { | 225 WindowContainerType window_container_type, |
| 226 string16 frame_name) { |
| 225 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id); | 227 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id); |
| 226 if (host) | 228 if (host) |
| 227 host->CreateNewWindow(route_id, window_container_type); | 229 host->CreateNewWindow(route_id, window_container_type, frame_name); |
| 228 | 230 |
| 229 ChromeThread::PostTask( | 231 ChromeThread::PostTask( |
| 230 ChromeThread::IO, FROM_HERE, | 232 ChromeThread::IO, FROM_HERE, |
| 231 NewRunnableMethod(this, &RenderWidgetHelper::OnCreateWindowOnIO, | 233 NewRunnableMethod(this, &RenderWidgetHelper::OnCreateWindowOnIO, |
| 232 route_id)); | 234 route_id)); |
| 233 } | 235 } |
| 234 | 236 |
| 235 void RenderWidgetHelper::OnCreateWindowOnIO(int route_id) { | 237 void RenderWidgetHelper::OnCreateWindowOnIO(int route_id) { |
| 236 resource_dispatcher_host_->ResumeBlockedRequestsForRoute( | 238 resource_dispatcher_host_->ResumeBlockedRequestsForRoute( |
| 237 render_process_id_, route_id); | 239 render_process_id_, route_id); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 | 305 |
| 304 void RenderWidgetHelper::ClearAllocatedDIBs() { | 306 void RenderWidgetHelper::ClearAllocatedDIBs() { |
| 305 for (std::map<TransportDIB::Id, int>::iterator | 307 for (std::map<TransportDIB::Id, int>::iterator |
| 306 i = allocated_dibs_.begin(); i != allocated_dibs_.end(); ++i) { | 308 i = allocated_dibs_.begin(); i != allocated_dibs_.end(); ++i) { |
| 307 HANDLE_EINTR(close(i->second)); | 309 HANDLE_EINTR(close(i->second)); |
| 308 } | 310 } |
| 309 | 311 |
| 310 allocated_dibs_.clear(); | 312 allocated_dibs_.clear(); |
| 311 } | 313 } |
| 312 #endif | 314 #endif |
| OLD | NEW |