Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: chrome/renderer/resources/extension_process_bindings.js

Issue 62178: Flesh out more extensions tab api (added removeTab, updateTab) (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 var chromium; 1 var chromium;
2 (function() { 2 (function() {
3 if (!chromium) 3 if (!chromium)
4 chromium = {}; 4 chromium = {};
5 5
6 // callback handling 6 // callback handling
7 var callbacks = []; 7 var callbacks = [];
8 chromium._dispatchCallback = function(callbackId, str) { 8 chromium._dispatchCallback = function(callbackId, str) {
9 callbacks[callbackId](goog.json.parse(str)); 9 try {
10 delete callbacks[callbackId]; 10 if (str) {
11 callbacks[callbackId](goog.json.parse(str));
12 } else {
13 callbacks[callbackId]();
14 }
15 } finally {
16 delete callbacks[callbackId];
17 }
11 }; 18 };
12 19
13 // Send an API request and optionally register a callback. 20 // Send an API request and optionally register a callback.
14 function sendRequest(request, args, callback) { 21 function sendRequest(request, args, callback) {
15 var sargs = goog.json.serialize(args); 22 var sargs = goog.json.serialize(args);
16 var callbackId = -1; 23 var callbackId = -1;
17 if (callback) { 24 if (callback) {
18 native function GetNextCallbackId(); 25 native function GetNextCallbackId();
19 callbackId = GetNextCallbackId(); 26 callbackId = GetNextCallbackId();
20 callbacks[callbackId] = callback; 27 callbacks[callbackId] = callback;
21 } 28 }
22 request(sargs, callbackId); 29 request(sargs, callbackId);
23 } 30 }
24 31
25 // Tabs 32 // Tabs
26 chromium.tabs = {}; 33 chromium.tabs = {};
27 // TODO(aa): This should eventually take an optional windowId param. 34 // TODO(aa): This should eventually take an optional windowId param.
28 chromium.tabs.getTabsForWindow = function(callback) { 35 chromium.tabs.getTabsForWindow = function(callback) {
29 native function GetTabsForWindow(); 36 native function GetTabsForWindow();
30 sendRequest(GetTabsForWindow, null, callback); 37 sendRequest(GetTabsForWindow, null, callback);
31 }; 38 };
39 chromium.tabs.getTab = function(tabId, callback) {
40 native function GetTab();
41 sendRequest(GetTab, tabId, callback);
42 };
32 chromium.tabs.createTab = function(tab, callback) { 43 chromium.tabs.createTab = function(tab, callback) {
33 native function CreateTab(); 44 native function CreateTab();
34 sendRequest(CreateTab, tab, callback); 45 sendRequest(CreateTab, tab, callback);
35 }; 46 };
47 chromium.tabs.updateTab = function(tab) {
48 native function UpdateTab();
49 sendRequest(UpdateTab, tab);
50 };
51 chromium.tabs.removeTab = function(tabId) {
52 native function RemoveTab();
53 sendRequest(RemoveTab, tabId);
54 };
36 })(); 55 })();
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_tabs_module.cc ('k') | chrome/test/data/extensions/test/TabsAPI/1/jstemplate_compiled.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698