OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/time_zone_monitor.h" | 5 #include "content/browser/time_zone_monitor.h" |
6 | 6 |
7 #import <Foundation/Foundation.h> | 7 #import <Foundation/Foundation.h> |
8 | 8 |
9 namespace content { | 9 namespace content { |
10 | 10 |
11 class TimeZoneMonitorMac : public TimeZoneMonitor { | 11 class TimeZoneMonitorMac : public TimeZoneMonitor { |
12 public: | 12 public: |
13 TimeZoneMonitorMac() : TimeZoneMonitor() { | 13 TimeZoneMonitorMac() : TimeZoneMonitor() { |
14 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; | 14 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; |
15 notification_observer_ = | 15 notification_observer_ = |
16 [nc addObserverForName:NSSystemTimeZoneDidChangeNotification | 16 [nc addObserverForName:NSSystemTimeZoneDidChangeNotification |
17 object:nil | 17 object:nil |
18 queue:nil | 18 queue:nil |
19 usingBlock:^(NSNotification* notification) { | 19 usingBlock:^(NSNotification* notification) { |
20 NotifyRenderers(); | 20 NotifyRenderers(); |
21 }]; | 21 }]; |
22 } | 22 } |
23 | 23 |
24 virtual ~TimeZoneMonitorMac() { | 24 ~TimeZoneMonitorMac() override { |
25 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; | 25 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; |
26 [nc removeObserver:notification_observer_]; | 26 [nc removeObserver:notification_observer_]; |
27 } | 27 } |
28 | 28 |
29 private: | 29 private: |
30 id notification_observer_; | 30 id notification_observer_; |
31 | 31 |
32 DISALLOW_COPY_AND_ASSIGN(TimeZoneMonitorMac); | 32 DISALLOW_COPY_AND_ASSIGN(TimeZoneMonitorMac); |
33 }; | 33 }; |
34 | 34 |
35 // static | 35 // static |
36 scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() { | 36 scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() { |
37 return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorMac()); | 37 return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorMac()); |
38 } | 38 } |
39 | 39 |
40 } // namespace content | 40 } // namespace content |
OLD | NEW |