Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
| diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| index b7b6e741b5555a87b1855b7694a229053d5fa045..88a50beb14059439bac21f6d4c1234502c5a1307 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| @@ -75,7 +75,6 @@ |
| #include "ui/base/cocoa/cocoa_base_utils.h" |
| #import "ui/base/cocoa/fullscreen_window_manager.h" |
| #import "ui/base/cocoa/underlay_opengl_hosting_window.h" |
| -#include "ui/base/layout.h" |
| #include "ui/compositor/compositor.h" |
| #include "ui/compositor/layer.h" |
| #include "ui/display/display.h" |
| @@ -475,7 +474,10 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget, |
| new BrowserCompositorMac(this, this, render_widget_host_->is_hidden(), |
| [cocoa_view_ window], frame_sink_id)); |
| - display::Screen::GetScreen()->AddObserver(this); |
| + display::Screen* screen = display::Screen::GetScreen(); |
| + device_scale_factor_ = |
| + screen->GetDisplayNearestWindow(cocoa_view_).device_scale_factor(); |
| + screen->AddObserver(this); |
| if (!is_guest_view_hack_) |
| render_widget_host_->SetView(this); |
| @@ -689,10 +691,6 @@ int RenderWidgetHostViewMac::window_number() const { |
| return [window windowNumber]; |
| } |
| -float RenderWidgetHostViewMac::ViewScaleFactor() const { |
| - return ui::GetScaleFactorForNativeView(cocoa_view_); |
| -} |
| - |
| void RenderWidgetHostViewMac::UpdateDisplayLink() { |
| static bool is_vsync_disabled = |
| base::CommandLine::ForCurrentProcess()->HasSwitch( |
| @@ -1523,14 +1521,13 @@ cc::FrameSinkId RenderWidgetHostViewMac::FrameSinkIdAtPoint( |
| gfx::Point* transformed_point) { |
| // The surface hittest happens in device pixels, so we need to convert the |
| // |point| from DIPs to pixels before hittesting. |
| - float scale_factor = display::Screen::GetScreen() |
| - ->GetDisplayNearestWindow(cocoa_view_) |
| - .device_scale_factor(); |
| - gfx::Point point_in_pixels = gfx::ConvertPointToPixel(scale_factor, point); |
| + gfx::Point point_in_pixels = |
| + gfx::ConvertPointToPixel(device_scale_factor_, point); |
| cc::SurfaceId id = |
| browser_compositor_->GetDelegatedFrameHost()->SurfaceIdAtPoint( |
| delegate, point_in_pixels, transformed_point); |
| - *transformed_point = gfx::ConvertPointToDIP(scale_factor, *transformed_point); |
| + *transformed_point = |
| + gfx::ConvertPointToDIP(device_scale_factor_, *transformed_point); |
| // It is possible that the renderer has not yet produced a surface, in which |
| // case we return our current namespace. |
| @@ -1580,15 +1577,14 @@ bool RenderWidgetHostViewMac::TransformPointToLocalCoordSpace( |
| gfx::Point* transformed_point) { |
| // Transformations use physical pixels rather than DIP, so conversion |
| // is necessary. |
| - float scale_factor = display::Screen::GetScreen() |
| - ->GetDisplayNearestWindow(cocoa_view_) |
| - .device_scale_factor(); |
| - gfx::Point point_in_pixels = gfx::ConvertPointToPixel(scale_factor, point); |
| + gfx::Point point_in_pixels = |
| + gfx::ConvertPointToPixel(device_scale_factor_, point); |
| if (!browser_compositor_->GetDelegatedFrameHost() |
| ->TransformPointToLocalCoordSpace(point_in_pixels, original_surface, |
| transformed_point)) |
| return false; |
| - *transformed_point = gfx::ConvertPointToDIP(scale_factor, *transformed_point); |
| + *transformed_point = |
| + gfx::ConvertPointToDIP(device_scale_factor_, *transformed_point); |
| return true; |
| } |
| @@ -1733,8 +1729,9 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
| if (changed_metrics & DisplayObserver::DISPLAY_METRIC_DEVICE_SCALE_FACTOR) { |
| RenderWidgetHostImpl* host = |
| RenderWidgetHostImpl::From(GetRenderWidgetHost()); |
| + device_scale_factor_ = display.device_scale_factor(); |
|
tapted
2017/03/13 00:02:33
This isn't quite the same. OnDisplayMetricsChanged
Jinsuk Kim
2017/03/13 00:25:01
Reverted the change. Removed an unused method only
|
| if (host && host->delegate()) |
| - host->delegate()->UpdateDeviceScaleFactor(display.device_scale_factor()); |
| + host->delegate()->UpdateDeviceScaleFactor(device_scale_factor_); |
| } |
| UpdateScreenInfo(cocoa_view_); |