Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for document.open() overhaul #3818

Closed
19 tasks done
TimothyGu opened this issue Jul 12, 2018 · 8 comments
Closed
19 tasks done

Tracking issue for document.open() overhaul #3818

TimothyGu opened this issue Jul 12, 2018 · 8 comments
Labels
interop Implementations are not interoperable with each other topic: document.open()

Comments

@TimothyGu
Copy link
Member

TimothyGu commented Jul 12, 2018

This is a list of issues that currently surround document.open() interoperability. The list is tentative, and will most probably be extended in the future. For items in the list without dedicated issues or pull requests, I will be filing them individually in the future if need be.

The goal is for each listed issue to have extensive WPT coverage, as well as a confirmed resolution, either as a spec change or "known browser bug; will fix", or both. For now, the "resolution" present is what I believe to be the right path forward, and does not represent the final verdict.

The first checkbox represents if the resolution and tests have been completed. The second represents if the spec change has been submitted (or if it's not necessary).

@annevk
Copy link
Member

annevk commented Jul 26, 2018

@bzbarsky you probably want to review the above. With Ben leaving I suspect there's nobody else at the moment with a somewhat active interest in this?

@bzbarsky
Copy link
Contributor

Well, @hsivonen might have thoughts. And maybe @mystor, maybe. Are you sure @wanderview is not still interested? ;)

I'm not quite clear on the event listeners thing. Firefox doesn't remove them from the old Window but does create a new Window, right? So the only way to trigger the listeners on the old Window is ... I'm not even quite sure what, actually.

@TimothyGu
Copy link
Member Author

So the only way to trigger the listeners on the old Window is ... I'm not even quite sure what, actually.

Yeah. That is precisely my point: if we can't trigger listeners on the old Window with Firefox right now, it is pretty much equivalent to if the event listeners were removed in the first place. (Well one can of course always fire synthetic events but that's different.)

@bzbarsky
Copy link
Contributor

Even with synthetic events... what would you fire them at, exactly?

@TimothyGu
Copy link
Member Author

@bzbarsky The window as visible to the script that ran document.open()? Something like

<script>
window.addEventListener("myEvent", () => { parent.fired = true; });
document.open();
window.dispatchEvent(new Event("myEvent"));
</script>

in an iframe.

But the bigger issue here seems to be that Firefox doesn't remove event listeners – on anything, not just the window object. See https://wpt.fyi/results/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.html, step 13 in the current spec, and web-platform-tests/wpt#12122.

@bzbarsky
Copy link
Contributor

window.dispatchEvent(new Event("myEvent"));

Here "window" is the windowproxy, so would dispatch to the new window.

Though it's possible that bareword dispatchEvent() might work, actually...

But the bigger issue here seems to be that Firefox doesn't remove event listeners – on anything, not just the window object

Yeah. We should probably change that...

@wanderview
Copy link
Member

Are you sure @wanderview is not still interested? ;)

FWIW, I'm interested but probably unable to help much in the near future. Ramping up on other tasks, etc.

TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 9, 2018
This change aligns the event listener removal behavior with
implementations, specifically in two aspects:

- The event handler's value should be set to null (i.e., deactivated).
- Event listeners and handlers should be removed from the Window object
  as well.

See prior investigation around deactivation of event handlers in whatwg#3836
and whatwg#3850. See investigation around `document.open()`'s behavior in
whatwg#3818.

Tests: web-platform-tests/wpt#12122
domenic pushed a commit that referenced this issue Aug 9, 2018
This change aligns the event listener removal behavior with
implementations, specifically in two aspects:

- The event handler's value should be set to null (i.e., deactivated).
- Event listeners and handlers should be removed from the Window object
  as well.

See prior investigation around deactivation of event handlers in #3836
and #3850. See investigation around document.open()'s behavior in
#3818.

