| OLD | NEW |
| 1 // Copyright (c) 2009 The chrome Authors. All rights reserved. | 1 // Copyright (c) 2009 The chrome 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 // ----------------------------------------------------------------------------- | 5 // ----------------------------------------------------------------------------- |
| 6 // NOTE: If you change this file you need to touch renderer_resources.grd to | 6 // NOTE: If you change this file you need to touch renderer_resources.grd to |
| 7 // have your change take effect. | 7 // have your change take effect. |
| 8 // ----------------------------------------------------------------------------- | 8 // ----------------------------------------------------------------------------- |
| 9 | 9 |
| 10 // This script contains privileged chrome extension related javascript APIs. | 10 // This script contains privileged chrome extension related javascript APIs. |
| 11 // It is loaded by pages whose URL has the chrome-extension protocol. | 11 // It is loaded by pages whose URL has the chrome-extension protocol. |
| 12 | 12 |
| 13 var chrome = chrome || {}; | 13 var chrome = chrome || {}; |
| 14 (function() { | 14 (function() { |
| 15 native function StartRequest(); | 15 native function StartRequest(); |
| 16 native function GetCurrentPageActions(); | 16 native function GetCurrentPageActions(); |
| 17 native function GetViews(); | 17 native function GetViews(); |
| 18 native function GetChromeHidden(); | 18 native function GetChromeHidden(); |
| 19 native function GetNextRequestId(); | 19 native function GetNextRequestId(); |
| 20 native function OpenChannelToTab(); |
| 20 | 21 |
| 21 if (!chrome) | 22 if (!chrome) |
| 22 chrome = {}; | 23 chrome = {}; |
| 23 | 24 |
| 24 var chromeHidden = GetChromeHidden(); | 25 var chromeHidden = GetChromeHidden(); |
| 25 | 26 |
| 26 // Validate arguments. | 27 // Validate arguments. |
| 27 function validate(args, schemas) { | 28 function validate(args, schemas) { |
| 28 if (args.length > schemas.length) | 29 if (args.length > schemas.length) |
| 29 throw new Error("Too many arguments."); | 30 throw new Error("Too many arguments."); |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 chrome.tabs.detectLanguage = function(tabId, callback) { | 298 chrome.tabs.detectLanguage = function(tabId, callback) { |
| 298 validate(arguments, arguments.callee.params); | 299 validate(arguments, arguments.callee.params); |
| 299 sendRequest("tabs.detectLanguage", tabId, callback); | 300 sendRequest("tabs.detectLanguage", tabId, callback); |
| 300 }; | 301 }; |
| 301 | 302 |
| 302 chrome.tabs.detectLanguage.params = [ | 303 chrome.tabs.detectLanguage.params = [ |
| 303 chrome.types.optPInt, | 304 chrome.types.optPInt, |
| 304 chrome.types.optFun | 305 chrome.types.optFun |
| 305 ]; | 306 ]; |
| 306 | 307 |
| 308 chrome.tabs.connect = function(tabId, opt_name) { |
| 309 validate(arguments, arguments.callee.params); |
| 310 var portId = OpenChannelToTab(tabId, chrome.extension.id_, opt_name || ""); |
| 311 return chromeHidden.Port.createPort(portId, opt_name); |
| 312 }; |
| 313 |
| 314 chrome.tabs.connect.params = [ |
| 315 chrome.types.pInt, |
| 316 chrome.types.optStr |
| 317 ]; |
| 318 |
| 307 // Sends ({Tab}). | 319 // Sends ({Tab}). |
| 308 // Will *NOT* be followed by tab-attached - it is implied. | 320 // Will *NOT* be followed by tab-attached - it is implied. |
| 309 // *MAY* be followed by tab-selection-changed. | 321 // *MAY* be followed by tab-selection-changed. |
| 310 chrome.tabs.onCreated = new chrome.Event("tabs.onCreated"); | 322 chrome.tabs.onCreated = new chrome.Event("tabs.onCreated"); |
| 311 | 323 |
| 312 // Sends (tabId, {ChangedProps}). | 324 // Sends (tabId, {ChangedProps}). |
| 313 chrome.tabs.onUpdated = new chrome.Event("tabs.onUpdated"); | 325 chrome.tabs.onUpdated = new chrome.Event("tabs.onUpdated"); |
| 314 | 326 |
| 315 // Sends (tabId, {windowId, fromIndex, toIndex}). | 327 // Sends (tabId, {windowId, fromIndex, toIndex}). |
| 316 // Tabs can only "move" within a window. | 328 // Tabs can only "move" within a window. |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 | 536 |
| 525 //---------------------------------------------------------------------------- | 537 //---------------------------------------------------------------------------- |
| 526 | 538 |
| 527 // Self. | 539 // Self. |
| 528 chrome.self = chrome.self || {}; | 540 chrome.self = chrome.self || {}; |
| 529 | 541 |
| 530 chromeHidden.onLoad.addListener(function (extensionId) { | 542 chromeHidden.onLoad.addListener(function (extensionId) { |
| 531 chrome.extension = new chrome.Extension(extensionId); | 543 chrome.extension = new chrome.Extension(extensionId); |
| 532 // TODO(mpcomplete): self.onConnect is deprecated. Remove it at 1.0. | 544 // TODO(mpcomplete): self.onConnect is deprecated. Remove it at 1.0. |
| 533 // http://code.google.com/p/chromium/issues/detail?id=16356 | 545 // http://code.google.com/p/chromium/issues/detail?id=16356 |
| 534 chrome.self.onConnect = new chrome.Event("channel-connect:" + extensionId); | 546 chrome.self.onConnect = chrome.extension.onConnect; |
| 535 | 547 |
| 536 setupPageActionEvents(extensionId); | 548 setupPageActionEvents(extensionId); |
| 537 }); | 549 }); |
| 538 | 550 |
| 539 chrome.self.getViews = function() { | 551 chrome.self.getViews = function() { |
| 540 return GetViews(); | 552 return GetViews(); |
| 541 } | 553 } |
| 542 })(); | 554 })(); |
| OLD | NEW |