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

Side by Side Diff: chrome/renderer/resources/extensions/miscellaneous_bindings.js

Issue 17451011: Make the externally connectable browser test clobber all of the builtins, (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: hopefully fix tests Created 7 years, 6 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 // 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 // This contains unprivileged javascript APIs for extensions and apps. It 5 // This contains unprivileged javascript APIs for extensions and apps. It
6 // can be loaded by any extension-related context, such as content scripts or 6 // can be loaded by any extension-related context, such as content scripts or
7 // background pages. See user_script_slave.cc for script that is loaded by 7 // background pages. See user_script_slave.cc for script that is loaded by
8 // content scripts only. 8 // content scripts only.
9 9
10 // TODO(kalman): factor requiring chrome out of here. 10 // TODO(kalman): factor requiring chrome out of here.
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 91
92 // Helper function for dispatchOnRequest. 92 // Helper function for dispatchOnRequest.
93 function handleSendRequestError(isSendMessage, 93 function handleSendRequestError(isSendMessage,
94 responseCallbackPreserved, 94 responseCallbackPreserved,
95 sourceExtensionId, 95 sourceExtensionId,
96 targetExtensionId, 96 targetExtensionId,
97 sourceUrl) { 97 sourceUrl) {
98 var errorMsg = []; 98 var errorMsg = [];
99 var eventName = isSendMessage ? "runtime.onMessage" : "extension.onRequest"; 99 var eventName = isSendMessage ? "runtime.onMessage" : "extension.onRequest";
100 if (isSendMessage && !responseCallbackPreserved) { 100 if (isSendMessage && !responseCallbackPreserved) {
101 errorMsg.push( 101 $Array.push(errorMsg,
102 "The chrome." + eventName + " listener must return true if you " + 102 "The chrome." + eventName + " listener must return true if you " +
103 "want to send a response after the listener returns"); 103 "want to send a response after the listener returns");
104 } else { 104 } else {
105 errorMsg.push( 105 $Array.push(errorMsg,
106 "Cannot send a response more than once per chrome." + eventName + 106 "Cannot send a response more than once per chrome." + eventName +
107 " listener per document"); 107 " listener per document");
108 } 108 }
109 errorMsg.push("(message was sent by extension" + sourceExtensionId); 109 $Array.push(errorMsg, "(message was sent by extension" + sourceExtensionId);
110 if (sourceExtensionId != "" && sourceExtensionId != targetExtensionId) 110 if (sourceExtensionId != "" && sourceExtensionId != targetExtensionId)
111 errorMsg.push("for extension " + targetExtensionId); 111 $Array.push(errorMsg, "for extension " + targetExtensionId);
112 if (sourceUrl != "") 112 if (sourceUrl != "")
113 errorMsg.push("for URL " + sourceUrl); 113 $Array.push(errorMsg, "for URL " + sourceUrl);
114 lastError.set(eventName, errorMsg.join(" ") + ").", null, chrome); 114 lastError.set(eventName, errorMsg.join(" ") + ").", null, chrome);
115 } 115 }
116 116
117 // Helper function for dispatchOnConnect 117 // Helper function for dispatchOnConnect
118 function dispatchOnRequest(portId, channelName, sender, 118 function dispatchOnRequest(portId, channelName, sender,
119 sourceExtensionId, targetExtensionId, sourceUrl, 119 sourceExtensionId, targetExtensionId, sourceUrl,
120 isExternal) { 120 isExternal) {
121 var isSendMessage = channelName == kMessageChannel; 121 var isSendMessage = channelName == kMessageChannel;
122 var requestEvent = null; 122 var requestEvent = null;
123 if (isSendMessage) { 123 if (isSendMessage) {
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 port = null; 305 port = null;
306 } 306 }
307 }); 307 });
308 }; 308 };
309 309
310 function sendMessageUpdateArguments(functionName) { 310 function sendMessageUpdateArguments(functionName) {
311 // Align missing (optional) function arguments with the arguments that 311 // Align missing (optional) function arguments with the arguments that
312 // schema validation is expecting, e.g. 312 // schema validation is expecting, e.g.
313 // extension.sendRequest(req) -> extension.sendRequest(null, req) 313 // extension.sendRequest(req) -> extension.sendRequest(null, req)
314 // extension.sendRequest(req, cb) -> extension.sendRequest(null, req, cb) 314 // extension.sendRequest(req, cb) -> extension.sendRequest(null, req, cb)
315 var args = Array.prototype.splice.call(arguments, 1); // skip functionName 315 var args = $Array.splice(arguments, 1); // skip functionName
316 var lastArg = args.length - 1; 316 var lastArg = args.length - 1;
317 317
318 // responseCallback (last argument) is optional. 318 // responseCallback (last argument) is optional.
319 var responseCallback = null; 319 var responseCallback = null;
320 if (typeof(args[lastArg]) == 'function') 320 if (typeof(args[lastArg]) == 'function')
321 responseCallback = args[lastArg--]; 321 responseCallback = args[lastArg--];
322 322
323 // request (second argument) is required. 323 // request (second argument) is required.
324 var request = args[lastArg--]; 324 var request = args[lastArg--];
325 325
(...skipping 13 matching lines...) Expand all
339 exports.Port = Port; 339 exports.Port = Port;
340 exports.createPort = createPort; 340 exports.createPort = createPort;
341 exports.sendMessageImpl = sendMessageImpl; 341 exports.sendMessageImpl = sendMessageImpl;
342 exports.sendMessageUpdateArguments = sendMessageUpdateArguments; 342 exports.sendMessageUpdateArguments = sendMessageUpdateArguments;
343 343
344 // For C++ code to call. 344 // For C++ code to call.
345 exports.hasPort = hasPort; 345 exports.hasPort = hasPort;
346 exports.dispatchOnConnect = dispatchOnConnect; 346 exports.dispatchOnConnect = dispatchOnConnect;
347 exports.dispatchOnDisconnect = dispatchOnDisconnect; 347 exports.dispatchOnDisconnect = dispatchOnDisconnect;
348 exports.dispatchOnMessage = dispatchOnMessage; 348 exports.dispatchOnMessage = dispatchOnMessage;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698