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

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

Issue 3055009: Use RenderWidget(Host) for full screen (Closed)
Patch Set: Add IPC::SyncMessage dependency. Fix auto complete. Created 10 years, 4 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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 WebKit::WebPopupType popup_type, 243 WebKit::WebPopupType popup_type,
244 int* route_id) { 244 int* route_id) {
245 *route_id = GetNextRoutingID(); 245 *route_id = GetNextRoutingID();
246 ChromeThread::PostTask( 246 ChromeThread::PostTask(
247 ChromeThread::UI, FROM_HERE, 247 ChromeThread::UI, FROM_HERE,
248 NewRunnableMethod( 248 NewRunnableMethod(
249 this, &RenderWidgetHelper::OnCreateWidgetOnUI, opener_id, *route_id, 249 this, &RenderWidgetHelper::OnCreateWidgetOnUI, opener_id, *route_id,
250 popup_type)); 250 popup_type));
251 } 251 }
252 252
253 void RenderWidgetHelper::CreateNewFullscreenWidget(
254 int opener_id, WebKit::WebPopupType popup_type, int* route_id) {
255 *route_id = GetNextRoutingID();
256 ChromeThread::PostTask(
257 ChromeThread::UI, FROM_HERE,
258 NewRunnableMethod(
259 this, &RenderWidgetHelper::OnCreateFullscreenWidgetOnUI,
260 opener_id, *route_id, popup_type));
261 }
262
253 void RenderWidgetHelper::OnCreateWidgetOnUI( 263 void RenderWidgetHelper::OnCreateWidgetOnUI(
254 int opener_id, int route_id, WebKit::WebPopupType popup_type) { 264 int opener_id, int route_id, WebKit::WebPopupType popup_type) {
255 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id); 265 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id);
256 if (host) 266 if (host)
257 host->CreateNewWidget(route_id, popup_type); 267 host->CreateNewWidget(route_id, popup_type);
258 } 268 }
259 269
270 void RenderWidgetHelper::OnCreateFullscreenWidgetOnUI(
271 int opener_id, int route_id, WebKit::WebPopupType popup_type) {
272 RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id);
273 if (host)
274 host->CreateNewFullscreenWidget(route_id, popup_type);
275 }
276
260 #if defined(OS_MACOSX) 277 #if defined(OS_MACOSX)
261 TransportDIB* RenderWidgetHelper::MapTransportDIB(TransportDIB::Id dib_id) { 278 TransportDIB* RenderWidgetHelper::MapTransportDIB(TransportDIB::Id dib_id) {
262 AutoLock locked(allocated_dibs_lock_); 279 AutoLock locked(allocated_dibs_lock_);
263 280
264 const std::map<TransportDIB::Id, int>::iterator 281 const std::map<TransportDIB::Id, int>::iterator
265 i = allocated_dibs_.find(dib_id); 282 i = allocated_dibs_.find(dib_id);
266 if (i == allocated_dibs_.end()) 283 if (i == allocated_dibs_.end())
267 return NULL; 284 return NULL;
268 285
269 base::FileDescriptor fd(dup(i->second), true); 286 base::FileDescriptor fd(dup(i->second), true);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 void RenderWidgetHelper::ClearAllocatedDIBs() { 324 void RenderWidgetHelper::ClearAllocatedDIBs() {
308 for (std::map<TransportDIB::Id, int>::iterator 325 for (std::map<TransportDIB::Id, int>::iterator
309 i = allocated_dibs_.begin(); i != allocated_dibs_.end(); ++i) { 326 i = allocated_dibs_.begin(); i != allocated_dibs_.end(); ++i) {
310 if (HANDLE_EINTR(close(i->second)) < 0) 327 if (HANDLE_EINTR(close(i->second)) < 0)
311 PLOG(ERROR) << "close: " << i->first; 328 PLOG(ERROR) << "close: " << i->first;
312 } 329 }
313 330
314 allocated_dibs_.clear(); 331 allocated_dibs_.clear();
315 } 332 }
316 #endif 333 #endif
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/render_widget_helper.h ('k') | chrome/browser/renderer_host/render_widget_host_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698