This prevents the demuxer attempting to use the parent resources once the parent has been shutdown.
MozReview-Commit-ID: LQqPxBkAfAS
--HG--
extra : rebase_source : 1a9c2e870aecb5b0ecb68d5f600c48334ac4d312
This is a big change, and unfortunately impossible to break down with independently functional commits.
There are four main changes being applied here:
* Code cleanup, including making all MediaDataDecoder related code mozilla coding style compliant
* Make MediaDataDecoder use MozPromise
* Making Flush and Shutdown processes fully asynchronous
* Fixing few data races encountered across the code, in particular in the Android PDM
MozReview-Commit-ID: DpiZucGofJT
--HG--
extra : rebase_source : 80bd6c6f9726d536b6f306c40d9af6df27333be9
We can make some assumptions now that the Input method is only called once and never again while a decode is pending.
MozReview-Commit-ID: EmzKEcwNY2J
--HG--
extra : rebase_source : 42ae59878962b425970a60abe25d98c023ef4fdf
The platform is no longer supported, and the promisifying of the MediaDataDecoder makes it not worthwhile to continue maintenance.
MozReview-Commit-ID: FjDzRk5YQp3
--HG--
extra : rebase_source : a28f0e2cada698f5be93c9115b1af6c7789f9d4e
It is no longer used and in its current state incompatible with promise based decoders.
We'll re-add it later.
MozReview-Commit-ID: DHsyTsFvTZB
--HG--
extra : rebase_source : 4b1a7dba2a001ff32ffe4ef4df63b91f15a43e83
This is not compatible with promise based decoders. We'll re-implement it in a different fashion later on.
MozReview-Commit-ID: HYBNKVxEUmB
--HG--
extra : rebase_source : fe9f26e47b77a64099a422be844d20f4108663d0
IdleRequestExecutor::MaybeDispatch needs to handle the case when
mWindow is null, due to IdleRequestExecutor::Cancel setting mWindow to
nullptr.
MozReview-Commit-ID: F2Up5mItkqN
This update is mostly because the upstream implementation is now free of
the gnarly, XP-required implementation of condition variables and
updating both the posix and windows implementations at the same time
seemed easier.
This merge commit joins a Mercurial conversion of the Servo Git
repository with the mainline of the Firefox repository.
The converted Git history was obtained by running the following command
on revision e0c5a75dfaa6a9f8d23daa54438e987554cafe82 of the
version-control-tools repository:
$ linearize-git-to-hg \
--exclude-dir src/test/wpt \
--exclude-dir src/test/ref \
--exclude-dir tests/ref \
--exclude-dir tests/wpt \
--summary-prefix servo: \
--remove-reviewable \
--source-repo-key Source-Repo \
--source-revision-key Source-Revision \
--normalize-github-merge-message \
--committer-action use-author \
--use-p2-author \
--with-hg ~/bin/hg \
--copy-similarity 75 \
--find-copies-harder \
--skip-submodules \
--move-to-subdir servo \
--github-username <redacted> \
--github-token <redacted> \
https://github.com/servo/servo master servo-git-source servo-hg-dest
This command obtained a clone of the Servo Git repo and converted it to
Mercurial. Along the way, it:
* Collapsed all commits in merge commits into a single squashed commit,
producing a linear history
* excluded WPT files (because there are tens of thousands of them)
* excluded "ref" tests (because they aren't wanted)
* prefixed commit message summary line with "servo:"
* removed reviewable.io text from commit messages
* added links to the original repo and revision in the commit message
* rewrote commit messages so pull request messages are consistently
formatted
* replaced the Git "committer" with the "author" so they always agree
* used the author of the 2nd parent of a merge commit as the author of
the "squashed" commit
* reparented all files into a "servo" subdirectory
* applied aggressive copy detection (find copies by looking at files
that didn't change)
* marked copies if contents were at least 75% similar
The result of that conversion was pulled into the Firefox repo with
`hg pull --force` (--force was needed to allow a new root changeset).
Then, this head was merged into the mainline by running
`hg merge -t :remote`. A merge tool was specified because there was
an existing dummy geckoservo crate defined, which we wanted to overwrite
with the real thing.
The Mercurial version used was 4.1 (4.1 is necessary because of new
features in `hg convert`).
IGNORE BAD COMMIT MESSAGES (to bypass commit message hook)
a=release (to bypass WebIDL hook)
MozReview-Commit-ID: LSQNMdsZmee
--HG--
extra : rebase_source : 067cb266da2fc64e1cbf0a460be98889232fca67
I want to get Servo vendored into servo/. The previous plan was to
replace the dummy geckolib with the real deal when the vendoring is
done. Unfortunately, this will require a significant `cargo vendor`
change, which we want to punt on for a bit.
So, this commit moves our dummy geckolib outside of servo/ so we
don't need to `cargo update` or `cargo vendor` when the real servo/
is installed.
The change to toolkit/library/rust/shared/Cargo.toml can be reverted
in the stylo repo to allow it to use the real geckolib.
We also update the taskgraph code for detecting Servo. Previously,
it looked for a file in the possibly-vendored servo/ directory. Once
the vendoring happens, this check will always pass. But without the
real geckolib, the Servo builds will fail. So, we change the check
to look for the real geckolib. This is implemented a bit hackily.
But it will be short-lived until we run `cargo vendor`.
MozReview-Commit-ID: CxGTwy6bK9j
--HG--
rename : servo/ports/geckolib/Cargo.toml => toolkit/library/geckolib/Cargo.toml
rename : servo/ports/geckolib/lib.rs => toolkit/library/geckolib/lib.rs
extra : rebase_source : c0e9c867ae74c4eb124e72dc481fd8dc814e65e7