Home | History | Annotate | Download | only in browser
      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