<!-- Please describe your changes on the following line: -->
These are the necessary servo changes for https://bugzilla.mozilla.org/show_bug.cgi?id=1387594 .
I'm also re-importing the generated Gecko bindings from my object directory:
- servo/components/style/gecko/generated/structs_debug.rs
- servo/components/style/gecko/generated/structs_release.rs
But the number of changes to those files surprises me.
---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they're tested by compiling mozilla-central once the patches from https://bugzilla.mozilla.org/show_bug.cgi?id=1387594 land - without this patch, Firefox won't compile.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 28b1c3818f81f593e691ded1109cfaab829825ae
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2934de139097f1426e76fe4775a852f67fc9abbe
This isn't a super essential feature, and is just a change to try to bring us in
line with chromium and the spec. As this has apparent web compat issues, and
DataTransfer is a hard to test area, this patch moves the changes behind a pref,
which we can come back to turning on after we ship 57.
Previously the code looped and yielded between each loop. This caused the
DataTransfer to be cleared before the read completed.
This splits the loop into 2 sections such that we read all important data from
the DataTransfer before it is cleared.
nsLayoutStatics::Initialize is sometimes too early to know whether a process
is an e10s parent process, or a non-e10s main process, because some prefs
get loaded later on. So we unconditionally initialize some Servo data in
nsLayoutStatics::Initialize, but we still check later on whether we are
really a non-e10s main process or e10s content process when deciding whether
to preload Servo style sheets, choose our document backend type, etc.
MozReview-Commit-ID: 93tPCvuTdzl
--HG--
extra : rebase_source : 07092bab376310867fa1a87210ba6c3eddb9cc8e
```
implement size hint for
more iterators because why
not we like fast things
```
Source-Repo: https://github.com/servo/servo
Source-Revision: bb2030a49314433c1b31f853e4fa50afa241b596
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : fb164a6e8e51ebba14d97ee7600567b3b517dc30
The current timeout was added to deal with some shutdown deadlocks that were
happining in the wild, but were hard to reproduce locally and therefore
diagnose. It's not clear whether the bulk of those have been fixed, so I'm
reluctant to remove the timeout entirely.
But the current 1s timeout is quite short, and doesn't allow for proper
cleanup in a lot of legitimate cases. The async shutdown service starts to
emit warnings at 10s, so 8s gives us enough time to avoid at least that.
MozReview-Commit-ID: 94zZjYUY8qZ
--HG--
extra : rebase_source : 980cce2af1117d6d46f6083910672e3ef8702981
extra : histedit_source : d8d9b2d7f6312b5d8801e4e26d2b0c0a32a538c2
The main change here is to disconnect stream filters immediately if we try to
send start or data events to a window that's already been destroyed.
It also fixes a race where we end up in the wrong state if a stop event
arrives while the channel is being disconnected.
MozReview-Commit-ID: LwxXxoRUDgQ
--HG--
extra : rebase_source : 8c04e4be2f74850f28d642350b9ff268ab3206e4
extra : histedit_source : d0c18c9a190179431b81fdb32262a0324dc35762