1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Custom binding for the pageActions API. 6 7var binding = require('binding').Binding.create('pageActions'); 8 9var Event = require('event_bindings').Event; 10var pageActionsNatives = requireNative('page_actions'); 11 12binding.registerCustomHook(function(bindingsAPI, extensionId) { 13 var pageActions = pageActionsNatives.GetCurrentPageActions(extensionId); 14 var pageActionsApi = bindingsAPI.compiledApi; 15 var oldStyleEventName = 'pageActions'; 16 for (var i = 0; i < pageActions.length; ++i) { 17 // Setup events for each extension_id/page_action_id string we find. 18 pageActionsApi[pageActions[i]] = new Event(oldStyleEventName); 19 } 20}); 21 22exports.binding = binding.generate(); 23