Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / android / java / src / org / chromium / chrome / browser / ChromiumApplication.java
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 package org.chromium.chrome.browser;
6
7 import org.chromium.base.CalledByNative;
8 import org.chromium.content.app.ContentApplication;
9
10 /**
11  * Basic application functionality that should be shared among all browser applications that use
12  * chrome layer.
13  */
14 public abstract class ChromiumApplication extends ContentApplication {
15     /**
16      * Opens a protected content settings page, if available.
17      */
18     @CalledByNative
19     protected abstract void openProtectedContentSettings();
20
21     @CalledByNative
22     protected abstract void showSyncSettings();
23
24     @CalledByNative
25     protected abstract void showAutofillSettings();
26
27     @CalledByNative
28     protected abstract void showTermsOfServiceDialog();
29
30     /**
31      * Opens the UI to clear browsing data.
32      * @param tab The tab that triggered the request.
33      */
34     @CalledByNative
35     protected abstract void openClearBrowsingData(Tab tab);
36
37     /**
38      * @return Whether parental controls are enabled.  Returning true will disable
39      *         incognito mode.
40      */
41     @CalledByNative
42     protected abstract boolean areParentalControlsEnabled();
43
44     // TODO(yfriedman): This is too widely available. Plumb this through ChromeNetworkDelegate
45     // instead.
46     protected abstract PKCS11AuthenticationManager getPKCS11AuthenticationManager();
47 }