Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / content / browser / time_zone_monitor_android.cc
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_android.h"
6
7 #include "base/android/jni_android.h"
8 #include "jni/TimeZoneMonitor_jni.h"
9
10 namespace content {
11
12 TimeZoneMonitorAndroid::TimeZoneMonitorAndroid() : TimeZoneMonitor() {
13   impl_.Reset(Java_TimeZoneMonitor_getInstance(
14       base::android::AttachCurrentThread(),
15       base::android::GetApplicationContext(),
16       reinterpret_cast<intptr_t>(this)));
17 }
18
19 TimeZoneMonitorAndroid::~TimeZoneMonitorAndroid() {
20   Java_TimeZoneMonitor_stop(base::android::AttachCurrentThread(), impl_.obj());
21 }
22
23 // static
24 bool TimeZoneMonitorAndroid::Register(JNIEnv* env) {
25   return RegisterNativesImpl(env);
26 }
27
28 void TimeZoneMonitorAndroid::TimeZoneChangedFromJava(JNIEnv* env,
29                                                      jobject caller) {
30   NotifyRenderers();
31 }
32
33 // static
34 scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() {
35   return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorAndroid());
36 }
37
38 }  // namespace content