[ES6 Module] Reflect Spec PR 2991 to make error handling deterministic [chromium/src : master]

0 views
Skip to first unread message

Hiroshige Hayashizaki (Gerrit)

unread,
Nov 30, 2017, 8:30:24 PM11/30/17
to modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

PTAL,
kouhei@ nhiroki@ ksakamoto@, in general, especially for Blink changes,
neis@ mainly for test updates.

I tested this CL with and without Georg's V8-side CL, and added/modified tests accordingly.
I observed no serious issues (e.g. crashing) in the module wpt tests and webkit_unit_tests, but I expect there're still rooms for improving the test coverage.

As we are going to remove GetStatus() method, and GetStatus() calls in non-test/non-DCHECK() code are removed (because in the new spec they are not needed), but I still have to replace/remove DCHECK()s and unit test expectations that uses GetStatus().
Could you take a look at them (I added inline comments below) how to handle them?

Most of Blink code changes are needed to be done in a single CL.
(I might be able to split out some of test changes into separate CLs)

View Change

11 comments:

To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
Gerrit-Change-Number: 698467
Gerrit-PatchSet: 20
Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: David Black <dcb...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Rob Buis <rob....@samsung.com>
Gerrit-CC: Thiago Farina <tfa...@chromium.org>
Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
Gerrit-Comment-Date: Fri, 01 Dec 2017 01:28:07 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Blink WPT Bot (Gerrit)

unread,
Nov 30, 2017, 8:38:03 PM11/30/17
to Hiroshige Hayashizaki, modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/w3c/web-platform-tests/pull/8527.

If this CL lands and Travis CI upstream is green, we will auto-merge the PR.

