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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 387353004: Create only a single LegacyRenderWidgetHostHWND per WebContentsViewAura. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@render_frame_ax_3
Patch Set: Rebase Created 6 years, 2 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) 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_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 text_input_mode_(ui::TEXT_INPUT_MODE_DEFAULT), 442 text_input_mode_(ui::TEXT_INPUT_MODE_DEFAULT),
443 can_compose_inline_(true), 443 can_compose_inline_(true),
444 has_composition_text_(false), 444 has_composition_text_(false),
445 accept_return_character_(false), 445 accept_return_character_(false),
446 last_swapped_software_frame_scale_factor_(1.f), 446 last_swapped_software_frame_scale_factor_(1.f),
447 paint_canvas_(NULL), 447 paint_canvas_(NULL),
448 synthetic_move_sent_(false), 448 synthetic_move_sent_(false),
449 cursor_visibility_state_in_renderer_(UNKNOWN), 449 cursor_visibility_state_in_renderer_(UNKNOWN),
450 #if defined(OS_WIN) 450 #if defined(OS_WIN)
451 legacy_render_widget_host_HWND_(NULL), 451 legacy_render_widget_host_HWND_(NULL),
452 legacy_window_destroyed_(false),
453 #endif 452 #endif
454 has_snapped_to_boundary_(false), 453 has_snapped_to_boundary_(false),
455 touch_editing_client_(NULL), 454 touch_editing_client_(NULL),
456 weak_ptr_factory_(this) { 455 weak_ptr_factory_(this) {
457 host_->SetView(this); 456 host_->SetView(this);
458 window_observer_.reset(new WindowObserver(this)); 457 window_observer_.reset(new WindowObserver(this));
459 aura::client::SetTooltipText(window_, &tooltip_); 458 aura::client::SetTooltipText(window_, &tooltip_);
460 aura::client::SetActivationDelegate(window_, this); 459 aura::client::SetActivationDelegate(window_, this);
461 aura::client::SetActivationChangeObserver(window_, this); 460 aura::client::SetActivationChangeObserver(window_, this);
462 aura::client::SetFocusChangeObserver(window_, this); 461 aura::client::SetFocusChangeObserver(window_, this);
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 if (root) { 573 if (root) {
575 aura::client::CursorClient* cursor_client = 574 aura::client::CursorClient* cursor_client =
576 aura::client::GetCursorClient(root); 575 aura::client::GetCursorClient(root);
577 if (cursor_client) 576 if (cursor_client)
578 NotifyRendererOfCursorVisibilityState(cursor_client->IsCursorVisible()); 577 NotifyRendererOfCursorVisibilityState(cursor_client->IsCursorVisible());
579 } 578 }
580 579
581 delegated_frame_host_->WasShown(browser_latency_info); 580 delegated_frame_host_->WasShown(browser_latency_info);
582 581
583 #if defined(OS_WIN) 582 #if defined(OS_WIN)
584 if (legacy_render_widget_host_HWND_) {
585 // Reparent the legacy Chrome_RenderWidgetHostHWND window to the parent
586 // window before reparenting any plugins. This ensures that the plugin
587 // windows stay on top of the child Zorder in the parent and receive
588 // mouse events, etc.
589 legacy_render_widget_host_HWND_->UpdateParent(
590 GetNativeView()->GetHost()->GetAcceleratedWidget());
591 legacy_render_widget_host_HWND_->SetBounds(
592 window_->GetBoundsInRootWindow());
593 }
594 LPARAM lparam = reinterpret_cast<LPARAM>(this); 583 LPARAM lparam = reinterpret_cast<LPARAM>(this);
595 EnumChildWindows(ui::GetHiddenWindow(), ShowWindowsCallback, lparam); 584 EnumChildWindows(ui::GetHiddenWindow(), ShowWindowsCallback, lparam);
596 #endif 585 #endif
597 } 586 }
598 587
599 void RenderWidgetHostViewAura::WasHidden() { 588 void RenderWidgetHostViewAura::WasHidden() {
600 if (!host_ || host_->is_hidden()) 589 if (!host_ || host_->is_hidden())
601 return; 590 return;
602 host_->WasHidden(); 591 host_->WasHidden();
603 delegated_frame_host_->WasHidden(); 592 delegated_frame_host_->WasHidden();
604 593
605 #if defined(OS_WIN) 594 #if defined(OS_WIN)
606 constrained_rects_.clear(); 595 constrained_rects_.clear();
607 aura::WindowTreeHost* host = window_->GetHost(); 596 aura::WindowTreeHost* host = window_->GetHost();
608 if (host) { 597 if (host) {
609 HWND parent = host->GetAcceleratedWidget(); 598 HWND parent = host->GetAcceleratedWidget();
610 LPARAM lparam = reinterpret_cast<LPARAM>(this); 599 LPARAM lparam = reinterpret_cast<LPARAM>(this);
611 EnumChildWindows(parent, HideWindowsCallback, lparam); 600 EnumChildWindows(parent, HideWindowsCallback, lparam);
612 // We reparent the legacy Chrome_RenderWidgetHostHWND window to the global
613 // hidden window on the same lines as Windowed plugin windows.
614 if (legacy_render_widget_host_HWND_)
615 legacy_render_widget_host_HWND_->UpdateParent(ui::GetHiddenWindow());
616 } 601 }
617 #endif 602 #endif
618 } 603 }
619 604
620 void RenderWidgetHostViewAura::SetSize(const gfx::Size& size) { 605 void RenderWidgetHostViewAura::SetSize(const gfx::Size& size) {
621 // For a SetSize operation, we don't care what coordinate system the origin 606 // For a SetSize operation, we don't care what coordinate system the origin
622 // of the window is in, it's only important to make sure that the origin 607 // of the window is in, it's only important to make sure that the origin
623 // remains constant after the operation. 608 // remains constant after the operation.
624 InternalSetBounds(gfx::Rect(window_->bounds().origin(), size)); 609 InternalSetBounds(gfx::Rect(window_->bounds().origin(), size));
625 } 610 }
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 return window_->HasFocus(); 755 return window_->HasFocus();
771 } 756 }
772 757
773 bool RenderWidgetHostViewAura::IsSurfaceAvailableForCopy() const { 758 bool RenderWidgetHostViewAura::IsSurfaceAvailableForCopy() const {
774 return delegated_frame_host_->CanCopyToBitmap(); 759 return delegated_frame_host_->CanCopyToBitmap();
775 } 760 }
776 761
777 void RenderWidgetHostViewAura::Show() { 762 void RenderWidgetHostViewAura::Show() {
778 window_->Show(); 763 window_->Show();
779 WasShown(); 764 WasShown();
780 #if defined(OS_WIN)
781 if (legacy_render_widget_host_HWND_)
782 legacy_render_widget_host_HWND_->Show();
783 #endif
784 } 765 }
785 766
786 void RenderWidgetHostViewAura::Hide() { 767 void RenderWidgetHostViewAura::Hide() {
787 window_->Hide(); 768 window_->Hide();
788 WasHidden(); 769 WasHidden();
789 #if defined(OS_WIN)
790 if (legacy_render_widget_host_HWND_)
791 legacy_render_widget_host_HWND_->Hide();
792 #endif
793 } 770 }
794 771
795 bool RenderWidgetHostViewAura::IsShowing() { 772 bool RenderWidgetHostViewAura::IsShowing() {
796 return window_->IsVisible(); 773 return window_->IsVisible();
797 } 774 }
798 775
799 gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { 776 gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
800 return window_->GetBoundsInScreen(); 777 return window_->GetBoundsInScreen();
801 } 778 }
802 779
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 EnumChildWindows(parent, SetCutoutRectsCallback, lparam); 972 EnumChildWindows(parent, SetCutoutRectsCallback, lparam);
996 } 973 }
997 974
998 void RenderWidgetHostViewAura::UpdateMouseLockRegion() { 975 void RenderWidgetHostViewAura::UpdateMouseLockRegion() {
999 // Clip the cursor if chrome is running on regular desktop. 976 // Clip the cursor if chrome is running on regular desktop.
1000 if (gfx::Screen::GetScreenFor(window_) == gfx::Screen::GetNativeScreen()) { 977 if (gfx::Screen::GetScreenFor(window_) == gfx::Screen::GetNativeScreen()) {
1001 RECT window_rect = window_->GetBoundsInScreen().ToRECT(); 978 RECT window_rect = window_->GetBoundsInScreen().ToRECT();
1002 ::ClipCursor(&window_rect); 979 ::ClipCursor(&window_rect);
1003 } 980 }
1004 } 981 }
1005 982 #endif // defined(OS_WIN)
1006 void RenderWidgetHostViewAura::OnLegacyWindowDestroyed() {
1007 legacy_render_widget_host_HWND_ = NULL;
1008 legacy_window_destroyed_ = true;
1009 }
1010 #endif
1011 983
1012 void RenderWidgetHostViewAura::OnSwapCompositorFrame( 984 void RenderWidgetHostViewAura::OnSwapCompositorFrame(
1013 uint32 output_surface_id, 985 uint32 output_surface_id,
1014 scoped_ptr<cc::CompositorFrame> frame) { 986 scoped_ptr<cc::CompositorFrame> frame) {
1015 TRACE_EVENT0("content", "RenderWidgetHostViewAura::OnSwapCompositorFrame"); 987 TRACE_EVENT0("content", "RenderWidgetHostViewAura::OnSwapCompositorFrame");
1016 988
1017 last_scroll_offset_ = frame->metadata.root_scroll_offset; 989 last_scroll_offset_ = frame->metadata.root_scroll_offset;
1018 if (frame->delegated_frame_data) { 990 if (frame->delegated_frame_data) {
1019 delegated_frame_host_->SwapDelegatedFrame( 991 delegated_frame_host_->SwapDelegatedFrame(
1020 output_surface_id, 992 output_surface_id,
(...skipping 11 matching lines...) Expand all
1032 return; 1004 return;
1033 } 1005 }
1034 } 1006 }
1035 1007
1036 void RenderWidgetHostViewAura::DidStopFlinging() { 1008 void RenderWidgetHostViewAura::DidStopFlinging() {
1037 if (touch_editing_client_) 1009 if (touch_editing_client_)
1038 touch_editing_client_->DidStopFlinging(); 1010 touch_editing_client_->DidStopFlinging();
1039 } 1011 }
1040 1012
1041 #if defined(OS_WIN) 1013 #if defined(OS_WIN)
1014 void RenderWidgetHostViewAura::SetLegacyRenderWidgetHostHWND(
1015 LegacyRenderWidgetHostHWND* legacy_hwnd) {
1016 legacy_render_widget_host_HWND_ = legacy_hwnd;
1017 }
1018
1042 void RenderWidgetHostViewAura::SetParentNativeViewAccessible( 1019 void RenderWidgetHostViewAura::SetParentNativeViewAccessible(
1043 gfx::NativeViewAccessible accessible_parent) { 1020 gfx::NativeViewAccessible accessible_parent) {
1044 } 1021 }
1045 1022
1046 gfx::NativeViewId RenderWidgetHostViewAura::GetParentForWindowlessPlugin() 1023 gfx::NativeViewId RenderWidgetHostViewAura::GetParentForWindowlessPlugin()
1047 const { 1024 const {
1048 if (legacy_render_widget_host_HWND_) { 1025 if (legacy_render_widget_host_HWND_) {
1049 return reinterpret_cast<gfx::NativeViewId>( 1026 return reinterpret_cast<gfx::NativeViewId>(
1050 legacy_render_widget_host_HWND_->hwnd()); 1027 legacy_render_widget_host_HWND_->hwnd());
1051 } 1028 }
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
1707 HWND parent = NULL; 1684 HWND parent = NULL;
1708 // If the tab was hidden and it's closed, host_->is_hidden would have been 1685 // If the tab was hidden and it's closed, host_->is_hidden would have been
1709 // reset to false in RenderWidgetHostImpl::RendererExited. 1686 // reset to false in RenderWidgetHostImpl::RendererExited.
1710 if (!window_->GetRootWindow() || host_->is_hidden()) { 1687 if (!window_->GetRootWindow() || host_->is_hidden()) {
1711 parent = ui::GetHiddenWindow(); 1688 parent = ui::GetHiddenWindow();
1712 } else { 1689 } else {
1713 parent = window_->GetHost()->GetAcceleratedWidget(); 1690 parent = window_->GetHost()->GetAcceleratedWidget();
1714 } 1691 }
1715 LPARAM lparam = reinterpret_cast<LPARAM>(this); 1692 LPARAM lparam = reinterpret_cast<LPARAM>(this);
1716 EnumChildWindows(parent, WindowDestroyingCallback, lparam); 1693 EnumChildWindows(parent, WindowDestroyingCallback, lparam);
1717 1694 legacy_render_widget_host_HWND_ = NULL;
1718 // The LegacyRenderWidgetHostHWND instance is destroyed when its window is
1719 // destroyed. Normally we control when that happens via the Destroy call
1720 // in the dtor. However there may be cases where the window is destroyed
1721 // by Windows, i.e. the parent window is destroyed before the
1722 // RenderWidgetHostViewAura instance goes away etc. To avoid that we
1723 // destroy the LegacyRenderWidgetHostHWND instance here.
1724 if (legacy_render_widget_host_HWND_) {
1725 legacy_render_widget_host_HWND_->set_host(NULL);
1726 legacy_render_widget_host_HWND_->Destroy();
1727 // The Destroy call above will delete the LegacyRenderWidgetHostHWND
1728 // instance.
1729 legacy_render_widget_host_HWND_ = NULL;
1730 }
1731 #endif 1695 #endif
1732 1696
1733 // Make sure that the input method no longer references to this object before 1697 // Make sure that the input method no longer references to this object before
1734 // this object is removed from the root window (i.e. this object loses access 1698 // this object is removed from the root window (i.e. this object loses access
1735 // to the input method). 1699 // to the input method).
1736 ui::InputMethod* input_method = GetInputMethod(); 1700 ui::InputMethod* input_method = GetInputMethod();
1737 if (input_method) 1701 if (input_method)
1738 input_method->DetachTextInputClient(this); 1702 input_method->DetachTextInputClient(this);
1739 1703
1740 if (overscroll_controller_) 1704 if (overscroll_controller_)
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
2222 popup_child_host_view_->popup_parent_host_view_ = NULL; 2186 popup_child_host_view_->popup_parent_host_view_ = NULL;
2223 } 2187 }
2224 event_filter_for_popup_exit_.reset(); 2188 event_filter_for_popup_exit_.reset();
2225 aura::client::SetTooltipText(window_, NULL); 2189 aura::client::SetTooltipText(window_, NULL);
2226 gfx::Screen::GetScreenFor(window_)->RemoveObserver(this); 2190 gfx::Screen::GetScreenFor(window_)->RemoveObserver(this);
2227 2191
2228 // This call is usually no-op since |this| object is already removed from the 2192 // This call is usually no-op since |this| object is already removed from the
2229 // Aura root window and we don't have a way to get an input method object 2193 // Aura root window and we don't have a way to get an input method object
2230 // associated with the window, but just in case. 2194 // associated with the window, but just in case.
2231 DetachFromInputMethod(); 2195 DetachFromInputMethod();
2232
2233 #if defined(OS_WIN)
2234 // The LegacyRenderWidgetHostHWND window should have been destroyed in
2235 // RenderWidgetHostViewAura::OnWindowDestroying and the pointer should
2236 // be set to NULL.
2237 DCHECK(!legacy_render_widget_host_HWND_);
2238 #endif
2239 } 2196 }
2240 2197
2241 void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() { 2198 void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() {
2242 const gfx::Point screen_point = 2199 const gfx::Point screen_point =
2243 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(); 2200 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint();
2244 aura::Window* root_window = window_->GetRootWindow(); 2201 aura::Window* root_window = window_->GetRootWindow();
2245 if (!root_window) 2202 if (!root_window)
2246 return; 2203 return;
2247 2204
2248 gfx::Point root_window_point = screen_point; 2205 gfx::Point root_window_point = screen_point;
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
2378 // a Window::SetBoundsInternal call. 2335 // a Window::SetBoundsInternal call.
2379 if (!in_bounds_changed_) 2336 if (!in_bounds_changed_)
2380 window_->SetBounds(rect); 2337 window_->SetBounds(rect);
2381 host_->WasResized(); 2338 host_->WasResized();
2382 delegated_frame_host_->WasResized(); 2339 delegated_frame_host_->WasResized();
2383 if (touch_editing_client_) { 2340 if (touch_editing_client_) {
2384 touch_editing_client_->OnSelectionOrCursorChanged(selection_anchor_rect_, 2341 touch_editing_client_->OnSelectionOrCursorChanged(selection_anchor_rect_,
2385 selection_focus_rect_); 2342 selection_focus_rect_);
2386 } 2343 }
2387 #if defined(OS_WIN) 2344 #if defined(OS_WIN)
2388 // Create the legacy dummy window which corresponds to the bounds of the
2389 // webcontents. This will be passed as the container window for windowless
2390 // plugins.
2391 // Plugins like Flash assume the container window which is returned via the
2392 // NPNVnetscapeWindow property corresponds to the bounds of the webpage.
2393 // This is not true in Aura where we have only HWND which is the main Aura
2394 // window. If we return this window to plugins like Flash then it causes the
2395 // coordinate translations done by these plugins to break.
2396 // Additonally the legacy dummy window is needed for accessibility and for
2397 // scrolling to work in legacy drivers for trackpoints/trackpads, etc.
2398 if (!legacy_window_destroyed_ && GetNativeViewId()) {
2399 if (!legacy_render_widget_host_HWND_) {
2400 legacy_render_widget_host_HWND_ = LegacyRenderWidgetHostHWND::Create(
2401 reinterpret_cast<HWND>(GetNativeViewId()));
2402 }
2403 if (legacy_render_widget_host_HWND_) {
2404 legacy_render_widget_host_HWND_->set_host(this);
2405 legacy_render_widget_host_HWND_->SetBounds(
2406 window_->GetBoundsInRootWindow());
2407 // There are cases where the parent window is created, made visible and
2408 // the associated RenderWidget is also visible before the
2409 // LegacyRenderWidgetHostHWND instace is created. Ensure that it is shown
2410 // here.
2411 if (!host_->is_hidden())
2412 legacy_render_widget_host_HWND_->Show();
2413 }
2414 }
2415
2416 if (mouse_locked_) 2345 if (mouse_locked_)
2417 UpdateMouseLockRegion(); 2346 UpdateMouseLockRegion();
2418 #endif 2347 #endif
2419 } 2348 }
2420 2349
2421 void RenderWidgetHostViewAura::SchedulePaintIfNotInClip( 2350 void RenderWidgetHostViewAura::SchedulePaintIfNotInClip(
2422 const gfx::Rect& rect, 2351 const gfx::Rect& rect,
2423 const gfx::Rect& clip) { 2352 const gfx::Rect& clip) {
2424 if (!clip.IsEmpty()) { 2353 if (!clip.IsEmpty()) {
2425 gfx::Rect to_paint = gfx::SubtractRects(rect, clip); 2354 gfx::Rect to_paint = gfx::SubtractRects(rect, clip);
(...skipping 25 matching lines...) Expand all
2451 if (cursor_client) { 2380 if (cursor_client) {
2452 cursor_client->AddObserver(this); 2381 cursor_client->AddObserver(this);
2453 NotifyRendererOfCursorVisibilityState(cursor_client->IsCursorVisible()); 2382 NotifyRendererOfCursorVisibilityState(cursor_client->IsCursorVisible());
2454 } 2383 }
2455 if (HasFocus()) { 2384 if (HasFocus()) {
2456 ui::InputMethod* input_method = GetInputMethod(); 2385 ui::InputMethod* input_method = GetInputMethod();
2457 if (input_method) 2386 if (input_method)
2458 input_method->SetFocusedTextInputClient(this); 2387 input_method->SetFocusedTextInputClient(this);
2459 } 2388 }
2460 2389
2461 #if defined(OS_WIN)
2462 // The parent may have changed here. Ensure that the legacy window is
2463 // reparented accordingly.
2464 if (legacy_render_widget_host_HWND_)
2465 legacy_render_widget_host_HWND_->UpdateParent(
2466 reinterpret_cast<HWND>(GetNativeViewId()));
2467 #endif
2468
2469 delegated_frame_host_->AddedToWindow(); 2390 delegated_frame_host_->AddedToWindow();
2470 } 2391 }
2471 2392
2472 void RenderWidgetHostViewAura::RemovingFromRootWindow() { 2393 void RenderWidgetHostViewAura::RemovingFromRootWindow() {
2473 aura::client::CursorClient* cursor_client = 2394 aura::client::CursorClient* cursor_client =
2474 aura::client::GetCursorClient(window_->GetRootWindow()); 2395 aura::client::GetCursorClient(window_->GetRootWindow());
2475 if (cursor_client) 2396 if (cursor_client)
2476 cursor_client->RemoveObserver(this); 2397 cursor_client->RemoveObserver(this);
2477 2398
2478 DetachFromInputMethod(); 2399 DetachFromInputMethod();
2479 2400
2480 window_->GetHost()->RemoveObserver(this); 2401 window_->GetHost()->RemoveObserver(this);
2481 delegated_frame_host_->RemovingFromWindow(); 2402 delegated_frame_host_->RemovingFromWindow();
2482
2483 #if defined(OS_WIN)
2484 // Update the legacy window's parent temporarily to the desktop window. It
2485 // will eventually get reparented to the right root.
2486 if (legacy_render_widget_host_HWND_)
2487 legacy_render_widget_host_HWND_->UpdateParent(::GetDesktopWindow());
2488 #endif
2489 } 2403 }
2490 2404
2491 void RenderWidgetHostViewAura::DetachFromInputMethod() { 2405 void RenderWidgetHostViewAura::DetachFromInputMethod() {
2492 ui::InputMethod* input_method = GetInputMethod(); 2406 ui::InputMethod* input_method = GetInputMethod();
2493 if (input_method && input_method->GetTextInputClient() == this) 2407 if (input_method && input_method->GetTextInputClient() == this)
2494 input_method->SetFocusedTextInputClient(NULL); 2408 input_method->SetFocusedTextInputClient(NULL);
2495 } 2409 }
2496 2410
2497 void RenderWidgetHostViewAura::ForwardKeyboardEvent( 2411 void RenderWidgetHostViewAura::ForwardKeyboardEvent(
2498 const NativeWebKeyboardEvent& event) { 2412 const NativeWebKeyboardEvent& event) {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2576 2490
2577 //////////////////////////////////////////////////////////////////////////////// 2491 ////////////////////////////////////////////////////////////////////////////////
2578 // RenderWidgetHostViewBase, public: 2492 // RenderWidgetHostViewBase, public:
2579 2493
2580 // static 2494 // static
2581 void RenderWidgetHostViewBase::GetDefaultScreenInfo(WebScreenInfo* results) { 2495 void RenderWidgetHostViewBase::GetDefaultScreenInfo(WebScreenInfo* results) {
2582 GetScreenInfoForWindow(results, NULL); 2496 GetScreenInfoForWindow(results, NULL);
2583 } 2497 }
2584 2498
2585 } // namespace content 2499 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698