Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / browser / time_zone_monitor_win.cc
blob2e8f9a56ed19ca8b5506a135419b771dde6f0286
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/browser/time_zone_monitor.h"
7 #include <windows.h>
9 #include "base/basictypes.h"
10 #include "ui/gfx/win/singleton_hwnd.h"
12 namespace content {
14 class TimeZoneMonitorWin : public TimeZoneMonitor,
15 public gfx::SingletonHwnd::Observer {
16 public:
17 TimeZoneMonitorWin() : TimeZoneMonitor() {
18 gfx::SingletonHwnd::GetInstance()->AddObserver(this);
21 virtual ~TimeZoneMonitorWin() {
22 gfx::SingletonHwnd::GetInstance()->RemoveObserver(this);
25 // gfx::SingletonHwnd::Observer implementation.
26 virtual void OnWndProc(HWND hwnd,
27 UINT message,
28 WPARAM wparam,
29 LPARAM lparam) override {
30 if (message != WM_TIMECHANGE) {
31 return;
34 NotifyRenderers();
37 private:
38 DISALLOW_COPY_AND_ASSIGN(TimeZoneMonitorWin);
41 // static
42 scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() {
43 return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorWin());
46 } // namespace content