Add FromJSValConvertible for enums
Fixes https://github.com/servo/servo/issues/26169
This adds FromJSValConvertible implementations for webidl enums, which allows them to be used within `sequence<>`, etc.
This also uses these implementations when converting arguments.
Remove assertion for negative value from get_uniform_location
closes#26150
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26150 (GitHub issue number if applicable)
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___
Do not filter out platform objects when doing dictionary conversions in overload resolution
https://heycam.github.io/webidl/#es-overloads
In step 12, the platform object check is for substep 4, but importantly it only matters if `V` implements the matching interface. If not, it should be able to fall back to substep 10 and attempt conversion to a dictionary.
Update user agent strings
<!-- Please describe your changes on the following line: -->
Loading github.com in the latest nightlies gives an error about using an unsupported browser: https://help.github.com/articles/supported-browsers
This updates the Firefox version in the user agent string to see if it improves things.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (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. -->
https://heycam.github.io/webidl/#es-overloads
In step 12, the platform object check is for substep 4, but importantly it only matters if `V` implements the matching interface. If not, it should be able to fall back to substep 10 and attempt conversion to a dictionary.
Remove WebVR
<!-- Please describe your changes on the following line: -->
Removes support for WebVR. WebXR is our future!
---
<!-- 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 how do you test
<!-- 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. -->
Fix missing Babylon.js content
Since the surfman upgrade work already merged to master on webxr, and this fix for Babylon.js content is extremely urgent, this change puts us temporarily on a branch that doesn't include the surfman upgrade.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26149
- [x] These changes do not require tests because there are no tests for the openxr backend.
Support WebGL2 contexts in immersive mode
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26138
Add initial support for VertexAttribI4* and VertexAttribIPointer
Add initial support for the WebGL2 `VertexAttribI4i`, `VertexAttribI4iv`, `VertexAttribI4ui`, `VertexAttribI4uiv` and `VertexAttribIPointer` calls.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#26134 and fix#26123.
- [x] There are tests for these changes