| 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 |