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

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

Issue 12313142: Revert 184837 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 9 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 var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); 5 var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();
6 var DCHECK = requireNative('logging').DCHECK;
7 var json = require('json'); 6 var json = require('json');
8 var lastError = require('lastError'); 7 var lastError = require('lastError');
9 var natives = requireNative('sendRequest'); 8 var natives = requireNative('sendRequest');
10 var validate = require('schemaUtils').validate; 9 var validate = require('schemaUtils').validate;
11 10
12 // Callback handling. 11 // Callback handling.
13 var requests = []; 12 var requests = [];
14 chromeHidden.handleResponse = function(requestId, name, 13 chromeHidden.handleResponse = function(requestId, name,
15 success, responseList, error) { 14 success, responseList, error) {
16 try { 15 try {
17 var request = requests[requestId]; 16 var request = requests[requestId];
18 DCHECK(request != null);
19 if (success) { 17 if (success) {
20 lastError.clear(); 18 lastError.clear();
21 } else { 19 } else {
22 if (!error) { 20 if (!error) {
23 error = "Unknown error."; 21 error = "Unknown error.";
24 } 22 }
25 console.error("Error during " + name + ": " + error); 23 console.error("Error during " + name + ": " + error);
26 lastError.set(error); 24 lastError.set(error);
27 } 25 }
28 26
29 if (request.customCallback) { 27 if (request.customCallback) {
30 var customCallbackArgs = [name, request].concat(responseList); 28 var customCallbackArgs = [name, request].concat(responseList);
31 request.customCallback.apply(request, customCallbackArgs); 29 request.customCallback.apply(request, customCallbackArgs);
32 } 30 }
33 31
34 if (request.callback) { 32 if (request.callback) {
35 // Validate callback in debug only -- and only when the 33 // Validate callback in debug only -- and only when the
36 // caller has provided a callback. Implementations of api 34 // caller has provided a callback. Implementations of api
37 // calls may not return data if they observe the caller 35 // calls my not return data if they observe the caller
38 // has not provided a callback. 36 // has not provided a callback.
39 if (chromeHidden.validateCallbacks && !error) { 37 if (chromeHidden.validateCallbacks && !error) {
40 try { 38 try {
41 if (!request.callbackSchema.parameters) { 39 if (!request.callbackSchema.parameters) {
42 throw new Error("No callback schemas defined"); 40 throw new Error("No callback schemas defined");
43 } 41 }
44 42
45 validate(responseList, request.callbackSchema.parameters); 43 validate(responseList, request.callbackSchema.parameters);
46 } catch (exception) { 44 } catch (exception) {
47 return "Callback validation error during " + name + " -- " + 45 return "Callback validation error during " + name + " -- " +
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 var hasCallback = request.callback || optArgs.customCallback; 112 var hasCallback = request.callback || optArgs.customCallback;
115 return nativeFunction(functionName, 113 return nativeFunction(functionName,
116 requestArgs, 114 requestArgs,
117 requestId, 115 requestId,
118 hasCallback, 116 hasCallback,
119 optArgs.forIOThread, 117 optArgs.forIOThread,
120 optArgs.preserveNullInObjects); 118 optArgs.preserveNullInObjects);
121 } 119 }
122 120
123 exports.sendRequest = sendRequest; 121 exports.sendRequest = sendRequest;
OLDNEW
« no previous file with comments | « chrome/renderer/resources/extensions/schema_utils.js ('k') | chrome/renderer/resources/extensions/storage_custom_bindings.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698