Closed Bug 1201805 Opened 5 years ago Closed 5 years ago

[Presentation WebAPI] Fix collaboration issues with control channel


(Firefox OS Graveyard :: General, defect)

Gonk (Firefox OS)
Not set


(firefox43 fixed)

FxOS-S7 (18Sep)
Tracking Status
firefox43 --- fixed


(Reporter: selin, Assigned: selin)


(Blocks 1 open bug)


(Whiteboard: [ft:conndevices])


(2 files, 4 obsolete files)

1. |nsIPresentationChannelDescription| interface defines an attribute |nsIArray tcpAddress| [1], but doesn't explicitly point out what type of the elements in the nsIArray should be. So TCPPresentationServer.js [2][3] uses wide strings whereas PresentationSessionInfo.cpp [4] uses narrow strings. This would cause the sender or receiver not able to get the correct peer address when trying to use the control channel.


2. The sender tries to establish the control channel and then send the offer [5]. However, the channel might not become ready to use at the moment so the offer would fail to be sent out [6]. Instead, we may send the offer once |notifyOpened| gets invoked when the control channel becomes ready.

Assignee: nobody → selin
Whiteboard: [ft:conndevices]
Target Milestone: --- → FxOS-S7 (18Sep)
Use nsISupportsCString for the addresses in the channel description.
Attachment #8657000 - Flags: review?(fabrice)
Summary: [Presentation API] Fix collaboration issues with control channel → [Presentation WebAPI] Fix collaboration issues with control channel
Attachment #8657001 - Flags: review?(bugs)
Comment on attachment 8657001 [details] [diff] [review]
Part 2 - Adjust the timing to send offer, v1

I really wish there was some documentation (including graphs/pictures) about our Presentation API implementation and different setups (OOP vs non-OOP etc) to help reviewing. I feel like reviewing these patches is always more difficult than it should be (and if reviewing feels harder than it should be, it probably means the quality of reviews is lower than it should be).
Perhaps this also hints that class names aren't quite right?
The spec uses terminology "controlling browsing context" and "presenting browsing context", not "requester" and "responder".
Attachment #8657001 - Flags: review?(bugs) → review+
Attachment #8657000 - Flags: review?(fabrice) → review+
Attachment #8657000 - Attachment is obsolete: true
Attachment #8659103 - Flags: review+
Attachment #8659103 - Attachment is obsolete: true
Attachment #8659205 - Flags: review+
You need to log in before you can comment on or make changes to this bug.