| Index: ui/display/win/screen_win.cc
|
| diff --git a/ui/display/win/screen_win.cc b/ui/display/win/screen_win.cc
|
| index f585989bb0b70cff6c1d3b3ac2d2cbeed66da1bf..8e121b08a9fd9a67192737e53aacb0613c57d31b 100644
|
| --- a/ui/display/win/screen_win.cc
|
| +++ b/ui/display/win/screen_win.cc
|
| @@ -211,10 +211,14 @@ gfx::Point ScalePointRelative(const gfx::Point& from_origin,
|
|
|
| } // namespace
|
|
|
| -ScreenWin::ScreenWin() {
|
| +ScreenWin::ScreenWin() : ScreenWin(true) {}
|
| +
|
| +ScreenWin::ScreenWin(bool initialize)
|
| + : color_profile_reader_(new ColorProfileReader(this)) {
|
| DCHECK(!g_screen_win_instance);
|
| g_screen_win_instance = this;
|
| - Initialize();
|
| + if (initialize)
|
| + Initialize();
|
| }
|
|
|
| ScreenWin::~ScreenWin() {
|
| @@ -457,6 +461,7 @@ void ScreenWin::UpdateFromDisplayInfos(
|
| }
|
|
|
| void ScreenWin::Initialize() {
|
| + color_profile_reader_->UpdateIfNeeded();
|
| singleton_hwnd_observer_.reset(
|
| new gfx::SingletonHwndObserver(
|
| base::Bind(&ScreenWin::OnWndProc, base::Unretained(this))));
|
| @@ -499,11 +504,16 @@ void ScreenWin::OnWndProc(HWND hwnd,
|
| !(message == WM_SETTINGCHANGE && wparam == SPI_SETWORKAREA))
|
| return;
|
|
|
| + color_profile_reader_->UpdateIfNeeded();
|
| std::vector<Display> old_displays = std::move(displays_);
|
| UpdateFromDisplayInfos(GetDisplayInfosFromSystem());
|
| change_notifier_.NotifyDisplaysChanged(old_displays, displays_);
|
| }
|
|
|
| +void ScreenWin::OnColorProfilesChanged() {
|
| + // TODO(ccameron): Re-build the display list here.
|
| +}
|
| +
|
| ScreenWinDisplay ScreenWin::GetScreenWinDisplayNearestHWND(HWND hwnd)
|
| const {
|
| return GetScreenWinDisplay(MonitorInfoFromWindow(hwnd,
|
|
|