Home | History | Annotate | Download | only in extensions
      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 
      7 var binding = require('binding').Binding.create('pageActions');
      8 
      9 var Event = require('event_bindings').Event;
     10 var pageActionsNatives = requireNative('page_actions');
     11 
     12 binding.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 
     22 exports.binding = binding.generate();
     23