CDP: fix Page.addScriptToEvaluateOnNewDocument in iframes [chromium/src : main]

209 views
Skip to first unread message

Dmitry Gozman (Gerrit)

unread,
Oct 22, 2021, 3:30:41 PM10/22/21
to Andrey Kosyakov, blink-...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, loading...@chromium.org

Attention is currently required from: Andrey Kosyakov.

Dmitry Gozman would like Andrey Kosyakov to review this change.

View Change

CDP: fix Page.addScriptToEvaluateOnNewDocument in iframes

When iframe cancels the initial navigation by document.open,
we did not create isolated worlds and did not evaluate scripts
on new document.

Ideally, we would force a context and evaluate/create worlds
in the initial empty document, because it could be actually
become the real document in multiple circumstances (e.g. window.stop).
Unfortunately, this breaks assumptions in random places
like GuestView (see Patchset 4).

For now, only cover document.open path.

Change-Id: I1651196526c23dec1f8c25dd79926e0ae5ff8887
---
M third_party/blink/web_tests/inspector-protocol/page/add-script-to-evaluate-in-world-expected.txt
M third_party/blink/renderer/core/inspector/inspector_page_agent.cc
M third_party/blink/renderer/core/loader/frame_loader.cc
M third_party/blink/renderer/core/inspector/inspector_page_agent.h
M third_party/blink/renderer/core/probe/core_probes.pidl
M third_party/blink/web_tests/inspector-protocol/page/add-script-to-evaluate-in-world.js
6 files changed, 82 insertions(+), 16 deletions(-)


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

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I1651196526c23dec1f8c25dd79926e0ae5ff8887
Gerrit-Change-Number: 3236032
Gerrit-PatchSet: 6
Gerrit-Owner: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
Gerrit-MessageType: newchange

Dmitry Gozman (Gerrit)

unread,
Oct 22, 2021, 3:30:46 PM10/22/21
to blink-...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, loading...@chromium.org, Andrey Kosyakov, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin

Attention is currently required from: Andrey Kosyakov.

View Change

1 comment:

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

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I1651196526c23dec1f8c25dd79926e0ae5ff8887
Gerrit-Change-Number: 3236032
Gerrit-PatchSet: 6
Gerrit-Owner: Dmitry Gozman <dgo...@chromium.org>
Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Comment-Date: Fri, 22 Oct 2021 19:30:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment

Andrey Kosyakov (Gerrit)

unread,
Oct 22, 2021, 7:20:27 PM10/22/21
to Dmitry Gozman, blink-...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, loading...@chromium.org, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin

Attention is currently required from: Dmitry Gozman.

Patch set 6:Code-Review +1

View Change

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

    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I1651196526c23dec1f8c25dd79926e0ae5ff8887
    Gerrit-Change-Number: 3236032
    Gerrit-PatchSet: 6
    Gerrit-Owner: Dmitry Gozman <dgo...@chromium.org>
    Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
    Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Attention: Dmitry Gozman <dgo...@chromium.org>
    Gerrit-Comment-Date: Fri, 22 Oct 2021 23:20:20 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    Gerrit-MessageType: comment

    Dmitry Gozman (Gerrit)

    unread,
    Oct 22, 2021, 7:33:34 PM10/22/21
    to blink-...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, loading...@chromium.org, Andrey Kosyakov, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin

    Attention is currently required from: Dmitry Gozman.

    Patch set 6:Commit-Queue +2

    View Change

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

      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I1651196526c23dec1f8c25dd79926e0ae5ff8887
      Gerrit-Change-Number: 3236032
      Gerrit-PatchSet: 6
      Gerrit-Owner: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-Attention: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Comment-Date: Fri, 22 Oct 2021 23:33:20 +0000

      Chromium LUCI CQ (Gerrit)

      unread,
      Oct 22, 2021, 7:38:14 PM10/22/21
      to Dmitry Gozman, blink-...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, loading...@chromium.org, Andrey Kosyakov, chromium...@chromium.org, Nate Chapin

      Chromium LUCI CQ submitted this change.

      View Change


      Approvals: Andrey Kosyakov: Looks good to me Dmitry Gozman: Commit
      CDP: fix Page.addScriptToEvaluateOnNewDocument in iframes

      When iframe cancels the initial navigation by document.open,
      we did not create isolated worlds and did not evaluate scripts
      on new document.

      Ideally, we would force a context and evaluate/create worlds
      in the initial empty document, because it could be actually
      become the real document in multiple circumstances (e.g. window.stop).
      Unfortunately, this breaks assumptions in random places
      like GuestView (see Patchset 4).

      For now, only cover document.open path.

      Change-Id: I1651196526c23dec1f8c25dd79926e0ae5ff8887
      Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3236032
      Reviewed-by: Andrey Kosyakov <ca...@chromium.org>
      Commit-Queue: Dmitry Gozman <dgo...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#934240}

      ---
      M third_party/blink/web_tests/inspector-protocol/page/add-script-to-evaluate-in-world-expected.txt
      M third_party/blink/renderer/core/inspector/inspector_page_agent.cc
      M third_party/blink/renderer/core/loader/frame_loader.cc
      M third_party/blink/renderer/core/inspector/inspector_page_agent.h
      M third_party/blink/renderer/core/probe/core_probes.pidl
      M third_party/blink/web_tests/inspector-protocol/page/add-script-to-evaluate-in-world.js
      6 files changed, 86 insertions(+), 16 deletions(-)


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

      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I1651196526c23dec1f8c25dd79926e0ae5ff8887
      Gerrit-Change-Number: 3236032
      Gerrit-PatchSet: 7
      Gerrit-Owner: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-MessageType: merged

      Wenbin Zhang (Gerrit)

      unread,
      Oct 27, 2021, 12:32:37 PM10/27/21
      to Dmitry Gozman, Chromium LUCI CQ, blink-...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, loading...@chromium.org, Andrey Kosyakov, chromium...@chromium.org, Nate Chapin

      Wenbin Zhang has created a revert of this change.

      View Change

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

      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I1651196526c23dec1f8c25dd79926e0ae5ff8887
      Gerrit-Change-Number: 3236032
      Gerrit-PatchSet: 7
      Gerrit-Owner: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Dmitry Gozman <dgo...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-MessageType: revert
      Reply all
      Reply to author
      Forward
      0 new messages