OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/threading/thread.h" | 8 #include "base/threading/thread.h" |
9 #include "chrome/browser/browser_thread.h" | 9 #include "chrome/browser/browser_thread.h" |
10 #include "chrome/browser/renderer_host/render_process_host.h" | 10 #include "chrome/browser/renderer_host/render_process_host.h" |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 WebKit::WebPopupType popup_type, | 246 WebKit::WebPopupType popup_type, |
247 int* route_id) { | 247 int* route_id) { |
248 *route_id = GetNextRoutingID(); | 248 *route_id = GetNextRoutingID(); |
249 BrowserThread::PostTask( | 249 BrowserThread::PostTask( |
250 BrowserThread::UI, FROM_HERE, | 250 BrowserThread::UI, FROM_HERE, |
251 NewRunnableMethod( | 251 NewRunnableMethod( |
252 this, &RenderWidgetHelper::OnCreateWidgetOnUI, opener_id, *route_id, | 252 this, &RenderWidgetHelper::OnCreateWidgetOnUI, opener_id, *route_id, |
253 popup_type)); | 253 popup_type)); |
254 } | 254 } |
255 | 255 |
256 void RenderWidgetHelper::CreateNewFullscreenWidget( | 256 void RenderWidgetHelper::CreateNewFullscreenWidget(int opener_id, |
257 int opener_id, WebKit::WebPopupType popup_type, int* route_id) { | 257 int* route_id) { |
258 *route_id = GetNextRoutingID(); | 258 *route_id = GetNextRoutingID(); |
259 BrowserThread::PostTask( | 259 BrowserThread::PostTask( |
260 BrowserThread::UI, FROM_HERE, | 260 BrowserThread::UI, FROM_HERE, |
261 NewRunnableMethod( | 261 NewRunnableMethod( |
262 this, &RenderWidgetHelper::OnCreateFullscreenWidgetOnUI, | 262 this, &RenderWidgetHelper::OnCreateFullscreenWidgetOnUI, |
263 opener_id, *route_id, popup_type)); | 263 opener_id, *route_id)); |
264 } | 264 } |
265 | 265 |
266 void RenderWidgetHelper::OnCreateWidgetOnUI( | 266 void RenderWidgetHelper::OnCreateWidgetOnUI( |
267 int opener_id, int route_id, WebKit::WebPopupType popup_type) { | 267 int opener_id, int route_id, WebKit::WebPopupType popup_type) { |
268 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id); | 268 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id); |
269 if (host) | 269 if (host) |
270 host->CreateNewWidget(route_id, popup_type); | 270 host->CreateNewWidget(route_id, popup_type); |
271 } | 271 } |
272 | 272 |
273 void RenderWidgetHelper::OnCreateFullscreenWidgetOnUI( | 273 void RenderWidgetHelper::OnCreateFullscreenWidgetOnUI(int opener_id, |
274 int opener_id, int route_id, WebKit::WebPopupType popup_type) { | 274 int route_id) { |
275 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id); | 275 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id); |
276 if (host) | 276 if (host) |
277 host->CreateNewFullscreenWidget(route_id, popup_type); | 277 host->CreateNewFullscreenWidget(route_id); |
278 } | 278 } |
279 | 279 |
280 #if defined(OS_MACOSX) | 280 #if defined(OS_MACOSX) |
281 TransportDIB* RenderWidgetHelper::MapTransportDIB(TransportDIB::Id dib_id) { | 281 TransportDIB* RenderWidgetHelper::MapTransportDIB(TransportDIB::Id dib_id) { |
282 base::AutoLock locked(allocated_dibs_lock_); | 282 base::AutoLock locked(allocated_dibs_lock_); |
283 | 283 |
284 const std::map<TransportDIB::Id, int>::iterator | 284 const std::map<TransportDIB::Id, int>::iterator |
285 i = allocated_dibs_.find(dib_id); | 285 i = allocated_dibs_.find(dib_id); |
286 if (i == allocated_dibs_.end()) | 286 if (i == allocated_dibs_.end()) |
287 return NULL; | 287 return NULL; |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 void RenderWidgetHelper::ClearAllocatedDIBs() { | 326 void RenderWidgetHelper::ClearAllocatedDIBs() { |
327 for (std::map<TransportDIB::Id, int>::iterator | 327 for (std::map<TransportDIB::Id, int>::iterator |
328 i = allocated_dibs_.begin(); i != allocated_dibs_.end(); ++i) { | 328 i = allocated_dibs_.begin(); i != allocated_dibs_.end(); ++i) { |
329 if (HANDLE_EINTR(close(i->second)) < 0) | 329 if (HANDLE_EINTR(close(i->second)) < 0) |
330 PLOG(ERROR) << "close: " << i->first; | 330 PLOG(ERROR) << "close: " << i->first; |
331 } | 331 } |
332 | 332 |
333 allocated_dibs_.clear(); | 333 allocated_dibs_.clear(); |
334 } | 334 } |
335 #endif | 335 #endif |
OLD | NEW |