• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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