Bug 159054

Summary: WebRTC: Align 'update ICE connection/gathering state' steps with the WebRTC 1.0 specification
Product: WebKit Reporter: Adam Bergkvist <adam.bergkvist>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, eric.carlson
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 143211    
Attachments:
Description Flags
Proposed patch none

Description Adam Bergkvist 2016-06-23 00:34:04 PDT
The 'update ICE connection/gathering state' steps should abort if the RTCPeerConnection is closed or if the new state is the same as the current state as specified in [1].

[1] https://w3c.github.io/webrtc-pc/archives/20160513/webrtc.html#update-ice-gathering-state
Comment 1 Adam Bergkvist 2016-06-23 00:49:10 PDT
Created attachment 281901 [details]
Proposed patch
Comment 2 Eric Carlson 2016-06-23 06:17:31 PDT
Comment on attachment 281901 [details]
Proposed patch

Is it possible to test this?
Comment 3 Adam Bergkvist 2016-06-23 06:40:37 PDT
(In reply to comment #2)
> Comment on attachment 281901 [details]
> Proposed patch
> 
> Is it possible to test this?

Not currently. I thought I could produce double icegatheringstatechange events by setting the same offer twice with setLocalDescription(), but the state is only updated if the current state is 'new' (in accordance with the spec).

We can probably hit one of the checks added by this change when we have the ICE-related callbacks from the WebRTC backend implemented.
Comment 4 Adam Bergkvist 2016-06-23 07:50:36 PDT
Comment on attachment 281901 [details]
Proposed patch

Thanks Eric
Comment 5 WebKit Commit Bot 2016-06-23 08:10:59 PDT
Comment on attachment 281901 [details]
Proposed patch

Clearing flags on attachment: 281901

Committed r202378: <http://trac.webkit.org/changeset/202378>
Comment 6 WebKit Commit Bot 2016-06-23 08:11:03 PDT
All reviewed patches have been landed.  Closing bug.