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

Unified Diff: content/browser/renderer_host/render_widget_host_view_mac.mm

Issue 2739113002: Simplify calls for scale factor (Closed)
Patch Set: fix mac tests Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_mac.h ('k') | ui/aura/mus/window_tree_client.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_);
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_mac.h ('k') | ui/aura/mus/window_tree_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698