Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / android / chromium_application.h
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 #ifndef CHROME_BROWSER_ANDROID_CHROMIUM_APPLICATION_H_
6 #define CHROME_BROWSER_ANDROID_CHROMIUM_APPLICATION_H_
7
8 #include <jni.h>
9
10 #include "base/basictypes.h"
11
12 namespace content {
13 class WebContents;
14 }
15
16 namespace chrome {
17 namespace android {
18
19 // Represents Android Chromium Application. This is a singleton and
20 // provides functions to request browser side actions, such as opening a
21 // settings page.
22 class ChromiumApplication {
23  public:
24   static bool RegisterBindings(JNIEnv* env);
25
26   // Opens a protected content settings page, if available.
27   static void OpenProtectedContentSettings();
28
29   // Opens the sync settings page.
30   static void ShowSyncSettings();
31
32   // Opens the autofill settings page.
33   static void ShowAutofillSettings();
34
35   // Shows a dialog with the terms of service.
36   static void ShowTermsOfServiceDialog();
37
38   // Open the clear browsing data UI.
39   static void OpenClearBrowsingData(content::WebContents* web_contents);
40
41   // Determines whether parental controls are enabled.
42   static bool AreParentalControlsEnabled();
43
44  private:
45   ChromiumApplication() {}
46   ~ChromiumApplication() {}
47
48   DISALLOW_COPY_AND_ASSIGN(ChromiumApplication);
49 };
50
51 }  // namespace android
52 }  // namespace chrome
53
54 #endif  // CHROME_BROWSER_ANDROID_CHROMIUM_APPLICATION_H_