blob: 700c17e6c588eeabd1fadef5b1273e7e4a3d4aa9 [file] [log] [blame]
[email protected]8b03c072014-04-30 15:49:251// 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.
4
5#include "content/browser/time_zone_monitor.h"
6
7#import <Foundation/Foundation.h>
8
9namespace content {
10
11class TimeZoneMonitorMac : public TimeZoneMonitor {
12 public:
13 TimeZoneMonitorMac() : TimeZoneMonitor() {
14 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter];
15 notification_observer_ =
16 [nc addObserverForName:NSSystemTimeZoneDidChangeNotification
17 object:nil
18 queue:nil
19 usingBlock:^(NSNotification* notification) {
20 NotifyRenderers();
21 }];
22 }
23
dchengc2282aa2014-10-21 12:07:5824 ~TimeZoneMonitorMac() override {
[email protected]8b03c072014-04-30 15:49:2525 NSNotificationCenter* nc = [NSNotificationCenter defaultCenter];
26 [nc removeObserver:notification_observer_];
27 }
28
29 private:
30 id notification_observer_;
31
32 DISALLOW_COPY_AND_ASSIGN(TimeZoneMonitorMac);
33};
34
35// static
36scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() {
37 return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorMac());
38}
39
40} // namespace content