Index: chrome/browser/resources/settings/extension_control_browser_proxy.js |
diff --git a/chrome/browser/resources/settings/extension_control_browser_proxy.js b/chrome/browser/resources/settings/extension_control_browser_proxy.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..adbbd794efd8b29b8a263eafd8e29b3e39b62bf9 |
--- /dev/null |
+++ b/chrome/browser/resources/settings/extension_control_browser_proxy.js |
@@ -0,0 +1,42 @@ |
+// Copyright 2016 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. |
+ |
+cr.define('settings', function() { |
+ /** @interface */ |
+ function ExtensionControlBrowserProxy() {} |
+ |
+ ExtensionControlBrowserProxy.prototype = { |
+ // TODO(dbeam): should be be returning !Promise<boolean> to indicate whether |
+ // it succeeded? |
+ /** @param {string} extensionId */ |
+ disableExtension: assertNotReached, |
+ |
+ /** @param {string} extensionId */ |
+ manageExtension: assertNotReached, |
+ }; |
+ |
+ /** |
+ * @implements {settings.ExtensionControlBrowserProxy} |
+ * @constructor |
+ */ |
+ function ExtensionControlBrowserProxyImpl() {} |
+ cr.addSingletonGetter(ExtensionControlBrowserProxyImpl); |
+ |
+ ExtensionControlBrowserProxyImpl.prototype = { |
+ /** @override */ |
+ disableExtension: function(extensionId) { |
+ chrome.send('disableExtension', [extensionId]); |
+ }, |
+ |
+ /** @override */ |
+ manageExtension: function(extensionId) { |
+ window.open('chrome://extensions?id=' + extensionId); |
+ }, |
+ }; |
+ |
+ return { |
+ ExtensionControlBrowserProxy: ExtensionControlBrowserProxy, |
+ ExtensionControlBrowserProxyImpl: ExtensionControlBrowserProxyImpl, |
+ }; |
+}); |