Tests: web-platform-tests/wpt#12122
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 14, 2018
Based on the work by Anne van Kesteren in whatwg#3651, but without the parts
concerning the session history. Changes to that area will come later
(see whatwg#3818).

Tests: web-platform-tests/wpt#10773
Tests: web-platform-tests/wpt#10778
Tests: web-platform-tests/wpt#10789
Tests: web-platform-tests/wpt#10815
Tests: web-platform-tests/wpt#10818

Fixes whatwg#1698.
Fixes whatwg#3286.
Fixes whatwg#3306.
Closes whatwg#3665.

Co-authored-by: Anne van Kesteren <annevk@annevk.nl>
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 14, 2018
Based on the work by Anne van Kesteren in whatwg#3651, but without the parts
concerning the session history. Changes to that area will come later
(see whatwg#3818).

Tests: web-platform-tests/wpt#10773
Tests: web-platform-tests/wpt#10778
Tests: web-platform-tests/wpt#10815
Tests: web-platform-tests/wpt#10818

Fixes whatwg#1698.
Fixes whatwg#3286.
Fixes whatwg#3306.
Closes whatwg#3665.

Co-authored-by: Anne van Kesteren <annevk@annevk.nl>
domenic pushed a commit that referenced this issue Aug 16, 2018
In particular, removes the realm creation, document unloading, and tasks
removal steps.

Based on the work by Anne van Kesteren in #3651, but without the parts
concerning the session history. Changes to that area will come later
(see #3818).

These changes allow us to remove several auxiliary concepts that only
existed to support document.open():

- The recycle parameter to the "unload a Document" algorithm
- The window parameter to the "set the active document" algorithm

Tests: web-platform-tests/wpt#10773
Tests: web-platform-tests/wpt#10778
Tests: web-platform-tests/wpt#10815
Tests: web-platform-tests/wpt#10818

Fixes #1698.
Fixes #3286.
Fixes #3306.
Closes #3665.
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 20, 2018
This behavior is only implemented in Firefox and Edge and has
contributed to developer confusion. See
https://bugzilla.mozilla.org/show_bug.cgi?id=556002.

This is a part of the effort to renovate document.open(). See
whatwg#3818 for context.
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 21, 2018
This behavior is only implemented in Firefox and Edge and has
contributed to developer confusion. See
https://bugzilla.mozilla.org/show_bug.cgi?id=556002.

This is a part of the effort to renovate document.open(). See
whatwg#3818 for context.
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 23, 2018
Or: document.open() simplifications, part 2.1.

This behavior is only implemented in Firefox and Edge and has
contributed to developer confusion. See
https://bugzilla.mozilla.org/show_bug.cgi?id=556002.

This is a part of the effort to renovate document.open(). See
whatwg#3818 for context.
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 23, 2018
Or: document.open() simplifications, part 1.9.

This behavior is only implemented in Firefox and Edge and has
contributed to developer confusion. See
https://bugzilla.mozilla.org/show_bug.cgi?id=556002.

This is a part of the effort to renovate document.open(). See
whatwg#3818 for context.
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 23, 2018
Or: document.open() simplifications, part 1.9.

This behavior is only implemented in Firefox and Edge and has
contributed to developer confusion. See
https://bugzilla.mozilla.org/show_bug.cgi?id=556002.

This is a part of the effort to renovate document.open(). See
whatwg#3818 for context.

Tests: web-platform-tests/wpt#12555
domenic pushed a commit that referenced this issue Aug 23, 2018
Or: document.open() simplifications, part 1.9.

This behavior is only implemented in Firefox and Edge and has
contributed to developer confusion. See
https://bugzilla.mozilla.org/show_bug.cgi?id=556002.

This is a part of the effort to renovate document.open(). See
#3818 for context.

Tests: web-platform-tests/wpt#12555
TimothyGu added a commit to web-platform-tests/wpt that referenced this issue Aug 23, 2018
A continuation of #12240, but
this treats cases when two bailout criteria compete against each other.

See whatwg/html#3818.
zcorpan pushed a commit to web-platform-tests/wpt that referenced this issue Aug 27, 2018
A continuation of #12240, but
this treats cases when two bailout criteria compete against each other.

See whatwg/html#3818.
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 27, 2018
Per investigation in whatwg#3818, this change aligns the behavior of
document.open() with Chrome and Safari.

Tests: web-platform-tests/wpt#10679
annevk pushed a commit that referenced this issue Aug 28, 2018
Per investigation in #3818, this change aligns the behavior of
document.open() with Chrome and Safari.

Tests: web-platform-tests/wpt#10679.

Closes #3831.
annevk pushed a commit that referenced this issue Aug 29, 2018
This is another part of the effort to overhaul document.open() as outlined in #3818.

Tests: web-platform-tests/wpt#10817.

Fixes #2555.
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Aug 29, 2018
…ut order, a=testonly

Automatic update from web-platform-testsHTML: more tests for document.open bailout order (#12645)

A continuation of web-platform-tests/wpt#12240, but
this treats cases when two bailout criteria compete against each other.

See whatwg/html#3818.
--

wpt-commits: 45d82ab6c8893eab5a8f50aedfc20af81679cb10
wpt-pr: 12645
jankeromnes pushed a commit to jankeromnes/gecko that referenced this issue Aug 29, 2018
…ut order, a=testonly

Automatic update from web-platform-testsHTML: more tests for document.open bailout order (#12645)

A continuation of web-platform-tests/wpt#12240, but
this treats cases when two bailout criteria compete against each other.

See whatwg/html#3818.
--

wpt-commits: 45d82ab6c8893eab5a8f50aedfc20af81679cb10
wpt-pr: 12645
TimothyGu added a commit to TimothyGu/html that referenced this issue Aug 29, 2018
TimothyGu added a commit to web-platform-tests/wpt that referenced this issue Sep 6, 2018
@TimothyGu
Copy link
Member Author

moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Sep 12, 2018
…utationObserver, a=testonly

Automatic update from web-platform-testsHTML: Add test for document.open() and MutationObserver (#12879)

For whatwg/html#3818.
--

wpt-commits: cf0ea11ebe5801798d0390f7747b056110f74ed9
wpt-pr: 12879
jankeromnes pushed a commit to jankeromnes/gecko that referenced this issue Sep 12, 2018
…utationObserver, a=testonly

Automatic update from web-platform-testsHTML: Add test for document.open() and MutationObserver (#12879)

For whatwg/html#3818.
--

wpt-commits: cf0ea11ebe5801798d0390f7747b056110f74ed9
wpt-pr: 12879
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
This change aligns the event listener removal behavior with
implementations, specifically in two aspects:

- The event handler's value should be set to null (i.e., deactivated).
- Event listeners and handlers should be removed from the Window object
  as well.

See prior investigation around deactivation of event handlers in whatwg#3836
and whatwg#3850. See investigation around document.open()'s behavior in
whatwg#3818.

Tests: web-platform-tests/wpt#12122
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
In particular, removes the realm creation, document unloading, and tasks
removal steps.

Based on the work by Anne van Kesteren in whatwg#3651, but without the parts
concerning the session history. Changes to that area will come later
(see whatwg#3818).

These changes allow us to remove several auxiliary concepts that only
existed to support document.open():

- The recycle parameter to the "unload a Document" algorithm
- The window parameter to the "set the active document" algorithm

Tests: web-platform-tests/wpt#10773
Tests: web-platform-tests/wpt#10778
Tests: web-platform-tests/wpt#10815
Tests: web-platform-tests/wpt#10818

Fixes whatwg#1698.
Fixes whatwg#3286.
Fixes whatwg#3306.
Closes whatwg#3665.
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
Or: document.open() simplifications, part 1.9.

This behavior is only implemented in Firefox and Edge and has
contributed to developer confusion. See
https://bugzilla.mozilla.org/show_bug.cgi?id=556002.

This is a part of the effort to renovate document.open(). See
whatwg#3818 for context.

Tests: web-platform-tests/wpt#12555
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
Per investigation in whatwg#3818, this change aligns the behavior of
document.open() with Chrome and Safari.

Tests: web-platform-tests/wpt#10679.

Closes whatwg#3831.
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
This is another part of the effort to overhaul document.open() as outlined in whatwg#3818.

Tests: web-platform-tests/wpt#10817.

Fixes whatwg#2555.
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
This change aligns the event listener removal behavior with
implementations, specifically in two aspects:

- The event handler's value should be set to null (i.e., deactivated).
- Event listeners and handlers should be removed from the Window object
  as well.

See prior investigation around deactivation of event handlers in whatwg#3836
and whatwg#3850. See investigation around document.open()'s behavior in
whatwg#3818.

Tests: web-platform-tests/wpt#12122
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
In particular, removes the realm creation, document unloading, and tasks
removal steps.

Based on the work by Anne van Kesteren in whatwg#3651, but without the parts
concerning the session history. Changes to that area will come later
(see whatwg#3818).

These changes allow us to remove several auxiliary concepts that only
existed to support document.open():

- The recycle parameter to the "unload a Document" algorithm
- The window parameter to the "set the active document" algorithm

Tests: web-platform-tests/wpt#10773
Tests: web-platform-tests/wpt#10778
Tests: web-platform-tests/wpt#10815
Tests: web-platform-tests/wpt#10818

Fixes whatwg#1698.
Fixes whatwg#3286.
Fixes whatwg#3306.
Closes whatwg#3665.
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
Or: document.open() simplifications, part 1.9.

This behavior is only implemented in Firefox and Edge and has
contributed to developer confusion. See
https://bugzilla.mozilla.org/show_bug.cgi?id=556002.

This is a part of the effort to renovate document.open(). See
whatwg#3818 for context.

Tests: web-platform-tests/wpt#12555
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
Per investigation in whatwg#3818, this change aligns the behavior of
document.open() with Chrome and Safari.

Tests: web-platform-tests/wpt#10679.

Closes whatwg#3831.
mustaqahmed pushed a commit to mustaqahmed/html that referenced this issue Feb 15, 2019
This is another part of the effort to overhaul document.open() as outlined in whatwg#3818.

Tests: web-platform-tests/wpt#10817.

Fixes whatwg#2555.
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue Oct 3, 2019
…ut order, a=testonly

Automatic update from web-platform-testsHTML: more tests for document.open bailout order (#12645)

A continuation of web-platform-tests/wpt#12240, but
this treats cases when two bailout criteria compete against each other.

See whatwg/html#3818.
--

wpt-commits: 45d82ab6c8893eab5a8f50aedfc20af81679cb10
wpt-pr: 12645

UltraBlame original commit: 0585d2064f4944eb21522699451509fb4e682ca5
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue Oct 3, 2019
…ut order, a=testonly

Automatic update from web-platform-testsHTML: more tests for document.open bailout order (#12645)

A continuation of web-platform-tests/wpt#12240, but
this treats cases when two bailout criteria compete against each other.

See whatwg/html#3818.
--

wpt-commits: 45d82ab6c8893eab5a8f50aedfc20af81679cb10
wpt-pr: 12645

UltraBlame original commit: 0585d2064f4944eb21522699451509fb4e682ca5
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue Oct 3, 2019
…utationObserver, a=testonly

Automatic update from web-platform-testsHTML: Add test for document.open() and MutationObserver (#12879)

For whatwg/html#3818.
--

wpt-commits: cf0ea11ebe5801798d0390f7747b056110f74ed9
wpt-pr: 12879

UltraBlame original commit: 68c35ce4e842afebe390532e6a9adea75fd554ba
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue Oct 3, 2019
…utationObserver, a=testonly

Automatic update from web-platform-testsHTML: Add test for document.open() and MutationObserver (#12879)

For whatwg/html#3818.
--

wpt-commits: cf0ea11ebe5801798d0390f7747b056110f74ed9
wpt-pr: 12879

UltraBlame original commit: 68c35ce4e842afebe390532e6a9adea75fd554ba
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue Oct 3, 2019
…ut order, a=testonly

Automatic update from web-platform-testsHTML: more tests for document.open bailout order (#12645)

A continuation of web-platform-tests/wpt#12240, but
this treats cases when two bailout criteria compete against each other.

See whatwg/html#3818.
--

wpt-commits: 45d82ab6c8893eab5a8f50aedfc20af81679cb10
wpt-pr: 12645

UltraBlame original commit: 0585d2064f4944eb21522699451509fb4e682ca5
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue Oct 3, 2019
…utationObserver, a=testonly

Automatic update from web-platform-testsHTML: Add test for document.open() and MutationObserver (#12879)

For whatwg/html#3818.
--

wpt-commits: cf0ea11ebe5801798d0390f7747b056110f74ed9
wpt-pr: 12879

UltraBlame original commit: 68c35ce4e842afebe390532e6a9adea75fd554ba
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
interop Implementations are not interoperable with each other topic: document.open()
Development

No branches or pull requests

4 participants