mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 933678 - B2G NFC: Add exposedProps for those objects passed to Gaia. r=dimi
This commit is contained in:
parent
c50c5a7897
commit
328762f66a
@ -61,6 +61,17 @@ XPCOMUtils.defineLazyServiceGetter(this, "cpmm",
|
|||||||
"@mozilla.org/childprocessmessagemanager;1",
|
"@mozilla.org/childprocessmessagemanager;1",
|
||||||
"nsISyncMessageSender");
|
"nsISyncMessageSender");
|
||||||
|
|
||||||
|
function GetDetailsNDEFResponse(details) {
|
||||||
|
this.canBeMadeReadOnly = details.canBeMadeReadOnly;
|
||||||
|
this.isReadOnly = details.isReadOnly;
|
||||||
|
this.maxSupportedLength = details.maxSupportedLength;
|
||||||
|
}
|
||||||
|
GetDetailsNDEFResponse.prototype = {
|
||||||
|
__exposedProps__ : {canBeMadeReadOnly: 'r',
|
||||||
|
isReadOnly: 'r',
|
||||||
|
maxSupportedLength: 'r'}
|
||||||
|
};
|
||||||
|
|
||||||
function NfcContentHelper() {
|
function NfcContentHelper() {
|
||||||
this.initDOMRequestHelper(/* aWindow */ null, NFC_IPC_MSG_NAMES);
|
this.initDOMRequestHelper(/* aWindow */ null, NFC_IPC_MSG_NAMES);
|
||||||
Services.obs.addObserver(this, "xpcom-shutdown", false);
|
Services.obs.addObserver(this, "xpcom-shutdown", false);
|
||||||
@ -346,76 +357,64 @@ NfcContentHelper.prototype = {
|
|||||||
|
|
||||||
receiveMessage: function receiveMessage(message) {
|
receiveMessage: function receiveMessage(message) {
|
||||||
debug("Message received: " + JSON.stringify(message));
|
debug("Message received: " + JSON.stringify(message));
|
||||||
|
let result = message.json;
|
||||||
|
let requester = this._requestMap[result.requestId];
|
||||||
|
if (!requester) {
|
||||||
|
debug("Response Invalid requestId=" + result.requestId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
delete this._requestMap[result.requestId];
|
||||||
|
|
||||||
|
if (result.status !== NFC.GECKO_NFC_ERROR_SUCCESS) {
|
||||||
|
this.fireRequestError(atob(result.requestId), result.status);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch (message.name) {
|
switch (message.name) {
|
||||||
case "NFC:ReadNDEFResponse":
|
case "NFC:ReadNDEFResponse":
|
||||||
this.handleReadNDEFResponse(message.json);
|
this.handleReadNDEFResponse(requester, result);
|
||||||
|
break;
|
||||||
|
case "NFC:GetDetailsNDEFResponse":
|
||||||
|
this.handleGetDetailsNDEFResponse(result);
|
||||||
break;
|
break;
|
||||||
case "NFC:ConnectResponse": // Fall through.
|
case "NFC:ConnectResponse": // Fall through.
|
||||||
case "NFC:CloseResponse":
|
case "NFC:CloseResponse":
|
||||||
case "NFC:WriteNDEFResponse":
|
case "NFC:WriteNDEFResponse":
|
||||||
case "NFC:MakeReadOnlyNDEFResponse":
|
case "NFC:MakeReadOnlyNDEFResponse":
|
||||||
case "NFC:GetDetailsNDEFResponse":
|
|
||||||
case "NFC:CheckP2PRegistrationResponse":
|
case "NFC:CheckP2PRegistrationResponse":
|
||||||
case "NFC:NotifySendFileStatusResponse":
|
case "NFC:NotifySendFileStatusResponse":
|
||||||
this.handleResponse(message.json);
|
this.fireRequestSuccess(atob(result.requestId), result);
|
||||||
break;
|
break;
|
||||||
case "NFC:PeerEvent":
|
case "NFC:PeerEvent":
|
||||||
let callback = this.peerEventsCallbackMap[message.json.event];
|
let callback = this.peerEventsCallbackMap[result.event];
|
||||||
if (callback) {
|
if (callback) {
|
||||||
callback.peerNotification(message.json.event,
|
callback.peerNotification(result.event, result.sessionToken);
|
||||||
message.json.sessionToken);
|
|
||||||
} else {
|
} else {
|
||||||
debug("PeerEvent: No valid callback registered for the event " +
|
debug("PeerEvent: No valid callback registered for the event " +
|
||||||
message.json.event);
|
result.event);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
handleReadNDEFResponse: function handleReadNDEFResponse(message) {
|
handleReadNDEFResponse: function handleReadNDEFResponse(requester, result) {
|
||||||
debug("ReadNDEFResponse(" + JSON.stringify(message) + ")");
|
let requestId = atob(result.requestId);
|
||||||
let requester = this._requestMap[message.requestId];
|
let ndefMsg = [];
|
||||||
if (!requester) {
|
let records = result.records;
|
||||||
debug("ReadNDEFResponse Invalid requester=" + requester +
|
for (let i = 0; i < records.length; i++) {
|
||||||
" message.sessionToken=" + message.sessionToken);
|
let record = records[i];
|
||||||
return; // Nothing to do in this instance.
|
ndefMsg.push(new requester.MozNDEFRecord(record.tnf,
|
||||||
}
|
record.type,
|
||||||
delete this._requestMap[message.requestId];
|
record.id,
|
||||||
let records = message.records;
|
record.payload));
|
||||||
let requestId = atob(message.requestId);
|
|
||||||
|
|
||||||
if (message.status !== NFC.GECKO_NFC_ERROR_SUCCESS) {
|
|
||||||
this.fireRequestError(requestId, message.status);
|
|
||||||
} else {
|
|
||||||
let ndefMsg = [];
|
|
||||||
for (let i = 0; i < records.length; i++) {
|
|
||||||
let record = records[i];
|
|
||||||
ndefMsg.push(new requester.MozNDEFRecord(record.tnf,
|
|
||||||
record.type,
|
|
||||||
record.id,
|
|
||||||
record.payload));
|
|
||||||
}
|
|
||||||
this.fireRequestSuccess(requestId, ndefMsg);
|
|
||||||
}
|
}
|
||||||
|
this.fireRequestSuccess(requestId, ndefMsg);
|
||||||
},
|
},
|
||||||
|
|
||||||
handleResponse: function handleResponse(message) {
|
handleGetDetailsNDEFResponse: function handleGetDetailsNDEFResponse(result) {
|
||||||
debug("Response(" + JSON.stringify(message) + ")");
|
let requestId = atob(result.requestId);
|
||||||
let requester = this._requestMap[message.requestId];
|
let result = new GetDetailsNDEFResponse(result);
|
||||||
if (!requester) {
|
this.fireRequestSuccess(requestId, result);
|
||||||
debug("Response Invalid requester=" + requester +
|
|
||||||
" message.sessionToken=" + message.sessionToken);
|
|
||||||
return; // Nothing to do in this instance.
|
|
||||||
}
|
|
||||||
delete this._requestMap[message.requestId];
|
|
||||||
let result = message;
|
|
||||||
let requestId = atob(message.requestId);
|
|
||||||
|
|
||||||
if (message.status !== NFC.GECKO_NFC_ERROR_SUCCESS) {
|
|
||||||
this.fireRequestError(requestId, result.status);
|
|
||||||
} else {
|
|
||||||
this.fireRequestSuccess(requestId, result);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user