We need to pass these two types into the compositor, so we need a better
way to serialize these rust types. We use serde and bincode to
serialize/deserialize them, and use ByteBuf to pass the &[u8] data
through IPC. We define StyleVecU8 for FFI usage only.
Differential Revision: https://phabricator.services.mozilla.com/D50688
This also includes the implementation of SetAnimatable, FromAnimatable,
and merge the final matrix with motion path.
Besides, we always use PathBuilderSkia for calculating the gfx::Path for
web-renderer.
Differential Revision: https://phabricator.services.mozilla.com/D50011
This is a gross hack, of course, but has the advantage of not breaking sites
that use both zoom and -moz-transform / -moz-transform-origin.
There should be no behavior change when the pref is off, of course, and the
webcompat team wanted to experiment with this.
Differential Revision: https://phabricator.services.mozilla.com/D49792
This is effectively superseded by the hover / any-hover media queries, which
actually are standard, and is also causing trouble in the wild.
Not even the browser fronted uses it, so we should be able to just remove it
everywhere at once.
Differential Revision: https://phabricator.services.mozilla.com/D49506
Binding stream consumer to support asynchronous WebAssembly compilation
This PR contains changes related to binding the Stream Consumer wrapper for supporting async WebAssembly compilation in Servo. The changes are listed below:
- Added a StreamConsumer wrapper and implemented its corresponding behaviors such as consumeChunk, streamEnd, streamError, and noteResponseURLs.
- Added ReportStreamErrorCallback for reporting the CompileError/TypeError occurred during the compilation.
---
- [X] `./mach build -d` does not report any errors, however, it has a few warnings of unused functions since we are calling them as yet.
- [X] `./mach test-tidy` does not report any errors
- [X] These changes are part of #21476 fix
keypress event should be triggered for keys representing character
values. So, we should trigger this event for enter key.
This event should not trigger for IME inputs.
Adding a check for "Linux Mint" with a space
<!-- Please describe your changes on the following line: -->
While trying to run `./mach bootstrap` on Linux Mint I encountered the following error:
```
$ ./mach bootstrap
Traceback (most recent call last):
File "./mach", line 103, in <module>
main(sys.argv)
File "./mach", line 31, in main
sys.exit(mach_bootstrap.bootstrap_command_only(topdir))
File "/home/gmartin/servo/python/mach_bootstrap.py", line 234, in bootstrap_command_only
bootstrap(context, force)
File "/home/gmartin/servo/python/servo/bootstrap.py", line 403, in bootstrap
distrib, version = get_linux_distribution()
File "/home/gmartin/servo/python/servo/bootstrap.py", line 391, in get_linux_distribution
raise Exception('mach bootstrap does not support %s, please file a bug' % distrib)
Exception: mach bootstrap does not support Linux Mint, please file a bug
```
The solution is to add another check for Linux Mint which included a space in the distro name.
Question: Is it generally a requirement to open an issue if I also have the fix ready to go (as is the case here)?
---
<!-- 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: -->
- [X] These changes do not require tests because I couldn't find any existing unit tests for [python/servo/bootstrap.py](python/servo/bootstrap.py)
<!-- 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. -->
Store Option<ImageInfo> instead of making fields of ImageInfo optional
Fixes#24582
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#24582
- [X] These changes do not require tests
Use surfman for managing GL surfaces
<!-- Please describe your changes on the following line: -->
Replaces texture sharing with surfman surface sharing.
---
<!-- 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#23509 and #24256
- [x] These changes do not require tests because this is backend gfx
<!-- 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. -->
UWP: More mouse events
Support more UWP Desktop events (mouse wheel, mouse move, etc).
This introduces a new issue, where the basic bbjs demo requires double click to select a color (unrelated to #24530 I believe). Filed #24596.
Next step is to properly fire touch events in HoloLens and only mouse events on Desktop (see #24587).
implement PerformanceResourceTiming duration
<!-- Please describe your changes on the following line: -->
Implements #21255
I wanted to give this a shot, but I'm not sure this is the appropriate implementation. In particular, I'm not sure if adding duration to the webidl interface is correct, because that doesn't seem to align with the web version (linked above the interface)?
Also, I'd like to write a test for this method, but I'm not sure where that test should go.
My apologies if this is way off target.
---
<!-- 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#21255 (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___
<!-- 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. -->