Script lookup iframes by frameid#13646
Conversation
|
Heads up! This PR modifies the following files:
|
|
The first commit in this PR is actually #13627, we shouldn't merge this one until it lands. |
|
☔ The latest upstream changes (presumably #13627) made this pull request unmergeable. Please resolve the merge conflicts. |
b1d34f7 to
7948fd5
Compare
|
☔ The latest upstream changes (presumably #13741) made this pull request unmergeable. Please resolve the merge conflicts. |
7948fd5 to
94c7391
Compare
|
Rebased. |
nox
left a comment
There was a problem hiding this comment.
Just a question, otherwise r=me.
| /// Dispatch a mozbrowser event to a given iframe, | ||
| /// or to the window if no subpage id is provided. | ||
| /// First PipelineId is for the parent, second PipelineId is for the actual pipeline. | ||
| /// First PipelineId is for the parent, second PipelineId is in the frame. |
There was a problem hiding this comment.
What does it mean that it is "in the frame"? It still lives here so it's a but confusing.
There was a problem hiding this comment.
Good point, that second pipeline id should be a frame id.
94c7391 to
bc290df
Compare
|
Working on this, turns out there were bugs, sigh. |
|
☔ The latest upstream changes (presumably #13878) made this pull request unmergeable. Please resolve the merge conflicts. |
|
I haven't done more than skim recent changes in this PR, but I'm concerned about the changes to how the document load event is initiated. The old design was that it was fine to optimistically enqueue a "I think the document is finished loading everything" event, because when being run it would first check if that were actually the case. Some of the changes and comments around them make me worried that this is no longer true. |
|
@jdm yes, this is what I've been spending my time debugging. I now understand better what the document loading code is doing, I even wrote some comments so that future me might remember this. At least the wpt test suite caught this. |
5129976 to
9631237
Compare
…try> Script thread with no root document <!-- Please describe your changes on the following line: --> This PR removes the single root document from the script thread, and replaces it by a lookup table from `PipelineId`s to `Document`s. This is needed if we're going to share script threads, as per #633. The last commit is the one that matters, the ones before are #13646. cc @jdm @Ms2ger @ConnorGBrewster --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes do not require tests because refactoring <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14013) <!-- Reviewable:end -->
7ecee09 to
e886199
Compare
|
Rebased. @bors-servo try |
…=<try> Script lookup iframes by frameid <!-- Please describe your changes on the following line: --> Lookup iframes by `FrameId` rather than `PipelineId`. This should make lookup much more reliable, since the frame id doesn't change. cc @ConnorGBrewster @aneeshusa --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes do not require tests because refactoring <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13646) <!-- Reviewable:end -->
|
☀️ Test successful - arm32, arm64, linux-dev, linux-rel-css, linux-rel-wpt, mac-dev-unit, mac-rel-css, mac-rel-wpt1, mac-rel-wpt2, windows-dev |
…try> Script thread with no root document <!-- Please describe your changes on the following line: --> This PR removes the single root document from the script thread, and replaces it by a lookup table from `PipelineId`s to `Document`s. This is needed if we're going to share script threads, as per #633. The last commit is the one that matters, the ones before are #13646. cc @jdm @Ms2ger @ConnorGBrewster --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes do not require tests because refactoring <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14013) <!-- Reviewable:end -->
e886199 to
f3993d9
Compare
|
Squashed and rebased @bors-servo r=ConnorGBrewster |
|
📌 Commit f3993d9 has been approved by |
…try> Script thread with no root document <!-- Please describe your changes on the following line: --> This PR removes the single root document from the script thread, and replaces it by a lookup table from `PipelineId`s to `Document`s. This is needed if we're going to share script threads, as per #633. The last commit is the one that matters, the ones before are #13646. cc @jdm @Ms2ger @ConnorGBrewster --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes do not require tests because refactoring <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14013) <!-- Reviewable:end -->
…=ConnorGBrewster Script lookup iframes by frameid <!-- Please describe your changes on the following line: --> Lookup iframes by `FrameId` rather than `PipelineId`. This should make lookup much more reliable, since the frame id doesn't change. cc @ConnorGBrewster @aneeshusa --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes do not require tests because refactoring <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13646) <!-- Reviewable:end -->
|
☀️ Test successful - arm32, arm64, linux-dev, linux-rel-css, linux-rel-wpt, mac-dev-unit, mac-rel-css, mac-rel-wpt1, mac-rel-wpt2, windows-dev |
Script thread with no root document <!-- Please describe your changes on the following line: --> This PR removes the single root document from the script thread, and replaces it by a lookup table from `PipelineId`s to `Document`s. This is needed if we're going to share script threads, as per #633. The last commit is the one that matters, the ones before are #13646. cc @jdm @Ms2ger @ConnorGBrewster --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes do not require tests because refactoring <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14013) <!-- Reviewable:end -->
Script thread with no root document <!-- Please describe your changes on the following line: --> This PR removes the single root document from the script thread, and replaces it by a lookup table from `PipelineId`s to `Document`s. This is needed if we're going to share script threads, as per #633. The last commit is the one that matters, the ones before are #13646. cc @jdm @Ms2ger @ConnorGBrewster --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes do not require tests because refactoring <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14013) <!-- Reviewable:end -->
Lookup iframes by
FrameIdrather thanPipelineId. This should make lookup much more reliable, since the frame id doesn't change.cc @ConnorGBrewster @aneeshusa
./mach build -ddoes not report any errors./mach test-tidydoes not report any errorsThis change is