Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / android / chromium_application.cc
1 // Copyright 2013 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 "chrome/browser/android/chromium_application.h"
6
7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h"
9 #include "chrome/browser/android/tab_android.h"
10 #include "chrome/common/chrome_content_client.h"
11 #include "content/public/browser/web_contents.h"
12 #include "jni/ChromiumApplication_jni.h"
13
14 using base::android::ConvertUTF8ToJavaString;
15
16 static jstring GetBrowserUserAgent(JNIEnv* env, jclass clazz) {
17   return ConvertUTF8ToJavaString(env, GetUserAgent()).Release();
18 }
19
20 namespace chrome {
21 namespace android {
22
23 // static
24 bool ChromiumApplication::RegisterBindings(JNIEnv* env) {
25   return RegisterNativesImpl(env);
26 }
27
28 void ChromiumApplication::OpenProtectedContentSettings() {
29   Java_ChromiumApplication_openProtectedContentSettings(
30       base::android::AttachCurrentThread(),
31       base::android::GetApplicationContext());
32 }
33
34 void ChromiumApplication::ShowSyncSettings() {
35   Java_ChromiumApplication_showSyncSettings(
36       base::android::AttachCurrentThread(),
37       base::android::GetApplicationContext());
38 }
39
40 void ChromiumApplication::ShowAutofillSettings() {
41   Java_ChromiumApplication_showAutofillSettings(
42       base::android::AttachCurrentThread(),
43       base::android::GetApplicationContext());
44 }
45
46 void ChromiumApplication::ShowPasswordSettings() {
47   Java_ChromiumApplication_showPasswordSettings(
48       base::android::AttachCurrentThread(),
49       base::android::GetApplicationContext());
50 }
51
52 void ChromiumApplication::ShowTermsOfServiceDialog() {
53   Java_ChromiumApplication_showTermsOfServiceDialog(
54       base::android::AttachCurrentThread(),
55       base::android::GetApplicationContext());
56 }
57
58 void ChromiumApplication::OpenClearBrowsingData(
59     content::WebContents* web_contents) {
60   TabAndroid* tab = TabAndroid::FromWebContents(web_contents);
61   DCHECK(tab);
62   Java_ChromiumApplication_openClearBrowsingData(
63       base::android::AttachCurrentThread(),
64       base::android::GetApplicationContext(),
65       tab->GetJavaObject().obj());
66 }
67
68 bool ChromiumApplication::AreParentalControlsEnabled() {
69   return Java_ChromiumApplication_areParentalControlsEnabled(
70       base::android::AttachCurrentThread(),
71       base::android::GetApplicationContext());
72 }
73
74 }  // namespace android
75 }  // namespace chrome