Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: chrome/browser/renderer_host/render_widget_helper.cc

Issue 2775003: Added plumbing to transport the frame name between RenderViewHost and the Webkit layer. (Closed)
Patch Set: Final version for the record Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/render_widget_helper.h ('k') | chrome/browser/renderer_host/resource_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698