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 5package org.chromium.chrome.browser; 6 7import org.chromium.base.CalledByNative; 8import 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 */ 14public 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} 48