Check-in [622c57faac]
Overview
Comment:Support for returning a promise from cackeyListCertificates()
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:622c57faac90c7083e6cc7034ff064b6e6d0ddfc
User & Date: rkeene on 2019-01-31 04:33:38
Other Links: manifest | tags
Context
2019-01-31
04:41
Upgrade to latest JS RSA check-in: f0d2c2ccee user: rkeene tags: trunk
04:33
Support for returning a promise from cackeyListCertificates() check-in: 622c57faac user: rkeene tags: trunk
2019-01-30
19:02
Updated tile logo to meet Web Store requirements check-in: 72910e50a1 user: rkeene tags: trunk
Changes

Modified build/chrome/cackey.js from [f4c949a3a4] to [3c60365638].

   403    403   }
   404    404   
   405    405   /*
   406    406    * Handler for messages from Chrome related to listing certificates
   407    407    */
   408    408   function cackeyListCertificates(chromeCallback) {
   409    409   	var callbackId;
          410  +	var promiseHandle = null, promiseResolve, promiseReject;
   410    411   
   411    412   	if (goog.DEBUG) {
   412    413   		console.log("[cackey] Asked to provide a list of certificates -- throwing that request over to the NaCl side... ");
   413    414   	}
          415  +
          416  +	if (!chromeCallback) {
          417  +		/*
          418  +		 * If no callback supplied, arrange for a promise to be returned instead
          419  +		 */
          420  +		promiseHandle = new Promise(function(resolve, reject) {
          421  +			promiseResolve = resolve;
          422  +			promiseReject = reject;
          423  +		});
          424  +
          425  +		chromeCallback = function(certs) {
          426  +			promiseResolve(certs);
          427  +		};
          428  +	}
   414    429   
   415    430   	callbackId = ++cackeyOutstandingCallbackCounter;
   416    431   
   417    432   	cackeyInitPCSC(function() {
   418    433   		cackeyHandle.postMessage(
   419    434   			{
   420    435   				'target': "cackey",
................................................................................
   426    441   		cackeyOutstandingCallbacks[callbackId] = chromeCallback;
   427    442   
   428    443   		if (goog.DEBUG) {
   429    444   			console.log("[cackey] Thrown.");
   430    445   		}
   431    446   	}, chromeCallback);
   432    447   
   433         -	return;
          448  +	return(promiseHandle);
   434    449   }
   435    450   
   436    451   /*
   437    452    * Handler for messages from Chrome related to listing readers
   438    453    */
   439    454   function cackeyListReaders(chromeCallback) {
   440    455   	var callbackId;