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