| Index: chrome/renderer/resources/extensions/browser_action_custom_bindings.js
|
| diff --git a/chrome/renderer/resources/extensions/browser_action_custom_bindings.js b/chrome/renderer/resources/extensions/browser_action_custom_bindings.js
|
| index d90ab18235c3e7ac53f9429e0b8c9edc1c44ffa8..97720c560e8ccbdbcdbf46aed2ea99f25111b19e 100644
|
| --- a/chrome/renderer/resources/extensions/browser_action_custom_bindings.js
|
| +++ b/chrome/renderer/resources/extensions/browser_action_custom_bindings.js
|
| @@ -7,6 +7,7 @@
|
| var binding = require('binding').Binding.create('browserAction');
|
|
|
| var setIcon = require('setIcon').setIcon;
|
| +var getExtensionViews = requireNative('extension').GetExtensionViews;
|
|
|
| binding.registerCustomHook(function(bindingsAPI) {
|
| var apiFunctions = bindingsAPI.apiFunctions;
|
| @@ -15,6 +16,16 @@ binding.registerCustomHook(function(bindingsAPI) {
|
| setIcon(details, callback, this.name, this.definition.parameters,
|
| 'browser action');
|
| });
|
| +
|
| + apiFunctions.setCustomCallback('openPopup',
|
| + function(name, request, response) {
|
| + if (!request.callback)
|
| + return;
|
| +
|
| + var views = getExtensionViews(-1, 'POPUP');
|
| + request.callback(views.length > 0 ? views[0] : null);
|
| + request.callback = null;
|
| + });
|
| });
|
|
|
| exports.binding = binding.generate();
|
|
|