Closed Bug 892441 Opened 6 years ago Closed 6 years ago

New dictionary attributes for RTCDataChannelInit added in bug 878945 have no effect


(Core :: WebRTC, defect)

Not set



Tracking Status
firefox22 --- wontfix
firefox23 + fixed
firefox24 + fixed


(Reporter: standard8, Assigned: jesup, NeedInfo)



(Whiteboard: [WebRTC],[blocking-webrtc-])


(2 files)

Attempting to join a non-negotiated data channel on both sides of a connection with:

this.dc = this.pc.createDataChannel('dc', {id:5, negotiated:false});

has no effect. If I change the code to:

this.dc = this.pc.createDataChannel('dc', {stream:5, negotiated:false});

Then this works.

I also verified this with a similar change on

The issue is that the code was changed to warn about the obsolete parameters, but it then wasn't updated to use those new parameters: shows the change shows the code is still using the old stream option for dict, rather than the id option.

The other renamed parameters are also not used, but use the old options: ordered, maxRetransmits, negotiated.
Ooops - had the wrong patch at the top of me queue.  tested with a modified version of data_test.html
This highlights the need for tests to cover DataChannels better; when this patch was done the DataChannel test framework had not landed yet.
Blocks: 893021
Whiteboard: [WebRTC],[blocking-webrtc-][webrtc-uplift]
Attachment #774682 - Flags: review?(bugs)
Comment on attachment 774682 [details] [diff] [review]
Actually use the new names for createDataChannel

And we really need mochitests for this stuff.
Attachment #774682 - Flags: review?(bugs) → review+

Now we need to get tests in place!
Target Milestone: --- → mozilla25
Assignee: nobody → rjesup
Closed: 6 years ago
Resolution: --- → FIXED
Can you please explain the user benefit/impact of tracking this for release ?
This strongly affects spec interoperability and will affect if an app someone develops is backwards-compatible with 23.  I hope to land tests for this shortly, and then will nominate for uplift.
Comment on attachment 774682 [details] [diff] [review]
Actually use the new names for createDataChannel

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 878945 - fix was incomplete

User impact if declined: Interoperabilty issues with Chrome, developer confusion and polyfills (and browser/version sniffing) needed.  developers can't directly test if a dictionary item is implemented; they have to test indirectly at best.

Testing completed (on m-c, etc.): On m-c.  Tests have landed on inbound (bug 893021).  They depend on a testing framework that isn't on Beta.  Also tested via

Risk to taking this patch (and alternatives if risky): extremely low

String or IDL/UUID changes made by this patch: none
Attachment #774682 - Flags: approval-mozilla-beta?
Attachment #774682 - Flags: approval-mozilla-aurora?
Attachment #774682 - Flags: approval-mozilla-beta?
Attachment #774682 - Flags: approval-mozilla-beta+
Attachment #774682 - Flags: approval-mozilla-aurora?
Attachment #774682 - Flags: approval-mozilla-aurora+
Can you please provide some guidelines about how QA can manually verify this?

I loaded the data test from and I introduced values on each field pc1 says, pc1 sends a blob etc. and hit Start!
and I get: 
"pc2 got remote stream from pc1 video

pc1 got remote stream from pc2 video


pc1 onConnection

pc1 onopen fired for [object DataChannel]

pc2 onConnection

pc1 onopen fired for [object DataChannel]

pc2 onDataChannel [2] = [object DataChannel], label='This is pc1', protocol=''

pc1 onDataChannel [3] = [object DataChannel], label='This is pc2', protocol=''

*** pc2 onopen fired, sending to [object DataChannel]

pc1 onopen fired for [object DataChannel]

pc1 state: undefined

pc2 said: pc2 says Hello...

pc1 said: pc2 says Hi there!

pc1 said: pc1 says Hello out there..."
You need to log in before you can comment on or make changes to this bug.