blob: 0f9e309a21674f79493703106991ef02bd8abb69 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser;
import org.chromium.base.CalledByNative;
import org.chromium.content.app.ContentApplication;
/**
* Basic application functionality that should be shared among all browser applications that use
* chrome layer.
*/
public abstract class ChromiumApplication extends ContentApplication {
@Override
public void onCreate() {
super.onCreate();
ChromeVersionInfo.init(this);
}
/**
* Opens a protected content settings page, if available.
*/
@CalledByNative
protected abstract void openProtectedContentSettings();
@CalledByNative
protected abstract void showSyncSettings();
@CalledByNative
protected abstract void showAutofillSettings();
@CalledByNative
protected abstract void showPasswordSettings();
@CalledByNative
protected abstract void showTermsOfServiceDialog();
/**
* Opens the UI to clear browsing data.
* @param tab The tab that triggered the request.
*/
@CalledByNative
protected abstract void openClearBrowsingData(Tab tab);
/**
* @return Whether parental controls are enabled. Returning true will disable
* incognito mode.
*/
@CalledByNative
protected abstract boolean areParentalControlsEnabled();
// TODO(yfriedman): This is too widely available. Plumb this through ChromeNetworkDelegate
// instead.
protected abstract PKCS11AuthenticationManager getPKCS11AuthenticationManager();
}