[webrtc-pc] Why clear [[LastCreatedOffer]] and [[LastCreatedAnswer]] when going to "stable"? (#2869)

jan-ivar has just created a new issue for https://github.com/w3c/webrtc-pc:

== Why clear [[LastCreatedOffer]] and [[LastCreatedAnswer]] when going to "stable"? ==
Chrome and Safari both allow [this](https://jsfiddle.net/jib1/1foL6p9r/25/):
```js
    const offer = await pc1.createOffer();
    await pc1.setLocalDescription(offer)
    await pc2.setRemoteDescription(offer);
    const answer = await pc2.createAnswer();
    await pc2.setLocalDescription(answer);
    await pc1.setRemoteDescription(answer);
    await pc1.setLocalDescription(offer);
    await pc2.setRemoteDescription(offer);
    await pc2.setLocalDescription(answer);
    await pc1.setRemoteDescription(answer);
```
...while Firefox fails with `InvalidModificationError: Cannot set local offer when createOffer has not been called.`.

Spec [says](https://w3c.github.io/webrtc-pc/#set-description) Firefox is correct:  _"Set both connection.[[[LastCreatedOffer]]](https://w3c.github.io/webrtc-pc/#dfn-lastcreatedoffer) and connection.[[[LastCreatedAnswer]]](https://w3c.github.io/webrtc-pc/#dfn-lastcreatedanswer) to `""`"_ [when going to "stable"].

But it's unclear to me why the spec says this. Is there a good reason? If not, then should we remove that line from the spec?



Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/2869 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 10 May 2023 20:41:48 UTC