| // Copyright (c) 2012 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. |
| |
| // Custom binding for the pageActions API. |
| |
| var binding = require('binding').Binding.create('pageActions'); |
| |
| var Event = require('event_bindings').Event; |
| var pageActionsNatives = requireNative('page_actions'); |
| |
| binding.registerCustomHook(function(bindingsAPI, extensionId) { |
| var pageActions = pageActionsNatives.GetCurrentPageActions(extensionId); |
| var pageActionsApi = bindingsAPI.compiledApi; |
| var oldStyleEventName = 'pageActions'; |
| for (var i = 0; i < pageActions.length; ++i) { |
| // Setup events for each extension_id/page_action_id string we find. |
| pageActionsApi[pageActions[i]] = new Event(oldStyleEventName); |
| } |
| }); |
| |
| exports.binding = binding.generate(); |