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