| 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_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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 #include "ui/gfx/rect_conversions.h" | 76 #include "ui/gfx/rect_conversions.h" |
| 77 #include "ui/gfx/screen.h" | 77 #include "ui/gfx/screen.h" |
| 78 #include "ui/gfx/size_conversions.h" | 78 #include "ui/gfx/size_conversions.h" |
| 79 #include "ui/gfx/skia_util.h" | 79 #include "ui/gfx/skia_util.h" |
| 80 #include "ui/wm/public/window_types.h" | 80 #include "ui/wm/public/window_types.h" |
| 81 | 81 |
| 82 #if defined(OS_WIN) | 82 #if defined(OS_WIN) |
| 83 #include "base/win/windows_version.h" | 83 #include "base/win/windows_version.h" |
| 84 #include "content/browser/accessibility/browser_accessibility_manager_win.h" | 84 #include "content/browser/accessibility/browser_accessibility_manager_win.h" |
| 85 #include "content/browser/accessibility/browser_accessibility_win.h" | 85 #include "content/browser/accessibility/browser_accessibility_win.h" |
| 86 #include "content/browser/renderer_host/legacy_render_widget_host_win.h" |
| 86 #include "content/common/plugin_constants_win.h" | 87 #include "content/common/plugin_constants_win.h" |
| 87 #include "ui/base/win/hidden_window.h" | 88 #include "ui/base/win/hidden_window.h" |
| 88 #include "ui/gfx/gdi_util.h" | 89 #include "ui/gfx/gdi_util.h" |
| 89 #include "ui/gfx/win/dpi.h" | 90 #include "ui/gfx/win/dpi.h" |
| 90 #endif | 91 #endif |
| 91 | 92 |
| 92 using gfx::RectToSkIRect; | 93 using gfx::RectToSkIRect; |
| 93 using gfx::SkIRectToRect; | 94 using gfx::SkIRectToRect; |
| 94 | 95 |
| 95 using blink::WebScreenInfo; | 96 using blink::WebScreenInfo; |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 host_->SetView(this); | 494 host_->SetView(this); |
| 494 window_observer_.reset(new WindowObserver(this)); | 495 window_observer_.reset(new WindowObserver(this)); |
| 495 aura::client::SetTooltipText(window_, &tooltip_); | 496 aura::client::SetTooltipText(window_, &tooltip_); |
| 496 aura::client::SetActivationDelegate(window_, this); | 497 aura::client::SetActivationDelegate(window_, this); |
| 497 aura::client::SetActivationChangeObserver(window_, this); | 498 aura::client::SetActivationChangeObserver(window_, this); |
| 498 aura::client::SetFocusChangeObserver(window_, this); | 499 aura::client::SetFocusChangeObserver(window_, this); |
| 499 gfx::Screen::GetScreenFor(window_)->AddObserver(this); | 500 gfx::Screen::GetScreenFor(window_)->AddObserver(this); |
| 500 software_frame_manager_.reset(new SoftwareFrameManager( | 501 software_frame_manager_.reset(new SoftwareFrameManager( |
| 501 weak_ptr_factory_.GetWeakPtr())); | 502 weak_ptr_factory_.GetWeakPtr())); |
| 502 #if defined(OS_WIN) | 503 #if defined(OS_WIN) |
| 503 plugin_parent_window_ = NULL; | 504 legacy_render_widget_host_HWND_ = NULL; |
| 504 #endif | 505 #endif |
| 505 ImageTransportFactory::GetInstance()->AddObserver(this); | 506 ImageTransportFactory::GetInstance()->AddObserver(this); |
| 506 } | 507 } |
| 507 | 508 |
| 508 //////////////////////////////////////////////////////////////////////////////// | 509 //////////////////////////////////////////////////////////////////////////////// |
| 509 // RenderWidgetHostViewAura, RenderWidgetHostView implementation: | 510 // RenderWidgetHostViewAura, RenderWidgetHostView implementation: |
| 510 | 511 |
| 511 bool RenderWidgetHostViewAura::OnMessageReceived( | 512 bool RenderWidgetHostViewAura::OnMessageReceived( |
| 512 const IPC::Message& message) { | 513 const IPC::Message& message) { |
| 513 bool handled = true; | 514 bool handled = true; |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 !released_front_lock_.get()) { | 628 !released_front_lock_.get()) { |
| 628 ui::Compositor* compositor = GetCompositor(); | 629 ui::Compositor* compositor = GetCompositor(); |
| 629 if (compositor) | 630 if (compositor) |
| 630 released_front_lock_ = compositor->GetCompositorLock(); | 631 released_front_lock_ = compositor->GetCompositorLock(); |
| 631 } | 632 } |
| 632 | 633 |
| 633 #if defined(OS_WIN) | 634 #if defined(OS_WIN) |
| 634 LPARAM lparam = reinterpret_cast<LPARAM>(this); | 635 LPARAM lparam = reinterpret_cast<LPARAM>(this); |
| 635 EnumChildWindows(ui::GetHiddenWindow(), ShowWindowsCallback, lparam); | 636 EnumChildWindows(ui::GetHiddenWindow(), ShowWindowsCallback, lparam); |
| 636 | 637 |
| 637 if (::IsWindow(plugin_parent_window_)) { | 638 if (legacy_render_widget_host_HWND_) { |
| 638 gfx::Rect window_bounds = window_->GetBoundsInRootWindow(); | 639 legacy_render_widget_host_HWND_->SetBounds( |
| 639 ::SetWindowPos(plugin_parent_window_, NULL, window_bounds.x(), | 640 window_->GetBoundsInRootWindow()); |
| 640 window_bounds.y(), window_bounds.width(), | |
| 641 window_bounds.height(), 0); | |
| 642 } | 641 } |
| 643 #endif | 642 #endif |
| 644 } | 643 } |
| 645 | 644 |
| 646 void RenderWidgetHostViewAura::WasHidden() { | 645 void RenderWidgetHostViewAura::WasHidden() { |
| 647 if (!host_ || host_->is_hidden()) | 646 if (!host_ || host_->is_hidden()) |
| 648 return; | 647 return; |
| 649 host_->WasHidden(); | 648 host_->WasHidden(); |
| 650 software_frame_manager_->SetVisibility(false); | 649 software_frame_manager_->SetVisibility(false); |
| 651 delegated_frame_evictor_->SetVisible(false); | 650 delegated_frame_evictor_->SetVisible(false); |
| 652 released_front_lock_ = NULL; | 651 released_front_lock_ = NULL; |
| 653 | 652 |
| 654 #if defined(OS_WIN) | 653 #if defined(OS_WIN) |
| 655 constrained_rects_.clear(); | 654 constrained_rects_.clear(); |
| 656 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); | 655 aura::WindowEventDispatcher* dispatcher = window_->GetDispatcher(); |
| 657 if (dispatcher) { | 656 if (dispatcher) { |
| 658 HWND parent = dispatcher->host()->GetAcceleratedWidget(); | 657 HWND parent = dispatcher->host()->GetAcceleratedWidget(); |
| 659 LPARAM lparam = reinterpret_cast<LPARAM>(this); | 658 LPARAM lparam = reinterpret_cast<LPARAM>(this); |
| 660 | 659 |
| 661 EnumChildWindows(parent, HideWindowsCallback, lparam); | 660 EnumChildWindows(parent, HideWindowsCallback, lparam); |
| 662 } | 661 } |
| 663 if (::IsWindow(plugin_parent_window_)) | |
| 664 ::SetWindowPos(plugin_parent_window_, NULL, 0, 0, 0, 0, 0); | |
| 665 #endif | 662 #endif |
| 666 } | 663 } |
| 667 | 664 |
| 668 void RenderWidgetHostViewAura::SetSize(const gfx::Size& size) { | 665 void RenderWidgetHostViewAura::SetSize(const gfx::Size& size) { |
| 669 // For a SetSize operation, we don't care what coordinate system the origin | 666 // For a SetSize operation, we don't care what coordinate system the origin |
| 670 // of the window is in, it's only important to make sure that the origin | 667 // of the window is in, it's only important to make sure that the origin |
| 671 // remains constant after the operation. | 668 // remains constant after the operation. |
| 672 InternalSetBounds(gfx::Rect(window_->bounds().origin(), size)); | 669 InternalSetBounds(gfx::Rect(window_->bounds().origin(), size)); |
| 673 } | 670 } |
| 674 | 671 |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 873 return window_->HasFocus(); | 870 return window_->HasFocus(); |
| 874 } | 871 } |
| 875 | 872 |
| 876 bool RenderWidgetHostViewAura::IsSurfaceAvailableForCopy() const { | 873 bool RenderWidgetHostViewAura::IsSurfaceAvailableForCopy() const { |
| 877 return CanCopyToBitmap() || !!host_->GetBackingStore(false); | 874 return CanCopyToBitmap() || !!host_->GetBackingStore(false); |
| 878 } | 875 } |
| 879 | 876 |
| 880 void RenderWidgetHostViewAura::Show() { | 877 void RenderWidgetHostViewAura::Show() { |
| 881 window_->Show(); | 878 window_->Show(); |
| 882 WasShown(); | 879 WasShown(); |
| 880 #if defined(OS_WIN) |
| 881 if (legacy_render_widget_host_HWND_) |
| 882 legacy_render_widget_host_HWND_->Show(); |
| 883 #endif |
| 883 } | 884 } |
| 884 | 885 |
| 885 void RenderWidgetHostViewAura::Hide() { | 886 void RenderWidgetHostViewAura::Hide() { |
| 886 window_->Hide(); | 887 window_->Hide(); |
| 887 WasHidden(); | 888 WasHidden(); |
| 889 #if defined(OS_WIN) |
| 890 if (legacy_render_widget_host_HWND_) |
| 891 legacy_render_widget_host_HWND_->Hide(); |
| 892 #endif |
| 888 } | 893 } |
| 889 | 894 |
| 890 bool RenderWidgetHostViewAura::IsShowing() { | 895 bool RenderWidgetHostViewAura::IsShowing() { |
| 891 return window_->IsVisible(); | 896 return window_->IsVisible(); |
| 892 } | 897 } |
| 893 | 898 |
| 894 gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { | 899 gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { |
| 895 // This is the size that we want the renderer to produce. While we're waiting | 900 // This is the size that we want the renderer to produce. While we're waiting |
| 896 // for the correct frame (i.e. during a resize), don't change the size so that | 901 // for the correct frame (i.e. during a resize), don't change the size so that |
| 897 // we don't pipeline more resizes than we can handle. | 902 // we don't pipeline more resizes than we can handle. |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1221 // a Window::SetBoundsInternal call. | 1226 // a Window::SetBoundsInternal call. |
| 1222 if (!in_bounds_changed_) | 1227 if (!in_bounds_changed_) |
| 1223 window_->SetBounds(rect); | 1228 window_->SetBounds(rect); |
| 1224 host_->WasResized(); | 1229 host_->WasResized(); |
| 1225 MaybeCreateResizeLock(); | 1230 MaybeCreateResizeLock(); |
| 1226 if (touch_editing_client_) { | 1231 if (touch_editing_client_) { |
| 1227 touch_editing_client_->OnSelectionOrCursorChanged(selection_anchor_rect_, | 1232 touch_editing_client_->OnSelectionOrCursorChanged(selection_anchor_rect_, |
| 1228 selection_focus_rect_); | 1233 selection_focus_rect_); |
| 1229 } | 1234 } |
| 1230 #if defined(OS_WIN) | 1235 #if defined(OS_WIN) |
| 1231 // Create the dummy plugin parent window which will be passed as the | 1236 // Create the legacy dummy window which corresponds to the bounds of the |
| 1232 // container window to windowless plugins. | 1237 // webcontents. This will be passed as the container window for windowless |
| 1238 // plugins. |
| 1233 // Plugins like Flash assume the container window which is returned via the | 1239 // Plugins like Flash assume the container window which is returned via the |
| 1234 // NPNVnetscapeWindow property corresponds to the bounds of the webpage. | 1240 // NPNVnetscapeWindow property corresponds to the bounds of the webpage. |
| 1235 // This is not true in Aura where we have only HWND which is the main Aura | 1241 // This is not true in Aura where we have only HWND which is the main Aura |
| 1236 // window. If we return this window to plugins like Flash then it causes the | 1242 // window. If we return this window to plugins like Flash then it causes the |
| 1237 // coordinate translations done by these plugins to break. | 1243 // coordinate translations done by these plugins to break. |
| 1238 if (!plugin_parent_window_ && GetNativeViewId()) { | 1244 // Additonally the legacy dummy window is needed for accessibility and for |
| 1239 plugin_parent_window_ = ::CreateWindowEx( | 1245 // scrolling to work in legacy drivers for trackpoints/trackpads, etc. |
| 1240 0, L"Static", NULL, WS_CHILDWINDOW, 0, 0, 0, 0, | 1246 if (GetNativeViewId()) { |
| 1241 reinterpret_cast<HWND>(GetNativeViewId()), NULL, NULL, NULL); | 1247 if (!legacy_render_widget_host_HWND_) { |
| 1242 if (::IsWindow(plugin_parent_window_)) | 1248 legacy_render_widget_host_HWND_ = new LegacyRenderWidgetHostHWND( |
| 1243 ::SetProp(plugin_parent_window_, content::kPluginDummyParentProperty, | 1249 reinterpret_cast<HWND>(GetNativeViewId())); |
| 1244 reinterpret_cast<HANDLE>(true)); | 1250 } |
| 1245 } | 1251 legacy_render_widget_host_HWND_->SetBounds( |
| 1246 if (::IsWindow(plugin_parent_window_)) { | 1252 window_->GetBoundsInRootWindow()); |
| 1247 gfx::Rect window_bounds = window_->GetBoundsInRootWindow(); | |
| 1248 ::SetWindowPos(plugin_parent_window_, NULL, window_bounds.x(), | |
| 1249 window_bounds.y(), window_bounds.width(), | |
| 1250 window_bounds.height(), 0); | |
| 1251 } | 1253 } |
| 1252 #endif | 1254 #endif |
| 1253 } | 1255 } |
| 1254 | 1256 |
| 1255 void RenderWidgetHostViewAura::CheckResizeLock() { | 1257 void RenderWidgetHostViewAura::CheckResizeLock() { |
| 1256 if (!resize_lock_ || resize_lock_->expected_size() != current_frame_size_) | 1258 if (!resize_lock_ || resize_lock_->expected_size() != current_frame_size_) |
| 1257 return; | 1259 return; |
| 1258 | 1260 |
| 1259 // Since we got the size we were looking for, unlock the compositor. But delay | 1261 // Since we got the size we were looking for, unlock the compositor. But delay |
| 1260 // the release of the lock until we've kicked a frame with the new texture, to | 1262 // the release of the lock until we've kicked a frame with the new texture, to |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1710 void RenderWidgetHostViewAura::SetParentNativeViewAccessible( | 1712 void RenderWidgetHostViewAura::SetParentNativeViewAccessible( |
| 1711 gfx::NativeViewAccessible accessible_parent) { | 1713 gfx::NativeViewAccessible accessible_parent) { |
| 1712 if (GetBrowserAccessibilityManager()) { | 1714 if (GetBrowserAccessibilityManager()) { |
| 1713 GetBrowserAccessibilityManager()->ToBrowserAccessibilityManagerWin() | 1715 GetBrowserAccessibilityManager()->ToBrowserAccessibilityManagerWin() |
| 1714 ->set_parent_iaccessible(accessible_parent); | 1716 ->set_parent_iaccessible(accessible_parent); |
| 1715 } | 1717 } |
| 1716 } | 1718 } |
| 1717 | 1719 |
| 1718 gfx::NativeViewId RenderWidgetHostViewAura::GetParentForWindowlessPlugin() | 1720 gfx::NativeViewId RenderWidgetHostViewAura::GetParentForWindowlessPlugin() |
| 1719 const { | 1721 const { |
| 1720 return reinterpret_cast<gfx::NativeViewId>(plugin_parent_window_); | 1722 if (legacy_render_widget_host_HWND_) { |
| 1723 return reinterpret_cast<gfx::NativeViewId>( |
| 1724 legacy_render_widget_host_HWND_->hwnd()); |
| 1725 } |
| 1726 return NULL; |
| 1721 } | 1727 } |
| 1722 #endif | 1728 #endif |
| 1723 | 1729 |
| 1724 void RenderWidgetHostViewAura::BuffersSwapped( | 1730 void RenderWidgetHostViewAura::BuffersSwapped( |
| 1725 const gfx::Size& surface_size, | 1731 const gfx::Size& surface_size, |
| 1726 const gfx::Rect& damage_rect, | 1732 const gfx::Rect& damage_rect, |
| 1727 float surface_scale_factor, | 1733 float surface_scale_factor, |
| 1728 const std::string& mailbox_name, | 1734 const std::string& mailbox_name, |
| 1729 const std::vector<ui::LatencyInfo>& latency_info, | 1735 const std::vector<ui::LatencyInfo>& latency_info, |
| 1730 const BufferPresentedCallback& ack_callback) { | 1736 const BufferPresentedCallback& ack_callback) { |
| (...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2211 return; | 2217 return; |
| 2212 HWND hwnd = dispatcher->host()->GetAcceleratedWidget(); | 2218 HWND hwnd = dispatcher->host()->GetAcceleratedWidget(); |
| 2213 | 2219 |
| 2214 // The accessible_parent may be NULL at this point. The WebContents will pass | 2220 // The accessible_parent may be NULL at this point. The WebContents will pass |
| 2215 // it down to this instance (by way of the RenderViewHost and | 2221 // it down to this instance (by way of the RenderViewHost and |
| 2216 // RenderWidgetHost) when it is known. This instance will then set it on its | 2222 // RenderWidgetHost) when it is known. This instance will then set it on its |
| 2217 // BrowserAccessibilityManager. | 2223 // BrowserAccessibilityManager. |
| 2218 gfx::NativeViewAccessible accessible_parent = | 2224 gfx::NativeViewAccessible accessible_parent = |
| 2219 host_->GetParentNativeViewAccessible(); | 2225 host_->GetParentNativeViewAccessible(); |
| 2220 | 2226 |
| 2221 BrowserAccessibilityManager* manager = new BrowserAccessibilityManagerWin( | 2227 BrowserAccessibilityManager* manager = new BrowserAccessibilityManagerWin( |
| 2222 hwnd, accessible_parent, | 2228 legacy_render_widget_host_HWND_, accessible_parent, |
| 2223 BrowserAccessibilityManagerWin::GetEmptyDocument(), this); | 2229 BrowserAccessibilityManagerWin::GetEmptyDocument(), this); |
| 2224 #else | 2230 #else |
| 2225 BrowserAccessibilityManager* manager = BrowserAccessibilityManager::Create( | 2231 BrowserAccessibilityManager* manager = BrowserAccessibilityManager::Create( |
| 2226 BrowserAccessibilityManager::GetEmptyDocument(), this); | 2232 BrowserAccessibilityManager::GetEmptyDocument(), this); |
| 2227 #endif | 2233 #endif |
| 2228 | 2234 |
| 2229 SetBrowserAccessibilityManager(manager); | 2235 SetBrowserAccessibilityManager(manager); |
| 2230 } | 2236 } |
| 2231 | 2237 |
| 2232 gfx::GLSurfaceHandle RenderWidgetHostViewAura::GetCompositingSurface() { | 2238 gfx::GLSurfaceHandle RenderWidgetHostViewAura::GetCompositingSurface() { |
| (...skipping 1115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3348 // destroyed, as it may then outlive the GLHelper. | 3354 // destroyed, as it may then outlive the GLHelper. |
| 3349 for (std::set<OwnedMailbox*>::iterator it = | 3355 for (std::set<OwnedMailbox*>::iterator it = |
| 3350 active_frame_subscriber_textures_.begin(); | 3356 active_frame_subscriber_textures_.begin(); |
| 3351 it != active_frame_subscriber_textures_.end(); | 3357 it != active_frame_subscriber_textures_.end(); |
| 3352 ++it) { | 3358 ++it) { |
| 3353 (*it)->Destroy(); | 3359 (*it)->Destroy(); |
| 3354 } | 3360 } |
| 3355 active_frame_subscriber_textures_.clear(); | 3361 active_frame_subscriber_textures_.clear(); |
| 3356 | 3362 |
| 3357 #if defined(OS_WIN) | 3363 #if defined(OS_WIN) |
| 3358 if (::IsWindow(plugin_parent_window_)) | 3364 if (legacy_render_widget_host_HWND_) |
| 3359 ::DestroyWindow(plugin_parent_window_); | 3365 legacy_render_widget_host_HWND_->Destroy(); |
| 3360 #endif | 3366 #endif |
| 3361 } | 3367 } |
| 3362 | 3368 |
| 3363 void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() { | 3369 void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() { |
| 3364 const gfx::Point screen_point = | 3370 const gfx::Point screen_point = |
| 3365 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(); | 3371 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(); |
| 3366 aura::Window* root_window = window_->GetRootWindow(); | 3372 aura::Window* root_window = window_->GetRootWindow(); |
| 3367 if (!root_window) | 3373 if (!root_window) |
| 3368 return; | 3374 return; |
| 3369 | 3375 |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3512 cursor_client->AddObserver(this); | 3518 cursor_client->AddObserver(this); |
| 3513 NotifyRendererOfCursorVisibilityState(cursor_client->IsCursorVisible()); | 3519 NotifyRendererOfCursorVisibilityState(cursor_client->IsCursorVisible()); |
| 3514 } | 3520 } |
| 3515 if (current_surface_.get()) | 3521 if (current_surface_.get()) |
| 3516 UpdateExternalTexture(); | 3522 UpdateExternalTexture(); |
| 3517 if (HasFocus()) { | 3523 if (HasFocus()) { |
| 3518 ui::InputMethod* input_method = GetInputMethod(); | 3524 ui::InputMethod* input_method = GetInputMethod(); |
| 3519 if (input_method) | 3525 if (input_method) |
| 3520 input_method->SetFocusedTextInputClient(this); | 3526 input_method->SetFocusedTextInputClient(this); |
| 3521 } | 3527 } |
| 3528 #if defined(OS_WIN) |
| 3529 if (legacy_render_widget_host_HWND_ && GetNativeViewId()) { |
| 3530 // The parent may have changed here. Ensure that the legacy window is |
| 3531 // reparented accordingly. |
| 3532 legacy_render_widget_host_HWND_->SetParentWindow( |
| 3533 reinterpret_cast<HWND>(GetNativeViewId())); |
| 3534 } |
| 3535 #endif |
| 3522 } | 3536 } |
| 3523 | 3537 |
| 3524 void RenderWidgetHostViewAura::RemovingFromRootWindow() { | 3538 void RenderWidgetHostViewAura::RemovingFromRootWindow() { |
| 3525 aura::client::CursorClient* cursor_client = | 3539 aura::client::CursorClient* cursor_client = |
| 3526 aura::client::GetCursorClient(window_->GetRootWindow()); | 3540 aura::client::GetCursorClient(window_->GetRootWindow()); |
| 3527 if (cursor_client) | 3541 if (cursor_client) |
| 3528 cursor_client->RemoveObserver(this); | 3542 cursor_client->RemoveObserver(this); |
| 3529 | 3543 |
| 3530 DetachFromInputMethod(); | 3544 DetachFromInputMethod(); |
| 3531 | 3545 |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3576 RenderWidgetHost* widget) { | 3590 RenderWidgetHost* widget) { |
| 3577 return new RenderWidgetHostViewAura(widget); | 3591 return new RenderWidgetHostViewAura(widget); |
| 3578 } | 3592 } |
| 3579 | 3593 |
| 3580 // static | 3594 // static |
| 3581 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { | 3595 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { |
| 3582 GetScreenInfoForWindow(results, NULL); | 3596 GetScreenInfoForWindow(results, NULL); |
| 3583 } | 3597 } |
| 3584 | 3598 |
| 3585 } // namespace content | 3599 } // namespace content |
| OLD | NEW |