Note: Please check the Travis CI status (at the bottom of the PR) before landing this CL and only land this CL if the status is green. Otherwise a human needs to step in and resolve it manually. (This may be automated in the future, see https://crbug.com/711447)

WPT Export docs:
https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md#Automatic-export-process

View Change

    To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
    Gerrit-Change-Number: 698467
    Gerrit-PatchSet: 20
    Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
    Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
    Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
    Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
    Gerrit-CC: Commit Bot <commi...@chromium.org>
    Gerrit-CC: David Black <dcb...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-CC: Rob Buis <rob....@samsung.com>
    Gerrit-CC: Thiago Farina <tfa...@chromium.org>
    Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
    Gerrit-Comment-Date: Fri, 01 Dec 2017 01:37:53 +0000
    Gerrit-HasComments: No
    Gerrit-HasLabels: No

    Georg Neis (Gerrit)

    unread,
    Dec 4, 2017, 5:32:34 AM12/4/17
    to Hiroshige Hayashizaki, modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Blink WPT Bot, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

    View Change

    1 comment:

      • neis@, should we also check that each exception object are distinct? i.e. […]

        Yes, we should. Do I understand correctly, that errors 1, 2 and 4 are still guaranteed to be the same by HTML? Equally for 3 and 5.

    To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
    Gerrit-Change-Number: 698467
    Gerrit-PatchSet: 20
    Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
    Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
    Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
    Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
    Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
    Gerrit-CC: Commit Bot <commi...@chromium.org>
    Gerrit-CC: David Black <dcb...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-CC: Rob Buis <rob....@samsung.com>
    Gerrit-CC: Thiago Farina <tfa...@chromium.org>
    Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
    Gerrit-Comment-Date: Mon, 04 Dec 2017 10:32:26 +0000
    Gerrit-HasComments: Yes
    Gerrit-HasLabels: No

    Georg Neis (Gerrit)

    unread,
    Dec 4, 2017, 5:35:24 AM12/4/17
    to Hiroshige Hayashizaki, modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Blink WPT Bot, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

    As we are going to remove GetStatus() method, and GetStatus() calls in non-test/non-DCHECK() code are removed (because in the new spec they are not needed), but I still have to replace/remove DCHECK()s and unit test expectations that uses GetStatus().
    Could you take a look at them (I added inline comments below) how to handle them?

    I have decided to keep GetStatus and GetException in v8's api, so you could just keep them in your DCHECKs. But note that GetStatus will return "uninstantiated" for a module that failed to instantiate, and GetException must only be called when evaluation failed (i.e. when GetStatus returns "errored").

    View Change

      To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
      Gerrit-Change-Number: 698467
      Gerrit-PatchSet: 20
      Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
      Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
      Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
      Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-CC: David Black <dcb...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: Rob Buis <rob....@samsung.com>
      Gerrit-CC: Thiago Farina <tfa...@chromium.org>
      Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
      Gerrit-Comment-Date: Mon, 04 Dec 2017 10:35:19 +0000
      Gerrit-HasComments: No
      Gerrit-HasLabels: No

      Hiroshige Hayashizaki (Gerrit)

      unread,
      Dec 4, 2017, 8:10:42 PM12/4/17
      to modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Blink WPT Bot, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

      View Change

      1 comment:

        • Do I understand correctly, that errors 1, 2 and 4 are still guaranteed to be the same by HTML?

          The situation was more complicated than I thought.

          - According to the spec: Yes they will be the same in this case, however:
          - It looks like somehow being the same accidentially, because Instantiate() is called three time and one error object returned by one Instantiate() invocation is reported to all three <script>s.
          - Error object identity can be nondeterministic (e.g. affected by the network fetch order) in general, and I feel developers can't rely on error object identity.
          So if we want to check the error object identity (1==2==4 and 3==5), I think we'll have to make the spec more deterministic as for error object identity.
          - According to the Blink impl, No, they are all distinct.
          This is because, in the spec, Step 8 of
          https://html.spec.whatwg.org/#fetch-the-descendants-of-and-instantiate-a-module-script
          is asynchronous, while in Blink it completes synchronously.

          Instantiation is executed once for each <script> element, and thus the error object created for each <script> element is distinct (if ECMAScript-side spec makes instantiation return distinct error objects for each invocation for the same module script).

          But the error objects are put to the same place, i.e. the <script> element's error-to-rethrow, and thus in some cases, some of error objects reported to the <script> elements can be the same, because error-to-rethrow can overwritten before execution.

      To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
      Gerrit-Change-Number: 698467
      Gerrit-PatchSet: 20
      Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
      Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
      Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
      Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
      Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-CC: David Black <dcb...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: Rob Buis <rob....@samsung.com>
      Gerrit-CC: Thiago Farina <tfa...@chromium.org>
      Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
      Gerrit-Comment-Date: Tue, 05 Dec 2017 01:10:37 +0000
      Gerrit-HasComments: Yes
      Gerrit-HasLabels: No

      Hiroshige Hayashizaki (Gerrit)

      unread,
      Dec 5, 2017, 11:12:17 AM12/5/17
      to modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Domenic Denicola, Georg Neis, Blink WPT Bot, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

      +domenic@ for spec/testing discussions.
      (Currently there's discussion about error object identity in instantiation-error-1.html)

      View Change

        To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
        Gerrit-Change-Number: 698467
        Gerrit-PatchSet: 20
        Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
        Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
        Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
        Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
        Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: David Black <dcb...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Rob Buis <rob....@samsung.com>
        Gerrit-CC: Thiago Farina <tfa...@chromium.org>
        Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
        Gerrit-Comment-Date: Tue, 05 Dec 2017 16:12:13 +0000
        Gerrit-HasComments: No
        Gerrit-HasLabels: No

        Hiroshige Hayashizaki (Gerrit)

        unread,
        Dec 5, 2017, 11:12:17 AM12/5/17
        to Domenic Denicola, modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto

        Hiroshige Hayashizaki would like Domenic Denicola to review this change.

        View Change

        [ES6 Module] Reflect Spec PR 2991 to make error handling deterministic

        Spec update: https://github.com/whatwg/html/pull/2991
        V8-side change: https://chromium-review.googlesource.com/763369

        Data members for errors are restructured:

        Removed module script's "is errored" #concept-module-script-is-errored
        => ModuleScript::IsErrored().

        Removed module script's "error" #concept-module-script-error
        => Modulator::GetError(), ModuleScript::CreateError(), and
        ModuleScript::CreateErrorInternal().

        Removed "set the pre-instantiation error"
        #concept-module-script-set-pre-instantiation-error
        => ModuleScript::SetErrorAndClearRecord().

        Introduced script's "error to rethrow" #concept-script-error-to-rethrow
        => ModuleScript::error_to_rethrow_ and its accessors.
        Also renamed ModuleScript::preinstantiation_error_ to
        parse_error_, and added its accessors,

        HTML/Blink no longer checks modules' status:

        Removed references to [[Status]] and [[ErrorCompletion]] field.
        => Removed Modulator::GetRecordStatus(), ModuleScript::RecordStatus(),
        and calls to ScriptModule::ErrorCompletion().

        Removed module script's "has instantiated"
        #concept-module-script-has-instantiated
        => Removed ModuleScript::HasInstantiated().

        A subsequent CL will do further cleanup.

        Error handling algorithms were updated:
        - #creating-a-module-script
        - #run-a-module-script
        - [FFPE] #finding-the-first-parse-error
        - [IMSGF] #internal-module-script-graph-fetching-procedure
        - [FD] #fetch-the-descendants-of-a-module-script
        - [FDaI] #fetch-the-descendants-of-and-instantiate-a-module-script
        - #hostresolveimportedmodule(referencingscriptormodule,-specifier)

        This CL updates the following accordingly:
        - ModuleScript::Create()
        - ModulatorImplBase::ExecuteModule().
        - ModuleTreeLinker.cpp.
        - ScriptModuleResolverImpl::Resolve()

        The behavior changes are:
        - User-facing: the error reported (to window.onerror etc.) is changed
        and made deterministic, as intended by the spec update.
        - V8-facing: this CL
        - invokes module instantiation of a module graph
        with existing instantiation/evaluation errors.
        - invokes evaluation of a module graph with existing evaluation errors.

        Bug: 763597
        Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
        ---
        M third_party/WebKit/LayoutTests/TestExpectations
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-1.html
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-1a.js
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-1b.js
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-2.html
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-2a.js
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-2b.js
        M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-1.html
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-1.js
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-2.html
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-2.js
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-3.html
        A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-3.js
        M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html
        M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html
        M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html
        M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html
        D third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-5-expected.txt
        M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html
        M third_party/WebKit/Source/bindings/core/v8/ScriptModuleTest.cpp
        M third_party/WebKit/Source/core/dom/DynamicModuleResolver.cpp
        M third_party/WebKit/Source/core/dom/DynamicModuleResolverTest.cpp
        M third_party/WebKit/Source/core/dom/Modulator.h
        M third_party/WebKit/Source/core/dom/ModulatorImplBase.cpp
        M third_party/WebKit/Source/core/dom/ModulatorImplBase.h
        M third_party/WebKit/Source/core/dom/ModulePendingScript.cpp
        M third_party/WebKit/Source/core/dom/ModuleScript.cpp
        M third_party/WebKit/Source/core/dom/ModuleScript.h
        M third_party/WebKit/Source/core/dom/ScriptModuleResolverImpl.cpp
        M third_party/WebKit/Source/core/dom/ScriptModuleResolverImplTest.cpp
        M third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoaderTest.cpp
        M third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.cpp
        M third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.h
        M third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinkerTest.cpp
        M third_party/WebKit/Source/core/testing/DummyModulator.cpp
        M third_party/WebKit/Source/core/testing/DummyModulator.h
        M third_party/WebKit/Source/core/workers/WorkletModuleTreeClient.cpp
        38 files changed, 508 insertions(+), 433 deletions(-)


        To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: newchange

        Kouhei Ueno (Gerrit)

        unread,
        Dec 5, 2017, 2:29:41 PM12/5/17
        to Hiroshige Hayashizaki, modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Domenic Denicola, Georg Neis, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

        lgtm % foxmes

        Patch set 20:Code-Review +1

        View Change

        7 comments:

          • Can we remove this test (and thus Lines 243--258 on the right), as we no longer assumes something ab […]

            remove sgtm

          • I changed this to a parse error (from instantiation error), because MTL is basically no longer affec […]

            Should this be a generic Error or does this need to be a specific type of error?

        To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
        Gerrit-Change-Number: 698467
        Gerrit-PatchSet: 20
        Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
        Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
        Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
        Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
        Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: David Black <dcb...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Rob Buis <rob....@samsung.com>
        Gerrit-CC: Thiago Farina <tfa...@chromium.org>
        Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
        Gerrit-Comment-Date: Tue, 05 Dec 2017 19:29:37 +0000
        Gerrit-HasComments: Yes
        Gerrit-HasLabels: Yes

        Domenic Denicola (Gerrit)

        unread,
        Dec 5, 2017, 5:20:21 PM12/5/17
        to Hiroshige Hayashizaki, modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Kouhei Ueno, Georg Neis, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

        View Change

        1 comment:

          • > Do I understand correctly, that errors 1, 2 and 4 are still guaranteed to be the same by HTML? […]

            So the general principle in the current spec is that error identity is not important to preserve. But, the spec still preserves it some times, in determistic ways.

            So we should write tests for what the spec says, since it's implementable unambiguously, even if we're not testing a property that's useful for developers.

            In particular, we should add tests that 1 === 2 and 2 === 4, but that others are distinct. Just because that's what the spec says, and we want interoperable implementations there.

            This is somewhat similar to how we write tests for silly things like `imgEl.decode.length === 0`, even though it's not a useful property for developers. It's still specified, and we want even these things to be interoperable and tested.

            Does that make sense?

        To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
        Gerrit-Change-Number: 698467
        Gerrit-PatchSet: 20
        Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
        Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
        Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
        Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
        Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: David Black <dcb...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Rob Buis <rob....@samsung.com>
        Gerrit-CC: Thiago Farina <tfa...@chromium.org>
        Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
        Gerrit-Comment-Date: Tue, 05 Dec 2017 22:20:17 +0000
        Gerrit-HasComments: Yes
        Gerrit-HasLabels: No

        Georg Neis (Gerrit)

        unread,
        Dec 12, 2017, 7:01:22 AM12/12/17
        to Hiroshige Hayashizaki, modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Domenic Denicola, Kouhei Ueno, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

        View Change

        1 comment:

          • So the general principle in the current spec is that error identity is not important to preserve. […]

            Hiroshige's comment sounds like it's fundamentally hard to implement the specified behavior in blink. Is that right?

            Independent of that, I'm trying to understand if the identity of some of these errors is something we explicitly desired or is rather a consequence of how things are set up. One of the key conclusions from our module summit was "don't record instantiation errors", and I didn't realize until recently that we are in fact recording instantiation errors in HTML.

        To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
        Gerrit-Change-Number: 698467
        Gerrit-PatchSet: 20
        Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
        Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
        Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
        Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
        Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: David Black <dcb...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Rob Buis <rob....@samsung.com>
        Gerrit-CC: Thiago Farina <tfa...@chromium.org>
        Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
        Gerrit-Comment-Date: Tue, 12 Dec 2017 12:01:15 +0000
        Gerrit-HasComments: Yes
        Gerrit-HasLabels: No

        Domenic Denicola (Gerrit)

        unread,
        Dec 12, 2017, 12:14:58 PM12/12/17
        to Hiroshige Hayashizaki, modul...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, dglazko...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Kouhei Ueno, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

        View Change

        1 comment:

          • Hiroshige's comment sounds like it's fundamentally hard to implement the specified behavior in blink […]

            My takeaway was more "don't preserve instantiation error identity", not "ensure every instantiation error has a unique identity".

            That said, if it is easier to implement re-generating a unique instantiation error every time, we can try to update the spec to match. I'm a little worried though about this Blink/spec mismatch on sync/async though; there might be a deeper problem there. I guess I did not intend "async" to necessarily mean "event loop async", so a sync implementation should be fine. I've filed https://github.com/whatwg/infra/issues/181 to try to clarify this at the spec level.

            Perhaps the right path is to move toward "ensure every instantiation error has a unique identity" since that allows more flexible implementation strategies?

        To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
        Gerrit-Change-Number: 698467
        Gerrit-PatchSet: 20
        Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
        Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
        Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
        Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
        Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
        Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: David Black <dcb...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Rob Buis <rob....@samsung.com>
        Gerrit-CC: Thiago Farina <tfa...@chromium.org>
        Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
        Gerrit-Comment-Date: Tue, 12 Dec 2017 17:14:54 +0000
        Gerrit-HasComments: Yes
        Gerrit-HasLabels: No

        Blink WPT Bot (Gerrit)

        unread,
        Dec 15, 2017, 8:24:13 PM12/15/17
        to Hiroshige Hayashizaki, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Domenic Denicola, Georg Neis, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

        Successfully updated WPT GitHub pull request with new revision "rebase fix": https://github.com/w3c/web-platform-tests/pull/8527

        View Change

          To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
          Gerrit-Change-Number: 698467
          Gerrit-PatchSet: 22
          Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
          Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
          Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
          Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
          Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
          Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
          Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
          Gerrit-CC: Commit Bot <commi...@chromium.org>
          Gerrit-CC: David Black <dcb...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Rob Buis <rob....@samsung.com>
          Gerrit-CC: Thiago Farina <tfa...@chromium.org>
          Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
          Gerrit-Comment-Date: Sat, 16 Dec 2017 01:24:08 +0000
          Gerrit-HasComments: No
          Gerrit-HasLabels: No

          Hiroshige Hayashizaki (Gerrit)

          unread,
          Dec 15, 2017, 8:25:28 PM12/15/17
          to blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Domenic Denicola, Georg Neis, Kouhei Ueno, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

          Addressed comments in the implementation code.

          I removed DCHECK()s using GetStatus() etc.
          I think that kind of conditions are checked in V8 side (in the impl for ECMAscript spec).
          Double-checking the conditions in Blink side might be helpful for catching bugs, but I slightly perfer removing those DCHECK()s and removing the calls to GetStatus()/GetException() completely from Blink, in order to make it clear that Blink (i.e. HTML-spec-side implementation) is implemented without any dependencies to any state changes after instantiation.

          View Change

          8 comments:

            • I'm ok simply removing this DCHECK

            • remove sgtm

              Removed.

            • Should this be a generic Error or does this need to be a specific type of error?

              The unit tests don't check the specific type of errors.
              According to the spec, the parse error can be SyntaxError or ReferenceError (errors caused in ECMAscript-side ParseModule()) or TypeError (when "resolving a module specifier" fails).
              I feel it's OK to leave as a generic Error unless we want to test specific error cases, but it's also fine with me to change this into e.g. SyntaxError. Do you have preferences for using specific error types?

          To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
          Gerrit-Change-Number: 698467
          Gerrit-PatchSet: 22
          Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
          Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
          Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
          Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
          Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
          Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
          Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
          Gerrit-CC: Commit Bot <commi...@chromium.org>
          Gerrit-CC: David Black <dcb...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Rob Buis <rob....@samsung.com>
          Gerrit-CC: Thiago Farina <tfa...@chromium.org>
          Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
          Gerrit-Comment-Date: Sat, 16 Dec 2017 01:25:26 +0000
          Gerrit-HasComments: Yes
          Gerrit-HasLabels: No

          Hiroshige Hayashizaki (Gerrit)

          unread,
          Dec 15, 2017, 11:50:39 PM12/15/17
          to blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Domenic Denicola, Georg Neis, Kouhei Ueno, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

          View Change

          1 comment:

            • Sorry for delay.

              In the context of this CL, I'd like to land the tests without checking the error object identity, and do the spec discussion separately.

              Split out my responses and thoughts, and summarized the discussion in a doc:
              https://docs.google.com/a/chromium.org/document/d/1MUnJ1Cp4l1yGNDxrRRV-35odkoqALrqhutBL_15Hlfc/edit?usp=sharing

              Hiroshige's comment sounds like it's fundamentally hard to implement the specified behavior in blink. Is that right?

              Yes. Because this is like a race condition.
              We have to make the behaviors spec-conformant everywhere (not only in module-related code but also in loading/parsing), because the race condition can be broken by a single sync/async difference.

          To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
          Gerrit-Change-Number: 698467
          Gerrit-PatchSet: 22
          Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
          Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
          Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
          Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
          Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
          Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
          Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
          Gerrit-CC: Commit Bot <commi...@chromium.org>
          Gerrit-CC: David Black <dcb...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Rob Buis <rob....@samsung.com>
          Gerrit-CC: Thiago Farina <tfa...@chromium.org>
          Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
          Gerrit-Comment-Date: Sat, 16 Dec 2017 04:50:29 +0000
          Gerrit-HasComments: Yes
          Gerrit-HasLabels: No

          Georg Neis (Gerrit)

          unread,
          Dec 18, 2017, 3:49:04 AM12/18/17
          to Hiroshige Hayashizaki, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Domenic Denicola, Kouhei Ueno, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

          View Change

          1 comment:

            • Sorry for delay. […]

              ACK to land now and discuss separately.

          To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
          Gerrit-Change-Number: 698467
          Gerrit-PatchSet: 22
          Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
          Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
          Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
          Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
          Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
          Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
          Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
          Gerrit-CC: Commit Bot <commi...@chromium.org>
          Gerrit-CC: David Black <dcb...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Rob Buis <rob....@samsung.com>
          Gerrit-CC: Thiago Farina <tfa...@chromium.org>
          Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
          Gerrit-Comment-Date: Mon, 18 Dec 2017 08:49:00 +0000
          Gerrit-HasComments: Yes
          Gerrit-HasLabels: No

          Hiroshige Hayashizaki (Gerrit)

          unread,
          Dec 18, 2017, 5:37:05 PM12/18/17
          to Domenic Denicola, Kunihiko Sakamoto, Hiroki Nakagawa, Georg Neis, Kouhei Ueno, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Blink WPT Bot, Yoav Weiss, chromium...@chromium.org, David Black, Nate Chapin, Rob Buis, Thiago Farina, Commit Bot

          Hiroshige Hayashizaki uploaded patch set #23 to this change.

          View Change

          [ES6 Module] Reflect Spec PR 2991 to make error handling deterministic

          Spec update: https://github.com/whatwg/html/pull/2991
          V8-side change: https://chromium-review.googlesource.com/763369

          Data members for errors are restructured:

          Removed module script's "is errored" #concept-module-script-is-errored
            => Removed ModuleScript::IsErrored().


          Removed module script's "error" #concept-module-script-error
            => Removed Modulator::GetError(), ModuleScript::CreateError(), and

          ModuleScript::CreateErrorInternal().

          Removed "set the pre-instantiation error"
          #concept-module-script-set-pre-instantiation-error
            => Removed ModuleScript::SetErrorAndClearRecord().


          Introduced script's "error to rethrow" #concept-script-error-to-rethrow
            => Added ModuleScript::error_to_rethrow_ and its accessors.

          Also renamed ModuleScript::preinstantiation_error_ to
          parse_error_, and added its accessors,

          HTML/Blink no longer checks modules' status:

          Removed references to [[Status]] and [[ErrorCompletion]] field.
          => Removed Modulator::GetRecordStatus(), ModuleScript::RecordStatus(),
          and calls to ScriptModule::ErrorCompletion().

          Removed module script's "has instantiated"
          #concept-module-script-has-instantiated
          => Removed ModuleScript::HasInstantiated().

          A subsequent CL will do further cleanup:
          https://chromium-review.googlesource.com/802465

          Error handling algorithms in the HTML spec were updated:

          - #creating-a-module-script
          - #run-a-module-script
          - [FFPE] #finding-the-first-parse-error
          - [IMSGF] #internal-module-script-graph-fetching-procedure
          - [FD] #fetch-the-descendants-of-a-module-script
          - [FDaI] #fetch-the-descendants-of-and-instantiate-a-module-script
          - #hostresolveimportedmodule(referencingscriptormodule,-specifier)

          And thus this CL updates the following accordingly:

          - ModuleScript::Create()
          - ModulatorImplBase::ExecuteModule()
          - ModuleTreeLinker.cpp

          - ScriptModuleResolverImpl::Resolve()

          The behavior changes are:
          - User-facing: the error reported (to window.onerror etc.) is changed
          and made deterministic, as intended by the spec update.
          - V8-facing: this CL
          - invokes module instantiation of a module graph
          with existing instantiation/evaluation errors.
          - invokes evaluation of a module graph with existing evaluation errors.
            These cases already occur, but this CL does these intentionally.
          38 files changed, 488 insertions(+), 437 deletions(-)

          To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: newpatchset
          Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
          Gerrit-Change-Number: 698467
          Gerrit-PatchSet: 23

          Blink WPT Bot (Gerrit)

          unread,
          Dec 18, 2017, 5:44:50 PM12/18/17
          to Hiroshige Hayashizaki, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Domenic Denicola, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

          Successfully updated WPT GitHub pull request with new revision "Edit commit message": https://github.com/w3c/web-platform-tests/pull/8527

          View Change

            To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
            Gerrit-Change-Number: 698467
            Gerrit-PatchSet: 23
            Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
            Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
            Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
            Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
            Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
            Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
            Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
            Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
            Gerrit-CC: Commit Bot <commi...@chromium.org>
            Gerrit-CC: David Black <dcb...@chromium.org>
            Gerrit-CC: Nate Chapin <jap...@chromium.org>
            Gerrit-CC: Rob Buis <rob....@samsung.com>
            Gerrit-CC: Thiago Farina <tfa...@chromium.org>
            Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
            Gerrit-Comment-Date: Mon, 18 Dec 2017 22:44:45 +0000
            Gerrit-HasComments: No
            Gerrit-HasLabels: No

            Hiroshige Hayashizaki (Gerrit)

            unread,
            Dec 18, 2017, 6:27:31 PM12/18/17
            to blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Domenic Denicola, Kouhei Ueno, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

            Slightly updated tests:

            • Updated stale comments.
            • Added choice-of-error-3.html to check that evaluation errors are remembered/cached.
            • Replaced errorhandling-parseerror-dependent.js with syntaxerror.js.

            View Change

              To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

              Gerrit-Project: chromium/src
              Gerrit-Branch: master
              Gerrit-MessageType: comment
              Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
              Gerrit-Change-Number: 698467
              Gerrit-PatchSet: 24
              Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
              Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
              Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
              Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
              Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
              Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
              Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
              Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
              Gerrit-CC: Commit Bot <commi...@chromium.org>
              Gerrit-CC: David Black <dcb...@chromium.org>
              Gerrit-CC: Nate Chapin <jap...@chromium.org>
              Gerrit-CC: Rob Buis <rob....@samsung.com>
              Gerrit-CC: Thiago Farina <tfa...@chromium.org>
              Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
              Gerrit-Comment-Date: Mon, 18 Dec 2017 23:27:27 +0000
              Gerrit-HasComments: No
              Gerrit-HasLabels: No

              Blink WPT Bot (Gerrit)

              unread,
              Dec 18, 2017, 6:28:00 PM12/18/17
              to Hiroshige Hayashizaki, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Domenic Denicola, Kouhei Ueno, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

              Successfully updated WPT GitHub pull request with new revision "Test refine": https://github.com/w3c/web-platform-tests/pull/8527

              View Change

                To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

                Gerrit-Project: chromium/src
                Gerrit-Branch: master
                Gerrit-MessageType: comment
                Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
                Gerrit-Change-Number: 698467
                Gerrit-PatchSet: 24
                Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
                Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
                Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
                Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
                Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
                Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
                Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
                Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
                Gerrit-CC: Commit Bot <commi...@chromium.org>
                Gerrit-CC: David Black <dcb...@chromium.org>
                Gerrit-CC: Nate Chapin <jap...@chromium.org>
                Gerrit-CC: Rob Buis <rob....@samsung.com>
                Gerrit-CC: Thiago Farina <tfa...@chromium.org>
                Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
                Gerrit-Comment-Date: Mon, 18 Dec 2017 23:27:56 +0000
                Gerrit-HasComments: No
                Gerrit-HasLabels: No

                Kouhei Ueno (Gerrit)

                unread,
                Dec 18, 2017, 9:05:48 PM12/18/17
                to Hiroshige Hayashizaki, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Georg Neis, Domenic Denicola, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

                still cr+1

                View Change

                  To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

                  Gerrit-Project: chromium/src
                  Gerrit-Branch: master
                  Gerrit-MessageType: comment
                  Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
                  Gerrit-Change-Number: 698467
                  Gerrit-PatchSet: 24
                  Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
                  Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
                  Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
                  Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
                  Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
                  Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
                  Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
                  Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
                  Gerrit-CC: Commit Bot <commi...@chromium.org>
                  Gerrit-CC: David Black <dcb...@chromium.org>
                  Gerrit-CC: Nate Chapin <jap...@chromium.org>
                  Gerrit-CC: Rob Buis <rob....@samsung.com>
                  Gerrit-CC: Thiago Farina <tfa...@chromium.org>
                  Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
                  Gerrit-Comment-Date: Tue, 19 Dec 2017 02:05:41 +0000
                  Gerrit-HasComments: No
                  Gerrit-HasLabels: No

                  Hiroshige Hayashizaki (Gerrit)

                  unread,
                  Dec 19, 2017, 4:56:30 PM12/19/17
                  to blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Kouhei Ueno, Georg Neis, Domenic Denicola, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, Commit Bot, chromium...@chromium.org, Nate Chapin, Rob Buis

                  Patch set 24:Commit-Queue +2

                  View Change

                    To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

                    Gerrit-Project: chromium/src
                    Gerrit-Branch: master
                    Gerrit-MessageType: comment
                    Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
                    Gerrit-Change-Number: 698467
                    Gerrit-PatchSet: 24
                    Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
                    Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
                    Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
                    Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
                    Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
                    Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
                    Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
                    Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
                    Gerrit-CC: Commit Bot <commi...@chromium.org>
                    Gerrit-CC: David Black <dcb...@chromium.org>
                    Gerrit-CC: Nate Chapin <jap...@chromium.org>
                    Gerrit-CC: Rob Buis <rob....@samsung.com>
                    Gerrit-CC: Thiago Farina <tfa...@chromium.org>
                    Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
                    Gerrit-Comment-Date: Tue, 19 Dec 2017 21:56:27 +0000
                    Gerrit-HasComments: No
                    Gerrit-HasLabels: Yes

                    Commit Bot (Gerrit)

                    unread,
                    Dec 19, 2017, 4:56:32 PM12/19/17
                    to Hiroshige Hayashizaki, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Kouhei Ueno, Georg Neis, Domenic Denicola, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, chromium...@chromium.org, Nate Chapin, Rob Buis

                    CQ is trying the patch.

                    Note: The patchset sent to CQ was uploaded after this CL was approved.
                    "Test refine" https://chromium-review.googlesource.com/c/698467/24

                    Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/chromium-review.googlesource.com/698467/24

                    Bot data: {"action": "start", "triggered_at": "2017-12-19T21:56:27.0Z", "cq_cfg_revision": "449ceedce2207329148e0a132f0c79a46cde3381", "revision": "bf412764a2a0c9096846b49595ac2bd11a2d5378"}

                    View Change

                      To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

                      Gerrit-Project: chromium/src
                      Gerrit-Branch: master
                      Gerrit-MessageType: comment
                      Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
                      Gerrit-Change-Number: 698467
                      Gerrit-PatchSet: 24
                      Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
                      Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
                      Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
                      Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
                      Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
                      Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
                      Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
                      Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
                      Gerrit-CC: Commit Bot <commi...@chromium.org>
                      Gerrit-CC: David Black <dcb...@chromium.org>
                      Gerrit-CC: Nate Chapin <jap...@chromium.org>
                      Gerrit-CC: Rob Buis <rob....@samsung.com>
                      Gerrit-CC: Thiago Farina <tfa...@chromium.org>
                      Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
                      Gerrit-Comment-Date: Tue, 19 Dec 2017 21:56:30 +0000
                      Gerrit-HasComments: No
                      Gerrit-HasLabels: No

                      Commit Bot (Gerrit)

                      unread,
                      Dec 19, 2017, 5:46:31 PM12/19/17
                      to Hiroshige Hayashizaki, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Kouhei Ueno, Georg Neis, Domenic Denicola, Blink WPT Bot, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, chromium...@chromium.org, Nate Chapin, Rob Buis

                      Commit Bot merged this change.

                      View Change

                      Approvals: Kouhei Ueno: Looks good to me Hiroshige Hayashizaki: Commit
                      [ES6 Module] Reflect Spec PR 2991 to make error handling deterministic

                      Spec update: https://github.com/whatwg/html/pull/2991
                      V8-side change: https://chromium-review.googlesource.com/763369

                      Data members for errors are restructured:

                      Removed module script's "is errored" #concept-module-script-is-errored
                        => Removed ModuleScript::IsErrored().


                      Removed module script's "error" #concept-module-script-error
                        => Removed Modulator::GetError(), ModuleScript::CreateError(), and

                      ModuleScript::CreateErrorInternal().

                      Removed "set the pre-instantiation error"
                      #concept-module-script-set-pre-instantiation-error
                        => Removed ModuleScript::SetErrorAndClearRecord().


                      Introduced script's "error to rethrow" #concept-script-error-to-rethrow
                        => Added ModuleScript::error_to_rethrow_ and its accessors.

                      Also renamed ModuleScript::preinstantiation_error_ to
                      parse_error_, and added its accessors,

                      HTML/Blink no longer checks modules' status:

                      Removed references to [[Status]] and [[ErrorCompletion]] field.
                      => Removed Modulator::GetRecordStatus(), ModuleScript::RecordStatus(),
                      and calls to ScriptModule::ErrorCompletion().

                      Removed module script's "has instantiated"
                      #concept-module-script-has-instantiated
                      => Removed ModuleScript::HasInstantiated().

                      A subsequent CL will do further cleanup:
                      https://chromium-review.googlesource.com/802465

                      Error handling algorithms in the HTML spec were updated:

                      - #creating-a-module-script
                      - #run-a-module-script
                      - [FFPE] #finding-the-first-parse-error
                      - [IMSGF] #internal-module-script-graph-fetching-procedure
                      - [FD] #fetch-the-descendants-of-a-module-script
                      - [FDaI] #fetch-the-descendants-of-and-instantiate-a-module-script
                      - #hostresolveimportedmodule(referencingscriptormodule,-specifier)

                      And thus this CL updates the following accordingly:

                      - ModuleScript::Create()
                      - ModulatorImplBase::ExecuteModule()
                      - ModuleTreeLinker.cpp

                      - ScriptModuleResolverImpl::Resolve()

                      The behavior changes are:
                      - User-facing: the error reported (to window.onerror etc.) is changed
                      and made deterministic, as intended by the spec update.
                      - V8-facing: this CL
                      - invokes module instantiation of a module graph
                      with existing instantiation/evaluation errors.
                      - invokes evaluation of a module graph with existing evaluation errors.
                        These cases already occur, but this CL does these intentionally.

                      Bug: 763597
                      Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
                      Reviewed-on: https://chromium-review.googlesource.com/698467
                      Commit-Queue: Hiroshige Hayashizaki <hiro...@chromium.org>
                      Reviewed-by: Kouhei Ueno <kou...@chromium.org>
                      Cr-Commit-Position: refs/heads/master@{#525168}

                      ---
                      M third_party/WebKit/LayoutTests/TestExpectations
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-1.html
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-1a.js
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-1b.js
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-2.html
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-2a.js
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-2b.js
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-3.html
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-3a.js
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/choice-of-error-3b.js

                      M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-1.html
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-1.js
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-2.html
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-2.js
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-3.html
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/error-type-3.js
                      M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html
                      M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html
                      M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html
                      M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html
                      D third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-5-expected.txt
                      M third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html
                      A third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/throw2.js

                      M third_party/WebKit/Source/bindings/core/v8/ScriptModuleTest.cpp
                      M third_party/WebKit/Source/core/dom/DynamicModuleResolver.cpp
                      M third_party/WebKit/Source/core/dom/DynamicModuleResolverTest.cpp
                      M third_party/WebKit/Source/core/dom/Modulator.h
                      M third_party/WebKit/Source/core/dom/ModulatorImplBase.cpp
                      M third_party/WebKit/Source/core/dom/ModulatorImplBase.h
                      M third_party/WebKit/Source/core/dom/ModulePendingScript.cpp
                      M third_party/WebKit/Source/core/dom/ModuleScript.cpp
                      M third_party/WebKit/Source/core/dom/ModuleScript.h
                      M third_party/WebKit/Source/core/dom/ScriptModuleResolverImpl.cpp
                      M third_party/WebKit/Source/core/dom/ScriptModuleResolverImplTest.cpp
                      M third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoaderTest.cpp
                      M third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.cpp
                      M third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.h
                      M third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinkerTest.cpp
                      M third_party/WebKit/Source/core/testing/DummyModulator.cpp
                      M third_party/WebKit/Source/core/testing/DummyModulator.h
                      M third_party/WebKit/Source/core/workers/WorkletModuleTreeClient.cpp
                      42 files changed, 533 insertions(+), 437 deletions(-)


                      To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

                      Gerrit-Project: chromium/src
                      Gerrit-Branch: master
                      Gerrit-MessageType: merged
                      Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
                      Gerrit-Change-Number: 698467
                      Gerrit-PatchSet: 25
                      Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
                      Gerrit-Reviewer: Commit Bot <commi...@chromium.org>
                      Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
                      Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
                      Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
                      Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
                      Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
                      Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
                      Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>

                      Blink WPT Bot (Gerrit)

                      unread,
                      Dec 19, 2017, 6:12:06 PM12/19/17
                      to Hiroshige Hayashizaki, Commit Bot, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, blink-work...@chromium.org, donnd...@chromium.org, eae+bli...@chromium.org, falken...@chromium.org, gavinp...@chromium.org, hiroshig...@chromium.org, horo+...@chromium.org, jered...@chromium.org, jfweit...@chromium.org, kinuko...@chromium.org, kmadhus...@chromium.org, kochi+...@chromium.org, kouhei...@chromium.org, loading...@chromium.org, melevi...@chromium.org, samart...@chromium.org, shimazu...@chromium.org, skanuj...@chromium.org, modul...@chromium.org, dglazko...@chromium.org, gavinp+p...@chromium.org, tyoshin...@chromium.org, Kouhei Ueno, Georg Neis, Domenic Denicola, Hiroki Nakagawa, Kunihiko Sakamoto, David Black, Thiago Farina, Yoav Weiss, chromium...@chromium.org, Nate Chapin, Rob Buis

                      The WPT PR for this CL has been merged upstream! https://github.com/w3c/web-platform-tests/pull/8527

                      View Change

                        To view, visit change 698467. To unsubscribe, or for help writing mail filters, visit settings.

                        Gerrit-Project: chromium/src
                        Gerrit-Branch: master
                        Gerrit-MessageType: comment
                        Gerrit-Change-Id: Ia02bb484290c5c07ab27e9c966db19a6e8d2596f
                        Gerrit-Change-Number: 698467
                        Gerrit-PatchSet: 25
                        Gerrit-Owner: Hiroshige Hayashizaki <hiro...@chromium.org>
                        Gerrit-Reviewer: Commit Bot <commi...@chromium.org>
                        Gerrit-Reviewer: Domenic Denicola <dom...@chromium.org>
                        Gerrit-Reviewer: Georg Neis <ne...@chromium.org>
                        Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
                        Gerrit-Reviewer: Hiroshige Hayashizaki <hiro...@chromium.org>
                        Gerrit-Reviewer: Kouhei Ueno <kou...@chromium.org>
                        Gerrit-Reviewer: Kunihiko Sakamoto <ksak...@chromium.org>
                        Gerrit-CC: Blink WPT Bot <blink-w3c-te...@chromium.org>
                        Gerrit-CC: David Black <dcb...@chromium.org>
                        Gerrit-CC: Nate Chapin <jap...@chromium.org>
                        Gerrit-CC: Rob Buis <rob....@samsung.com>
                        Gerrit-CC: Thiago Farina <tfa...@chromium.org>
                        Gerrit-CC: Yoav Weiss <yo...@yoav.ws>
                        Gerrit-Comment-Date: Tue, 19 Dec 2017 23:12:03 +0000
                        Gerrit-HasComments: No
                        Gerrit-HasLabels: No
                        Reply all
                        Reply to author
                        Forward
                        0 new messages