summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/extensions_ui.html
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/resources/extensions_ui.html')
-rw-r--r--chrome/browser/resources/extensions_ui.html34
1 files changed, 34 insertions, 0 deletions
diff --git a/chrome/browser/resources/extensions_ui.html b/chrome/browser/resources/extensions_ui.html
index 39a6956..465fdcc 100644
--- a/chrome/browser/resources/extensions_ui.html
+++ b/chrome/browser/resources/extensions_ui.html
@@ -349,6 +349,7 @@ var extensionDataFormat = {
"description": "Extension long format description",
"version": "1.0.231",
"enabled": "true",
+ "enabledIncognito": "false",
"allow_reload": true,
"order": 1,
"options_url": "options.html",
@@ -388,6 +389,7 @@ var extensionDataFormat = {
"description": "Extension long format description",
"version": "1.0.231",
"enabled": "true",
+ "enabledIncognito": "false",
"allow_reload": false,
"order": 2,
"icon": "",
@@ -427,6 +429,9 @@ function toggleDevModeExpanded() {
chrome.send('toggleDeveloperMode', []);
}
+// Experimental flag that enables toggling an extension as incognito enabled.
+var experimentalIncognito = false;
+
/**
* Takes the |extensionsData| input argument which represents data about the
* currently installed/running extensions and populates the html jstemplate with
@@ -475,6 +480,7 @@ var rendered_once_ = false;
function returnExtensionsData(extensionsData){
domui_responded_ = true;
devModeExpanded = extensionsData.developerMode;
+ experimentalIncognito = extensionsData.experimentalIncognito;
var bodyContainer = document.getElementById('body-container');
var body = document.getElementsByTagName('body')[0];
@@ -549,6 +555,19 @@ function handleEnableExtension(node, enable) {
}
/**
+ * Handles a 'enableIncognito' or 'disableIncognito' button getting clicked.
+ */
+function handleEnableExtensionIncognito(node, enable) {
+ // Tell the C++ ExtensionDOMHandler to reload the extension.
+ if (enable && !node.incognitoSafe) {
+ if (!confirm(templateData["enableIncognitoWarning"]))
+ return;
+ }
+ chrome.send('enableIncognito', [node.extensionId, String(enable)]);
+ requestExtensionsData();
+}
+
+/**
* Handles an 'uninstall' button getting clicked.
*/
function handleUninstallExtension(node) {
@@ -815,6 +834,21 @@ function autoUpdate() {
>RELOAD</a>
<span jsdisplay="enabled && allow_reload">-</span>
<a
+ jsvalues=".extensionId:id;.enabled:enabled"
+ jsdisplay="enabled && enabledIncognito && experimentalIncognito"
+ onclick="handleEnableExtensionIncognito(this, false)"
+ href="javascript:void();"
+ i18n-content="disableIncognito"
+ >DISABLE INCOGNITO</a>
+ <a
+ jsvalues=".extensionId:id;.enabled=enabled"
+ jsdisplay="enabled && !enabledIncognito && experimentalIncognito"
+ onclick="handleEnableExtensionIncognito(this, true)"
+ href="javascript:void();"
+ i18n-content="enableIncognito"
+ >ENABLE INCOGNITO</a>
+ <span jsdisplay="enabled && experimentalIncognito">-</span>
+ <a
jsvalues=".extensionId:id"
jsdisplay="enabled"
onclick="handleEnableExtension(this, false)"