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 #include "chromeos/settings/timezone_settings.h" 8 9 namespace content { 10 11 class TimeZoneMonitorChromeOS 12 : public TimeZoneMonitor, 13 public chromeos::system::TimezoneSettings::Observer { 14 public: TimeZoneMonitorChromeOS()15 TimeZoneMonitorChromeOS() : TimeZoneMonitor() { 16 chromeos::system::TimezoneSettings::GetInstance()->AddObserver(this); 17 } 18 ~TimeZoneMonitorChromeOS()19 virtual ~TimeZoneMonitorChromeOS() { 20 chromeos::system::TimezoneSettings::GetInstance()->RemoveObserver(this); 21 } 22 23 // chromeos::system::TimezoneSettings::Observer implementation. TimezoneChanged(const icu::TimeZone & time_zone)24 virtual void TimezoneChanged(const icu::TimeZone& time_zone) OVERRIDE { 25 NotifyRenderers(); 26 } 27 28 private: 29 DISALLOW_COPY_AND_ASSIGN(TimeZoneMonitorChromeOS); 30 }; 31 32 // static Create()33scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() { 34 return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorChromeOS()); 35 } 36 37 } // namespace content 38