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/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 return false; | 139 return false; |
140 default: | 140 default: |
141 break; | 141 break; |
142 } | 142 } |
143 #endif | 143 #endif |
144 return true; | 144 return true; |
145 } | 145 } |
146 | 146 |
147 void GetScreenInfoForWindow(WebScreenInfo* results, aura::Window* window) { | 147 void GetScreenInfoForWindow(WebScreenInfo* results, aura::Window* window) { |
148 const gfx::Display display = window ? | 148 const gfx::Display display = window ? |
149 gfx::Screen::GetDisplayNearestWindow(window) : | 149 gfx::Screen::GetScreenFor(window)->GetDisplayNearestWindow(window) : |
150 gfx::Screen::GetPrimaryDisplay(); | 150 gfx::Screen::GetScreenFor(window)->GetPrimaryDisplay(); |
151 const gfx::Size size = display.size(); | 151 const gfx::Size size = display.size(); |
152 results->rect = WebKit::WebRect(0, 0, size.width(), size.height()); | 152 results->rect = WebKit::WebRect(0, 0, size.width(), size.height()); |
153 results->availableRect = results->rect; | 153 results->availableRect = results->rect; |
154 // TODO(derat|oshima): Don't hardcode this. Get this from display object. | 154 // TODO(derat|oshima): Don't hardcode this. Get this from display object. |
155 results->depth = 24; | 155 results->depth = 24; |
156 results->depthPerComponent = 8; | 156 results->depthPerComponent = 8; |
157 int default_dpi = display.device_scale_factor() * 160; | 157 int default_dpi = display.device_scale_factor() * 160; |
158 results->verticalDPI = default_dpi; | 158 results->verticalDPI = default_dpi; |
159 results->horizontalDPI = default_dpi; | 159 results->horizontalDPI = default_dpi; |
160 } | 160 } |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 window_->SetName("RenderWidgetHostViewAura"); | 312 window_->SetName("RenderWidgetHostViewAura"); |
313 window_->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN); | 313 window_->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN); |
314 aura::Window* parent = NULL; | 314 aura::Window* parent = NULL; |
315 if (reference_host_view) { | 315 if (reference_host_view) { |
316 aura::Window* reference_window = | 316 aura::Window* reference_window = |
317 static_cast<RenderWidgetHostViewAura*>(reference_host_view)->window_; | 317 static_cast<RenderWidgetHostViewAura*>(reference_host_view)->window_; |
318 if (reference_window) { | 318 if (reference_window) { |
319 host_tracker_.reset(new aura::WindowTracker); | 319 host_tracker_.reset(new aura::WindowTracker); |
320 host_tracker_->Add(reference_window); | 320 host_tracker_->Add(reference_window); |
321 } | 321 } |
322 gfx::Display display = | 322 gfx::Display display = gfx::Screen::GetScreenFor(window_)-> |
323 gfx::Screen::GetDisplayNearestWindow(reference_window); | 323 GetDisplayNearestWindow(reference_window); |
324 aura::client::StackingClient* stacking_client = | 324 aura::client::StackingClient* stacking_client = |
325 aura::client::GetStackingClient(); | 325 aura::client::GetStackingClient(); |
326 if (stacking_client) | 326 if (stacking_client) |
327 parent = stacking_client->GetDefaultParent(window_, display.bounds()); | 327 parent = stacking_client->GetDefaultParent(window_, display.bounds()); |
328 } | 328 } |
329 window_->SetParent(parent); | 329 window_->SetParent(parent); |
330 Show(); | 330 Show(); |
331 Focus(); | 331 Focus(); |
332 } | 332 } |
333 | 333 |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 bool RenderWidgetHostViewAura::IsShowing() { | 489 bool RenderWidgetHostViewAura::IsShowing() { |
490 return window_->IsVisible(); | 490 return window_->IsVisible(); |
491 } | 491 } |
492 | 492 |
493 gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { | 493 gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { |
494 return window_->GetBoundsInScreen(); | 494 return window_->GetBoundsInScreen(); |
495 } | 495 } |
496 | 496 |
497 void RenderWidgetHostViewAura::UpdateCursor(const WebCursor& cursor) { | 497 void RenderWidgetHostViewAura::UpdateCursor(const WebCursor& cursor) { |
498 current_cursor_ = cursor; | 498 current_cursor_ = cursor; |
499 const gfx::Display display = gfx::Screen::GetDisplayNearestWindow(window_); | 499 const gfx::Display display = gfx::Screen::GetScreenFor(window_)-> |
| 500 GetDisplayNearestWindow(window_); |
500 current_cursor_.SetScaleFactor(display.device_scale_factor()); | 501 current_cursor_.SetScaleFactor(display.device_scale_factor()); |
501 UpdateCursorIfOverSelf(); | 502 UpdateCursorIfOverSelf(); |
502 } | 503 } |
503 | 504 |
504 void RenderWidgetHostViewAura::SetIsLoading(bool is_loading) { | 505 void RenderWidgetHostViewAura::SetIsLoading(bool is_loading) { |
505 is_loading_ = is_loading; | 506 is_loading_ = is_loading; |
506 UpdateCursorIfOverSelf(); | 507 UpdateCursorIfOverSelf(); |
507 } | 508 } |
508 | 509 |
509 void RenderWidgetHostViewAura::TextInputStateChanged( | 510 void RenderWidgetHostViewAura::TextInputStateChanged( |
(...skipping 1189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1699 for (size_t i = 0; i != pending_thumbnail_tasks_.size(); ++i) | 1700 for (size_t i = 0; i != pending_thumbnail_tasks_.size(); ++i) |
1700 pending_thumbnail_tasks_[i].Run(false); | 1701 pending_thumbnail_tasks_[i].Run(false); |
1701 | 1702 |
1702 // This call is usually no-op since |this| object is already removed from the | 1703 // This call is usually no-op since |this| object is already removed from the |
1703 // Aura root window and we don't have a way to get an input method object | 1704 // Aura root window and we don't have a way to get an input method object |
1704 // associated with the window, but just in case. | 1705 // associated with the window, but just in case. |
1705 DetachFromInputMethod(); | 1706 DetachFromInputMethod(); |
1706 } | 1707 } |
1707 | 1708 |
1708 void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() { | 1709 void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() { |
1709 const gfx::Point screen_point = gfx::Screen::GetCursorScreenPoint(); | 1710 const gfx::Point screen_point = |
| 1711 gfx::Screen::GetScreenFor(GetNativeView())->GetCursorScreenPoint(); |
1710 aura::RootWindow* root_window = window_->GetRootWindow(); | 1712 aura::RootWindow* root_window = window_->GetRootWindow(); |
1711 if (!root_window) | 1713 if (!root_window) |
1712 return; | 1714 return; |
1713 | 1715 |
1714 gfx::Rect screen_rect = GetViewBounds(); | 1716 gfx::Rect screen_rect = GetViewBounds(); |
1715 gfx::Point local_point = screen_point; | 1717 gfx::Point local_point = screen_point; |
1716 local_point.Offset(-screen_rect.x(), -screen_rect.y()); | 1718 local_point.Offset(-screen_rect.x(), -screen_rect.y()); |
1717 | 1719 |
1718 if (root_window->GetEventHandlerForPoint(local_point) != window_) | 1720 if (root_window->GetEventHandlerForPoint(local_point) != window_) |
1719 return; | 1721 return; |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1874 RenderWidgetHost* widget) { | 1876 RenderWidgetHost* widget) { |
1875 return new RenderWidgetHostViewAura(widget); | 1877 return new RenderWidgetHostViewAura(widget); |
1876 } | 1878 } |
1877 | 1879 |
1878 // static | 1880 // static |
1879 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { | 1881 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { |
1880 GetScreenInfoForWindow(results, NULL); | 1882 GetScreenInfoForWindow(results, NULL); |
1881 } | 1883 } |
1882 | 1884 |
1883 } // namespace content | 1885 } // namespace content |
OLD | NEW |