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

Unified Diff: ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc

Issue 2207043002: SetDeviceScaleFactorForTest Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: SetDeviceScaleFactorForTest Created 4 years, 4 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
Index: ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index d02a06c0be5b8d39b66ab5248d7d37d6047c079b..9870dab279e477787fa7cfa5ceba26fa2a422b7c 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -17,6 +17,7 @@
#include "ui/base/win/shell.h"
#include "ui/compositor/compositor_constants.h"
#include "ui/compositor/paint_context.h"
+#include "ui/display/display.h"
#include "ui/display/win/dpi.h"
#include "ui/display/win/screen_win.h"
#include "ui/gfx/geometry/insets.h"
@@ -87,9 +88,11 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
pending_close_(false),
has_non_client_view_(false),
tooltip_(NULL) {
+ display::Screen::GetScreen()->AddObserver(this);
}
DesktopWindowTreeHostWin::~DesktopWindowTreeHostWin() {
+ display::Screen::GetScreen()->RemoveObserver(this);
// WARNING: |content_window_| has been destroyed by the time we get here.
desktop_native_widget_aura_->OnDesktopWindowTreeHostDestroyed(this);
DestroyDispatcher();
@@ -599,6 +602,18 @@ void DesktopWindowTreeHostWin::OnWindowHidingAnimationCompleted() {
}
////////////////////////////////////////////////////////////////////////////////
+// DesktopWindowTreeHostWin, DisplayObserver implementation:
+void DesktopWindowTreeHostWin::OnDisplayMetricsChanged(
+ const display::Display& display,
+ uint32_t changed_metrics) {
+ display::Screen* screen = display::Screen::GetScreen();
+ if ((changed_metrics & DisplayObserver::DISPLAY_METRIC_DEVICE_SCALE_FACTOR) &&
+ screen->GetDisplayNearestWindow(window()).id() == display.id()) {
+ HandleWindowScaleFactorChanged(display.device_scale_factor());
+ }
+}
+
+////////////////////////////////////////////////////////////////////////////////
// DesktopWindowTreeHostWin, HWNDMessageHandlerDelegate implementation:
bool DesktopWindowTreeHostWin::HasNonClientView() const {

Powered by Google App Engine
This is Rietveld 408576698