Implement mediasession set positon state
<!-- Please describe your changes on the following line: -->
fix#24808
> Bonus points if you want to tweak the existing UI by adding a progress bar, and the info about the current position and total duration.
I haven't implemented this yet.
---
<!-- 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 fix#24808 (GitHub issue number if applicable)
<!-- Either: -->
- [x] There are tests for these changes OR
<!-- 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. -->
Add url parameter to the servosrc gstreamer plugin
<!-- Please describe your changes on the following line: -->
Support a `url` parameter for the gstreamer plugin.
---
<!-- 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 fix#24836
- [x] These changes do not require tests because adding features to a port
<!-- 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. -->
Ensure all iframes are sized correctly at creation
Following in the path of #22395, these commits serve several purposes:
* prevent layout instability early during iframe loads caused by a succession of resize events
* reduce the complexity of determining what actual DPI and initial window size values are being used at startup
* ensure that all documents have a correct initial viewport size at creation
These changes fix problems that were exposed by the changes in #24462 but are independent of that PR.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes
Print an error if Glutin port needs to manage a new tab
When a tab needs to be created because the user clicks on a link with a `target=…` attribute, the Glutin port just ignores it, creating weird behaviors.
We should at least print an error.
The angle and disable-vsync options were declared as global options but
only used in the Glutin embedding for desktop builds. Moving them to
the Glutin embedding code makes them easier to update.
Partially fixes#23009