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 3 // found in the LICENSE file. 4 5 #include "content/browser/time_zone_monitor.h" 6 7 #import <Foundation/Foundation.h> 8 9 namespace content { 10 11 class 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 24 virtual ~TimeZoneMonitorMac() { 25 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 36 scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() { 37 return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorMac()); 38 } 39 40 } // namespace content 41