New issue
Advanced search Search tips

Issue 717643 link

Starred by 15 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Module scripts should be supported in XHTML documents

Project Member Reported by adamk@chromium.org, May 2 2017

Issue description

Module scripts should be supported in XHTML documents
 

Comment 1 by kouhei@chromium.org, May 10 2017

Components: Blink>HTML>Script

Comment 2 by kouhei@chromium.org, May 10 2017

Components: -Blink>HTML>Modules
Is this blocking the initial release of ES6 Modules?
If it is then it should be bumped to P1, M61 and in someone's queue.

If it's not then it should be removed from  issue 594639 's blockers (possibly added to a different meta bug for follow-up work).
Owner: hirosh...@chromium.org
Status: Assigned (was: Available)
I expect fixing this issue will result a relatively large change, because XHTML documents currently
- does not support classic scripts with defer (which shares the same scheduling with normal module scripts), and
- does not use PendingScript, and uses ScriptResource directly.

And thus we have to:
- Implement script defer support for XMLDocuments,
- Replace ScriptResource with PendingScript, and then
- Implement support for module scripts in XMLDocuments.

Assigned to me, but actual activities are not yet started.

I'm not sure whether this should block the initial release. Any thoughts?
> I'm not sure whether this should block the initial release. Any thoughts?

I think y’all should definitely not let this block the initial release. I don’t think that would align with the best interests of web developers and the users they’re making web applications and services for.

If I understand correctly that what’s meant here by “XHTML documents” is documents with HTML elements but that are parsed with the XML parser instead of the HTML parser, then I think it’s important to recognize that currently only about 0.1% documents with HTML elements on the web are served with an XML MIME type, and the other 99.9%+ are served as text/html.

So for the many web developers who are waiting on this important feature to ship, it doesn’t seem best to make them wait until the feature has support for that 0.1% use case when support for the 99.9% use case can already ship. 

Comment 6 by kouhei@chromium.org, May 29 2017

Blocking: -594639
This should not block the release. Removing from the blocker.
Labels: -OS-Linux -OS-Android -OS-Windows -OS-Chrome -OS-Mac OS-All
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7e993356ec37ca2afa5bd515bcaf1c908b55037

commit e7e993356ec37ca2afa5bd515bcaf1c908b55037
Author: Hiroshige Hayashizaki <hiroshige@chromium.org>
Date: Fri Jun 30 19:14:02 2017

Make PendingScriptClient GarbageCollectedMixin

Preparation for https://chromium-review.googlesource.com/c/557304
where XMLDocumentParser (that is already GarbageCollected) is changed
to be a subclass of PendingScriptClient.

Bug: 686281, 717643, 735719,  684306 
Change-Id: I700095279c4b8ab44fb725d716925663dcfe9ded
Reviewed-on: https://chromium-review.googlesource.com/557302
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#483785}
[modify] https://crrev.com/e7e993356ec37ca2afa5bd515bcaf1c908b55037/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp
[modify] https://crrev.com/e7e993356ec37ca2afa5bd515bcaf1c908b55037/third_party/WebKit/Source/core/dom/PendingScript.h
[modify] https://crrev.com/e7e993356ec37ca2afa5bd515bcaf1c908b55037/third_party/WebKit/Source/core/dom/ScriptLoader.h
[modify] https://crrev.com/e7e993356ec37ca2afa5bd515bcaf1c908b55037/third_party/WebKit/Source/core/html/parser/HTMLParserScriptRunner.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d99cd2ff4053dcd10366499bbc1695dac19a8832

commit d99cd2ff4053dcd10366499bbc1695dac19a8832
Author: Hiroshige Hayashizaki <hiroshige@chromium.org>
Date: Wed Jul 12 04:12:38 2017

Use ExecuteScriptBlock() and PendingScript in XMLDocumentParser

Previously, XMLDOcumentParser uses ScriptResource directly.
This CL replaces the ScriptResource with PendingScript, in order to:
- Replace a call of ScriptLoader::ExecuteScript() with
  ExecuteScriptBlock() to unify load/error event handling within
  ExecuteScriptBlock(), as follow-up of
  https://chromium-review.googlesource.com/c/554098 (Issue 686281),
- Prepare for module script support in XHTMLs (Issue 717643), and
- Enable SRI check in XHTMLs ( Issue 684306 ).

Bug: 686281, 717643,  684306 
Change-Id: Ibedded79223d30952dee4c8370fc9eed2201a462
Reviewed-on: https://chromium-review.googlesource.com/557304
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485842}
[modify] https://crrev.com/d99cd2ff4053dcd10366499bbc1695dac19a8832/third_party/WebKit/LayoutTests/http/tests/security/subresourceIntegrity/shared-with-xhtml-expected.txt
[modify] https://crrev.com/d99cd2ff4053dcd10366499bbc1695dac19a8832/third_party/WebKit/LayoutTests/http/tests/security/subresourceIntegrity/shared-with-xhtml.html
[add] https://crrev.com/d99cd2ff4053dcd10366499bbc1695dac19a8832/third_party/WebKit/LayoutTests/http/tests/security/subresourceIntegrity/subresource-integrity-blocked-xhtml-expected.txt
[add] https://crrev.com/d99cd2ff4053dcd10366499bbc1695dac19a8832/third_party/WebKit/LayoutTests/http/tests/security/subresourceIntegrity/subresource-integrity-blocked-xhtml.xhtml
[modify] https://crrev.com/d99cd2ff4053dcd10366499bbc1695dac19a8832/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp
[modify] https://crrev.com/d99cd2ff4053dcd10366499bbc1695dac19a8832/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7eb39395f612c81fb04b159c8c9948573b218e73

commit 7eb39395f612c81fb04b159c8c9948573b218e73
Author: Kouhei Ueno <kouhei@chromium.org>
Date: Thu Jul 13 12:29:24 2017

Log a console message when attempt to use module script in XHTML document

Blink currently lacks module script support on XHTML document.
Notify this issue to web developers via console message instead of silently failing.

Bug: 717643
Change-Id: I6307df123aa12989a6982a3d4f099496febe997c
Reviewed-on: https://chromium-review.googlesource.com/567782
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486353}
[modify] https://crrev.com/7eb39395f612c81fb04b159c8c9948573b218e73/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/7eb39395f612c81fb04b159c8c9948573b218e73/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/module-in-xhtml.xhtml
[modify] https://crrev.com/7eb39395f612c81fb04b159c8c9948573b218e73/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp

Noting here that svg is a rising star of web / app development opportunities.
It is xml / xhtml and is affected by this.

Sign in to add a comment