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 #import <Foundation/Foundation.h> | 5 #import <Foundation/Foundation.h> |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "content/browser/time_zone_monitor.h" | 8 #include "content/browser/time_zone_monitor.h" |
9 | 9 |
10 namespace content { | 10 namespace content { |
11 | 11 |
12 class TimeZoneMonitorMac : public TimeZoneMonitor { | 12 class TimeZoneMonitorMac : public TimeZoneMonitor { |
13 public: | 13 public: |
14 TimeZoneMonitorMac() : TimeZoneMonitor() { | 14 TimeZoneMonitorMac() : TimeZoneMonitor() { |
15 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; | 15 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; |
16 notification_observer_ = | 16 notification_observer_ = |
17 [nc addObserverForName:NSSystemTimeZoneDidChangeNotification | 17 [nc addObserverForName:NSSystemTimeZoneDidChangeNotification |
18 object:nil | 18 object:nil |
19 queue:nil | 19 queue:nil |
20 usingBlock:^(NSNotification* notification) { | 20 usingBlock:^(NSNotification* notification) { |
21 NotifyRenderers(); | 21 NotifyClients(); |
22 }]; | 22 }]; |
23 } | 23 } |
24 | 24 |
25 ~TimeZoneMonitorMac() override { | 25 ~TimeZoneMonitorMac() override { |
26 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; | 26 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; |
27 [nc removeObserver:notification_observer_]; | 27 [nc removeObserver:notification_observer_]; |
28 } | 28 } |
29 | 29 |
30 private: | 30 private: |
31 id notification_observer_; | 31 id notification_observer_; |
32 | 32 |
33 DISALLOW_COPY_AND_ASSIGN(TimeZoneMonitorMac); | 33 DISALLOW_COPY_AND_ASSIGN(TimeZoneMonitorMac); |
34 }; | 34 }; |
35 | 35 |
36 // static | 36 // static |
37 std::unique_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() { | 37 std::unique_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() { |
38 return std::unique_ptr<TimeZoneMonitor>(new TimeZoneMonitorMac()); | 38 return std::unique_ptr<TimeZoneMonitor>(new TimeZoneMonitorMac()); |
39 } | 39 } |
40 | 40 |
41 } // namespace content | 41 } // namespace content |
OLD | NEW |