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_widget_host_view_gtk.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_gtk.h" |
6 | 6 |
7 // If this gets included after the gtk headers, then a bunch of compiler | 7 // If this gets included after the gtk headers, then a bunch of compiler |
8 // errors happen because of a "#define Status int" in Xlib.h, which interacts | 8 // errors happen because of a "#define Status int" in Xlib.h, which interacts |
9 // badly with net::URLRequestStatus::Status. | 9 // badly with net::URLRequestStatus::Status. |
10 #include "content/common/view_messages.h" | 10 #include "content/common/view_messages.h" |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 // We return TRUE because we did handle the event. If it turns out webkit | 221 // We return TRUE because we did handle the event. If it turns out webkit |
222 // can't handle the event, we'll deal with it in | 222 // can't handle the event, we'll deal with it in |
223 // RenderView::UnhandledKeyboardEvent(). | 223 // RenderView::UnhandledKeyboardEvent(). |
224 return TRUE; | 224 return TRUE; |
225 } | 225 } |
226 | 226 |
227 static gboolean OnFocusIn(GtkWidget* widget, | 227 static gboolean OnFocusIn(GtkWidget* widget, |
228 GdkEventFocus* focus, | 228 GdkEventFocus* focus, |
229 RenderWidgetHostViewGtk* host_view) { | 229 RenderWidgetHostViewGtk* host_view) { |
230 host_view->ShowCurrentCursor(); | 230 host_view->ShowCurrentCursor(); |
231 RenderWidgetHostImpl::FromRWHV(host_view)->GotFocus(); | 231 RenderWidgetHostImpl* host = |
232 RenderWidgetHostImpl::FromRWHV(host_view)->SetActive(true); | 232 RenderWidgetHostImpl::From(host_view->GetRenderWidgetHost()); |
| 233 host->GotFocus(); |
| 234 host->SetActive(true); |
233 | 235 |
234 // The only way to enable a GtkIMContext object is to call its focus in | 236 // The only way to enable a GtkIMContext object is to call its focus in |
235 // handler. | 237 // handler. |
236 host_view->im_context_->OnFocusIn(); | 238 host_view->im_context_->OnFocusIn(); |
237 | 239 |
238 return TRUE; | 240 return TRUE; |
239 } | 241 } |
240 | 242 |
241 static gboolean OnFocusOut(GtkWidget* widget, | 243 static gboolean OnFocusOut(GtkWidget* widget, |
242 GdkEventFocus* focus, | 244 GdkEventFocus* focus, |
243 RenderWidgetHostViewGtk* host_view) { | 245 RenderWidgetHostViewGtk* host_view) { |
244 // Whenever we lose focus, set the cursor back to that of our parent window, | 246 // Whenever we lose focus, set the cursor back to that of our parent window, |
245 // which should be the default arrow. | 247 // which should be the default arrow. |
246 gdk_window_set_cursor(gtk_widget_get_window(widget), NULL); | 248 gdk_window_set_cursor(gtk_widget_get_window(widget), NULL); |
247 // If we are showing a context menu, maintain the illusion that webkit has | 249 // If we are showing a context menu, maintain the illusion that webkit has |
248 // focus. | 250 // focus. |
249 if (!host_view->IsShowingContextMenu()) { | 251 if (!host_view->IsShowingContextMenu()) { |
250 RenderWidgetHostImpl::FromRWHV(host_view)->SetActive(false); | 252 RenderWidgetHostImpl* host = |
251 RenderWidgetHostImpl::FromRWHV(host_view)->Blur(); | 253 RenderWidgetHostImpl::From(host_view->GetRenderWidgetHost()); |
| 254 host->SetActive(false); |
| 255 host->Blur(); |
252 } | 256 } |
253 | 257 |
254 // Prevents us from stealing input context focus in OnGrabNotify() handler. | 258 // Prevents us from stealing input context focus in OnGrabNotify() handler. |
255 host_view->was_imcontext_focused_before_grab_ = false; | 259 host_view->was_imcontext_focused_before_grab_ = false; |
256 | 260 |
257 // Disable the GtkIMContext object. | 261 // Disable the GtkIMContext object. |
258 host_view->im_context_->OnFocusOut(); | 262 host_view->im_context_->OnFocusOut(); |
259 | 263 |
260 return TRUE; | 264 return TRUE; |
261 } | 265 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 event->button == 8 ? GDK_SCROLL_LEFT : GDK_SCROLL_RIGHT; | 308 event->button == 8 ? GDK_SCROLL_LEFT : GDK_SCROLL_RIGHT; |
305 } else { | 309 } else { |
306 scroll_event.direction = | 310 scroll_event.direction = |
307 event->button == 8 ? GDK_SCROLL_UP : GDK_SCROLL_DOWN; | 311 event->button == 8 ? GDK_SCROLL_UP : GDK_SCROLL_DOWN; |
308 } | 312 } |
309 scroll_event.device = event->device; | 313 scroll_event.device = event->device; |
310 scroll_event.x_root = event->x_root; | 314 scroll_event.x_root = event->x_root; |
311 scroll_event.y_root = event->y_root; | 315 scroll_event.y_root = event->y_root; |
312 WebMouseWheelEvent web_event = | 316 WebMouseWheelEvent web_event = |
313 WebInputEventFactory::mouseWheelEvent(&scroll_event); | 317 WebInputEventFactory::mouseWheelEvent(&scroll_event); |
314 RenderWidgetHostImpl::FromRWHV( | 318 RenderWidgetHostImpl::From( |
315 host_view)->ForwardWheelEvent(web_event); | 319 host_view->GetRenderWidgetHost())->ForwardWheelEvent(web_event); |
316 } | 320 } |
317 #endif | 321 #endif |
318 | 322 |
319 if (event->type != GDK_BUTTON_RELEASE) | 323 if (event->type != GDK_BUTTON_RELEASE) |
320 host_view->set_last_mouse_down(event); | 324 host_view->set_last_mouse_down(event); |
321 | 325 |
322 if (!(event->button == 1 || event->button == 2 || event->button == 3)) | 326 if (!(event->button == 1 || event->button == 2 || event->button == 3)) |
323 return FALSE; // We do not forward any other buttons to the renderer. | 327 return FALSE; // We do not forward any other buttons to the renderer. |
324 if (event->type == GDK_2BUTTON_PRESS || event->type == GDK_3BUTTON_PRESS) | 328 if (event->type == GDK_2BUTTON_PRESS || event->type == GDK_3BUTTON_PRESS) |
325 return FALSE; | 329 return FALSE; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
360 event->y = y; | 364 event->y = y; |
361 } | 365 } |
362 | 366 |
363 // TODO(evanm): why is this necessary here but not in test shell? | 367 // TODO(evanm): why is this necessary here but not in test shell? |
364 // This logic is the same as GtkButton. | 368 // This logic is the same as GtkButton. |
365 if (event->type == GDK_BUTTON_PRESS && !gtk_widget_has_focus(widget)) | 369 if (event->type == GDK_BUTTON_PRESS && !gtk_widget_has_focus(widget)) |
366 gtk_widget_grab_focus(widget); | 370 gtk_widget_grab_focus(widget); |
367 | 371 |
368 host_view->is_popup_first_mouse_release_ = false; | 372 host_view->is_popup_first_mouse_release_ = false; |
369 RenderWidgetHostImpl* widget_host = | 373 RenderWidgetHostImpl* widget_host = |
370 RenderWidgetHostImpl::FromRWHV(host_view); | 374 RenderWidgetHostImpl::From(host_view->GetRenderWidgetHost()); |
371 if (widget_host) | 375 if (widget_host) |
372 widget_host->ForwardMouseEvent(WebInputEventFactory::mouseEvent(event)); | 376 widget_host->ForwardMouseEvent(WebInputEventFactory::mouseEvent(event)); |
373 | 377 |
374 // Although we did handle the mouse event, we need to let other handlers | 378 // Although we did handle the mouse event, we need to let other handlers |
375 // run (in particular the one installed by TabContentsViewGtk). | 379 // run (in particular the one installed by TabContentsViewGtk). |
376 return FALSE; | 380 return FALSE; |
377 } | 381 } |
378 | 382 |
379 static gboolean OnMouseMoveEvent(GtkWidget* widget, | 383 static gboolean OnMouseMoveEvent(GtkWidget* widget, |
380 GdkEventMotion* event, | 384 GdkEventMotion* event, |
(...skipping 23 matching lines...) Expand all Loading... |
404 host_view->mouse_has_been_warped_to_new_center_ = true; | 408 host_view->mouse_has_been_warped_to_new_center_ = true; |
405 | 409 |
406 host_view->ModifyEventMovementAndCoords(&mouse_event); | 410 host_view->ModifyEventMovementAndCoords(&mouse_event); |
407 | 411 |
408 if (!moved_to_center && | 412 if (!moved_to_center && |
409 (mouse_event.movementX || mouse_event.movementY)) { | 413 (mouse_event.movementX || mouse_event.movementY)) { |
410 GdkDisplay* display = gtk_widget_get_display(widget); | 414 GdkDisplay* display = gtk_widget_get_display(widget); |
411 GdkScreen* screen = gtk_widget_get_screen(widget); | 415 GdkScreen* screen = gtk_widget_get_screen(widget); |
412 gdk_display_warp_pointer(display, screen, center.x(), center.y()); | 416 gdk_display_warp_pointer(display, screen, center.x(), center.y()); |
413 if (host_view->mouse_has_been_warped_to_new_center_) | 417 if (host_view->mouse_has_been_warped_to_new_center_) |
414 RenderWidgetHostImpl::FromRWHV( | 418 RenderWidgetHostImpl::From( |
415 host_view)->ForwardMouseEvent(mouse_event); | 419 host_view->GetRenderWidgetHost())->ForwardMouseEvent(mouse_event); |
416 } | 420 } |
417 } else { // Mouse is not locked. | 421 } else { // Mouse is not locked. |
418 host_view->ModifyEventMovementAndCoords(&mouse_event); | 422 host_view->ModifyEventMovementAndCoords(&mouse_event); |
419 RenderWidgetHostImpl::FromRWHV( | 423 RenderWidgetHostImpl::From( |
420 host_view)->ForwardMouseEvent(mouse_event); | 424 host_view->GetRenderWidgetHost())->ForwardMouseEvent(mouse_event); |
421 } | 425 } |
422 return FALSE; | 426 return FALSE; |
423 } | 427 } |
424 | 428 |
425 static gboolean OnCrossingEvent(GtkWidget* widget, | 429 static gboolean OnCrossingEvent(GtkWidget* widget, |
426 GdkEventCrossing* event, | 430 GdkEventCrossing* event, |
427 RenderWidgetHostViewGtk* host_view) { | 431 RenderWidgetHostViewGtk* host_view) { |
428 const int any_button_mask = | 432 const int any_button_mask = |
429 GDK_BUTTON1_MASK | | 433 GDK_BUTTON1_MASK | |
430 GDK_BUTTON2_MASK | | 434 GDK_BUTTON2_MASK | |
431 GDK_BUTTON3_MASK | | 435 GDK_BUTTON3_MASK | |
432 GDK_BUTTON4_MASK | | 436 GDK_BUTTON4_MASK | |
433 GDK_BUTTON5_MASK; | 437 GDK_BUTTON5_MASK; |
434 | 438 |
435 // Only forward crossing events if the mouse button is not down. | 439 // Only forward crossing events if the mouse button is not down. |
436 // (When the mouse button is down, the proper events are already being | 440 // (When the mouse button is down, the proper events are already being |
437 // sent by ButtonPressReleaseEvent and MouseMoveEvent, above, and if we | 441 // sent by ButtonPressReleaseEvent and MouseMoveEvent, above, and if we |
438 // additionally send this crossing event with the state indicating the | 442 // additionally send this crossing event with the state indicating the |
439 // button is down, it causes problems with drag and drop in WebKit.) | 443 // button is down, it causes problems with drag and drop in WebKit.) |
440 if (!(event->state & any_button_mask)) { | 444 if (!(event->state & any_button_mask)) { |
441 WebKit::WebMouseEvent mouse_event = | 445 WebKit::WebMouseEvent mouse_event = |
442 WebInputEventFactory::mouseEvent(event); | 446 WebInputEventFactory::mouseEvent(event); |
443 host_view->ModifyEventMovementAndCoords(&mouse_event); | 447 host_view->ModifyEventMovementAndCoords(&mouse_event); |
444 // When crossing out and back into a render view the movement values | 448 // When crossing out and back into a render view the movement values |
445 // must represent the instantaneous movement of the mouse, not the jump | 449 // must represent the instantaneous movement of the mouse, not the jump |
446 // from the exit to re-entry point. | 450 // from the exit to re-entry point. |
447 mouse_event.movementX = 0; | 451 mouse_event.movementX = 0; |
448 mouse_event.movementY = 0; | 452 mouse_event.movementY = 0; |
449 RenderWidgetHostImpl::FromRWHV( | 453 RenderWidgetHostImpl::From( |
450 host_view)->ForwardMouseEvent(mouse_event); | 454 host_view->GetRenderWidgetHost())->ForwardMouseEvent(mouse_event); |
451 } | 455 } |
452 | 456 |
453 return FALSE; | 457 return FALSE; |
454 } | 458 } |
455 | 459 |
456 static gboolean OnClientEvent(GtkWidget* widget, | 460 static gboolean OnClientEvent(GtkWidget* widget, |
457 GdkEventClient* event, | 461 GdkEventClient* event, |
458 RenderWidgetHostViewGtk* host_view) { | 462 RenderWidgetHostViewGtk* host_view) { |
459 VLOG(1) << "client event type: " << event->message_type | 463 VLOG(1) << "client event type: " << event->message_type |
460 << " data_format: " << event->data_format | 464 << " data_format: " << event->data_format |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
554 else | 558 else |
555 web_event.deltaY = -GetScrollPixelsPerTick(); | 559 web_event.deltaY = -GetScrollPixelsPerTick(); |
556 web_event.deltaY += GetPendingScrollDelta(true, event->state); | 560 web_event.deltaY += GetPendingScrollDelta(true, event->state); |
557 } else { | 561 } else { |
558 if (event->direction == GDK_SCROLL_LEFT) | 562 if (event->direction == GDK_SCROLL_LEFT) |
559 web_event.deltaX = GetScrollPixelsPerTick(); | 563 web_event.deltaX = GetScrollPixelsPerTick(); |
560 else | 564 else |
561 web_event.deltaX = -GetScrollPixelsPerTick(); | 565 web_event.deltaX = -GetScrollPixelsPerTick(); |
562 web_event.deltaX += GetPendingScrollDelta(false, event->state); | 566 web_event.deltaX += GetPendingScrollDelta(false, event->state); |
563 } | 567 } |
564 RenderWidgetHostImpl::FromRWHV(host_view)->ForwardWheelEvent(web_event); | 568 RenderWidgetHostImpl::From( |
| 569 host_view->GetRenderWidgetHost())->ForwardWheelEvent(web_event); |
565 return FALSE; | 570 return FALSE; |
566 } | 571 } |
567 | 572 |
568 DISALLOW_IMPLICIT_CONSTRUCTORS(RenderWidgetHostViewGtkWidget); | 573 DISALLOW_IMPLICIT_CONSTRUCTORS(RenderWidgetHostViewGtkWidget); |
569 }; | 574 }; |
570 | 575 |
571 RenderWidgetHostViewGtk::RenderWidgetHostViewGtk(RenderWidgetHost* widget_host) | 576 RenderWidgetHostViewGtk::RenderWidgetHostViewGtk(RenderWidgetHost* widget_host) |
572 : about_to_validate_and_paint_(false), | 577 : host_(RenderWidgetHostImpl::From(widget_host)), |
| 578 about_to_validate_and_paint_(false), |
573 is_hidden_(false), | 579 is_hidden_(false), |
574 is_loading_(false), | 580 is_loading_(false), |
575 parent_(NULL), | 581 parent_(NULL), |
576 is_popup_first_mouse_release_(true), | 582 is_popup_first_mouse_release_(true), |
577 was_imcontext_focused_before_grab_(false), | 583 was_imcontext_focused_before_grab_(false), |
578 do_x_grab_(false), | 584 do_x_grab_(false), |
579 is_fullscreen_(false), | 585 is_fullscreen_(false), |
580 destroy_handler_id_(0), | 586 destroy_handler_id_(0), |
581 dragged_at_horizontal_edge_(0), | 587 dragged_at_horizontal_edge_(0), |
582 dragged_at_vertical_edge_(0), | 588 dragged_at_vertical_edge_(0), |
583 compositing_surface_(gfx::kNullPluginWindow), | 589 compositing_surface_(gfx::kNullPluginWindow), |
584 last_mouse_down_(NULL) { | 590 last_mouse_down_(NULL) { |
585 host_ = static_cast<RenderWidgetHostImpl*>(widget_host); | |
586 host_->SetView(this); | 591 host_->SetView(this); |
587 } | 592 } |
588 | 593 |
589 RenderWidgetHostViewGtk::~RenderWidgetHostViewGtk() { | 594 RenderWidgetHostViewGtk::~RenderWidgetHostViewGtk() { |
590 UnlockMouse(); | 595 UnlockMouse(); |
591 set_last_mouse_down(NULL); | 596 set_last_mouse_down(NULL); |
592 view_.Destroy(); | 597 view_.Destroy(); |
593 } | 598 } |
594 | 599 |
595 void RenderWidgetHostViewGtk::InitAsChild( | 600 void RenderWidgetHostViewGtk::InitAsChild( |
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1028 int gpu_host_id) { | 1033 int gpu_host_id) { |
1029 RenderWidgetHostImpl::AcknowledgePostSubBuffer(params.route_id, gpu_host_id); | 1034 RenderWidgetHostImpl::AcknowledgePostSubBuffer(params.route_id, gpu_host_id); |
1030 } | 1035 } |
1031 | 1036 |
1032 void RenderWidgetHostViewGtk::AcceleratedSurfaceSuspend() { | 1037 void RenderWidgetHostViewGtk::AcceleratedSurfaceSuspend() { |
1033 } | 1038 } |
1034 | 1039 |
1035 | 1040 |
1036 void RenderWidgetHostViewGtk::SetBackground(const SkBitmap& background) { | 1041 void RenderWidgetHostViewGtk::SetBackground(const SkBitmap& background) { |
1037 content::RenderWidgetHostViewBase::SetBackground(background); | 1042 content::RenderWidgetHostViewBase::SetBackground(background); |
1038 host_->Send(new ViewMsg_SetBackground(host_->routing_id(), background)); | 1043 host_->Send(new ViewMsg_SetBackground(host_->GetRoutingID(), background)); |
1039 } | 1044 } |
1040 | 1045 |
1041 void RenderWidgetHostViewGtk::ModifyEventForEdgeDragging( | 1046 void RenderWidgetHostViewGtk::ModifyEventForEdgeDragging( |
1042 GtkWidget* widget, GdkEventMotion* event) { | 1047 GtkWidget* widget, GdkEventMotion* event) { |
1043 // If the widget is aligned with an edge of the monitor its on and the user | 1048 // If the widget is aligned with an edge of the monitor its on and the user |
1044 // attempts to drag past that edge we track the number of times it has | 1049 // attempts to drag past that edge we track the number of times it has |
1045 // occurred, so that we can force the widget to scroll when it otherwise | 1050 // occurred, so that we can force the widget to scroll when it otherwise |
1046 // would be unable to, by modifying the (x,y) position in the drag | 1051 // would be unable to, by modifying the (x,y) position in the drag |
1047 // event that we forward on to webkit. If we get a move that's no longer a | 1052 // event that we forward on to webkit. If we get a move that's no longer a |
1048 // drag or a drag indicating the user is no longer at that edge we stop | 1053 // drag or a drag indicating the user is no longer at that edge we stop |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1090 dragged_at_horizontal_edge_ = new_dragged_at_horizontal_edge; | 1095 dragged_at_horizontal_edge_ = new_dragged_at_horizontal_edge; |
1091 dragged_at_vertical_edge_ = new_dragged_at_vertical_edge; | 1096 dragged_at_vertical_edge_ = new_dragged_at_vertical_edge; |
1092 } | 1097 } |
1093 | 1098 |
1094 void RenderWidgetHostViewGtk::Paint(const gfx::Rect& damage_rect) { | 1099 void RenderWidgetHostViewGtk::Paint(const gfx::Rect& damage_rect) { |
1095 TRACE_EVENT0("ui::gtk", "RenderWidgetHostViewGtk::Paint"); | 1100 TRACE_EVENT0("ui::gtk", "RenderWidgetHostViewGtk::Paint"); |
1096 | 1101 |
1097 // If the GPU process is rendering directly into the View, | 1102 // If the GPU process is rendering directly into the View, |
1098 // call the compositor directly. | 1103 // call the compositor directly. |
1099 RenderWidgetHostImpl* render_widget_host = | 1104 RenderWidgetHostImpl* render_widget_host = |
1100 static_cast<RenderWidgetHostImpl*>(GetRenderWidgetHost()); | 1105 RenderWidgetHostImpl::From(GetRenderWidgetHost()); |
1101 if (render_widget_host->is_accelerated_compositing_active()) { | 1106 if (render_widget_host->is_accelerated_compositing_active()) { |
1102 host_->ScheduleComposite(); | 1107 host_->ScheduleComposite(); |
1103 return; | 1108 return; |
1104 } | 1109 } |
1105 | 1110 |
1106 GdkWindow* window = gtk_widget_get_window(view_.get()); | 1111 GdkWindow* window = gtk_widget_get_window(view_.get()); |
1107 DCHECK(!about_to_validate_and_paint_); | 1112 DCHECK(!about_to_validate_and_paint_); |
1108 | 1113 |
1109 invalid_rect_ = damage_rect; | 1114 invalid_rect_ = damage_rect; |
1110 about_to_validate_and_paint_ = true; | 1115 about_to_validate_and_paint_ = true; |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1309 void RenderWidgetHostViewGtk::ForwardKeyboardEvent( | 1314 void RenderWidgetHostViewGtk::ForwardKeyboardEvent( |
1310 const NativeWebKeyboardEvent& event) { | 1315 const NativeWebKeyboardEvent& event) { |
1311 if (!host_) | 1316 if (!host_) |
1312 return; | 1317 return; |
1313 | 1318 |
1314 #if !defined(OS_CHROMEOS) | 1319 #if !defined(OS_CHROMEOS) |
1315 EditCommands edit_commands; | 1320 EditCommands edit_commands; |
1316 if (!event.skip_in_browser && | 1321 if (!event.skip_in_browser && |
1317 key_bindings_handler_->Match(event, &edit_commands)) { | 1322 key_bindings_handler_->Match(event, &edit_commands)) { |
1318 host_->Send(new ViewMsg_SetEditCommandsForNextKeyEvent( | 1323 host_->Send(new ViewMsg_SetEditCommandsForNextKeyEvent( |
1319 host_->routing_id(), edit_commands)); | 1324 host_->GetRoutingID(), edit_commands)); |
1320 NativeWebKeyboardEvent copy_event(event); | 1325 NativeWebKeyboardEvent copy_event(event); |
1321 copy_event.match_edit_command = true; | 1326 copy_event.match_edit_command = true; |
1322 host_->ForwardKeyboardEvent(copy_event); | 1327 host_->ForwardKeyboardEvent(copy_event); |
1323 return; | 1328 return; |
1324 } | 1329 } |
1325 #endif | 1330 #endif |
1326 | 1331 |
1327 host_->ForwardKeyboardEvent(event); | 1332 host_->ForwardKeyboardEvent(event); |
1328 } | 1333 } |
1329 | 1334 |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1417 return new RenderWidgetHostViewGtk(widget); | 1422 return new RenderWidgetHostViewGtk(widget); |
1418 } | 1423 } |
1419 | 1424 |
1420 // static | 1425 // static |
1421 void content::RenderWidgetHostViewPort::GetDefaultScreenInfo( | 1426 void content::RenderWidgetHostViewPort::GetDefaultScreenInfo( |
1422 WebKit::WebScreenInfo* results) { | 1427 WebKit::WebScreenInfo* results) { |
1423 GdkWindow* gdk_window = | 1428 GdkWindow* gdk_window = |
1424 gdk_display_get_default_group(gdk_display_get_default()); | 1429 gdk_display_get_default_group(gdk_display_get_default()); |
1425 content::GetScreenInfoFromNativeWindow(gdk_window, results); | 1430 content::GetScreenInfoFromNativeWindow(gdk_window, results); |
1426 } | 1431 } |
OLD | NEW |