Commit Graph

141 Commits

Author SHA1 Message Date
Imanol Fernandez
7bd74466d2 servo: Merge #15773 - Android life cycle improvements and Gradle integration (from MortimerGoro:android_improvements); r=larsbergstrom,fabricedesre
This PR includes Android life cycle Improvements and Gradle integration for android packaging.

Android life cycle improvements are implemented in both the new [MainActivity](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-f43708b102e98272c2af7454b8846927) and native code in this related PR: https://github.com/servo/glutin/pull/117
- Properly handle the life cycle of the Android Activity: manage EGLContext lost & restore, and animation loop pause/resume when the app goes to background/foreground or orientation changes. In the current upstream Servo crashes when the app goes to background, activity stops or changes orientation
- Handle event loop awake for Servo Animation loop
- Handle screen resize & orientation events
- Implement new keep_screen_on preference which keeps Android device's screen from ever going to sleep: very useful for games or WebVR
- Implement a full screen mode enabled by preference: very useful for games or WebVR
- Implement new shell.native-orientation preference which allows to lock the Activity to a specific orientation
- Automatically sync new android assets to sdcard when the Android version code is changed.  In the current upstream only the existence of the folder is check but resources are not updated

ofscreen_gl_context is updated to fix this: https://github.com/emilio/rust-offscreen-rendering-context/pull/83

This PR integrates Gradle build system for android packaging. Most of the code is implemented in this [build.gradle](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-89cdb9324addb994cdba0a158b209547) . We can get rid of [build-apk](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-40f5a7cf22f94aad059b2c1795347f5e) and manual jar dependency copying in the [package_commands.py](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-0d425b142c8d10ae6ac1f3711fb5c23a). The correct version of gradle is automatically downloaded using the gradlew wrapper.

Some improvements:
- Allows to include more complex android dependencies/SDKs like AARs, manifest auto-merging and more.
- Improved packaging process: The gradle project is always in the same folder, it uses relative paths for everything (assets, native libraries) and outputs the apk into the correct target folder in servo. In the current upstream, ant/python build system copies the manifest, project, resources and jars each time so you end with multiple copies of the same files.
- Improved dependency declaration. We do not have to manually copy jar dependencies in the python script anymore. The gradle build scripts itself is able to search for the dependencies in the correct servo target folder.
- Supports packaging apks with different architectures: armeabi, armeabi-v7a, aarch64. We still need to fix some native servo compilation issues with armeabi-v7a, aarch64 due to dependencies which use `make`. I'll push this changes in a separate PR of the python build files but the gradle file is already ready to handle that.
- We can easily create product flavors for different versions of Servo. For example a default browser, a WebVR browser with additional dependencies or a Servo android Webview component
- Fixes minor.major.52 build error when blurdroid cargo dependency is compiled using java8 (the default in new Linux machines). The gradle build file enables the new Jack compiler which supports Java8 dependencies.
- The project can be opened with Android Studio and run the brand new GPU debugger on any Android phone. I'll add some docs in the Wiki about this.

---
<!-- 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 #14568 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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: 2b5c17c43a517b6d6bd981f5fa905536dddd3beb
2017-04-21 15:52:13 -05:00
Alex Touchet
0952d16f7a servo: Merge #16509 - Add new Servo icon for Windows (from atouchet:win-ico); r=jdm
Use 256x256/48x48/32x32/16x16 instead of 64x64/32x32/24x24/16x16 as per Microsoft's documentation: https://msdn.microsoft.com/en-us/library/windows/desktop/dn742485%28v=vs.85%29.aspx

<!-- Please describe your changes on the following line: -->

Replace Servo.ico with updated version.
---
<!-- 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
- [X] These changes fix #16484 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 17dc598d995c71748024cac432b76189722d10ea
2017-04-20 20:51:04 -05:00
Imanol Fernandez
a0cf2377cc servo: Merge #16260 - Gamepad API implementation (from MortimerGoro:gamepad); r=nox,larsbergstrom
<!-- Please describe your changes on the following line: -->

Gamepad API implementation. Tested with HTC Vive and Daydream controllers ;)

---
<!-- 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 #10977

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because : current gamepad tests are manual (https://github.com/w3c/web-platform-tests/tree/master/gamepad). There is a  open issue about the best way to test WebVR/Gamepad without real devices https://github.com/w3c/webvr/issues/187. We'll work on the testing suite & mock devices/data on a separate issue.

<!-- 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: 26c45275ffaccf746e47606a74b3aee519673e54
2017-04-13 16:10:42 -05:00
Pu Xingyu
67a2d86659 servo: Merge #16265 - Inherit 'text-overflow' and 'overflow' in text fragment (from stshine:oh-box-model); r=emilio
This is an implementation detail that is necessary for 'text-overflow'
to work properly.

<!-- Please describe your changes on the following line: -->

---
<!-- 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 _____

<!-- 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: 1e6bd4a134a2cc0ebaef4af771fa8f4368426af2
2017-04-05 15:09:14 -05:00
Sumit
5b52b7579e servo: Merge #16268 - Basic MutationObserver interface stubs (from jdm:tmp); r=jdm
Rebase and squash of https://github.com/servo/servo/pull/16190.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e2a1477ae800b86eae45fc9c6daf85615100854
2017-04-05 01:56:16 -05:00
Manish Goregaokar
c486ee25b8 servo: Merge #15106 - Update cert-generator and certs (from Manishearth:certs); r=avadacatavra
r? @avadacatavra

Source-Repo: https://github.com/servo/servo
Source-Revision: aa6cf08e4bb1d47e5f1a1e11466443340c3b8b31
2017-04-03 12:50:21 -05:00
Pu Xingyu
b2d041f615 servo: Merge #16096 - Use Servo-specific pseudo elements for anonymous box and text (from stshine:die-modify-style-die); r=emilio
<!-- Please describe your changes on the following line: -->

Use some fake pseudo elements to style servo-specific boxes in servo. Also, Since for nested inline elements non-inheritable properties are properly stored in the inline context of an inline fragment, so get
rid of them on the style using empty pseudo to do cascading.

---
<!-- 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 #5625 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because refactoring

<!-- 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: 449758ef5dd399f7e1a5a9550dcdd614056cee9e
2017-04-01 06:02:08 -05:00
Zakor Gyula
12efa26e3a servo: Merge #15314 - Permissions API and WebBluetooth integration (from szeged:permissions-api); r=jdm
<!-- Please describe your changes on the following line: -->
This implements the [Permissions API](https://w3c.github.io/permissions/) spec.
Also includes the WebBluetooth related implementation for this.

There are some know issues:
- [ ] If the descriptor name is invalid [this](https://gist.github.com/dati91/7a6a0a563d90f49ba5a351e48c5b626b#file-permissionstatusbindings-rs-L323) will throw an error, rather that return it and we could handle it.
- [x] The [environment settings object](https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object) is not implemented in servo and the spec rely on it.
- [x] There is a popup in the implementation which prevent us to add wpt test, we should figure out a way to make it work
- [ ] The allowedDevice's allowed_services attribute is not used in our implementation, because we store these in the lower level, not in the dom side.
- [ ] We think the bluetooth revoke function will need some more work, but the problem is the spec needs clarifications on that part.

---
<!-- 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
- [ ] These changes do not require tests because

<!-- 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: a537cf48b18d9bba3453b924a4453f5e19dea4ed
2017-02-14 08:09:22 -08:00
ddh
df412d27a8 servo: Merge #15104 - added lets encrypt authority x3 to trusted roots pem (from avadacatavra:letsencryptauth); r=SimonSapin
<!-- Please describe your changes on the following line: -->
servo gave an ssl error on servoexperiments.com because it didn't have the Let's Encrypt X3 authority (https://letsencrypt.org/certificates/)

---
<!-- 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 #15087 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ X] These changes do not require tests because webpage couldn't load before, can now :)

<!-- 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: 3a8167350b2544859745b1b89c96ca262b510e12
2017-01-19 12:03:26 -08:00
tyler
5357daadc9 servo: Merge #15026 - Max session fix (from tydus101:max-session-fix); r=jdm
<!-- Please describe your changes on the following line: -->
Converted document discarding from an opt into a pref. Updated testing docs and changed all uses to pref api.

---
<!-- 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 #14960 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because current test suite is sufficient

<!-- 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: d09bf70d220262e2c199abf61b4b78b7137d6665
2017-01-14 15:08:56 -08:00
Imanol Fernandez
0dd62e4907 servo: Merge #14618 - WebVR API Implementation (from MortimerGoro:webvr_api); r=larsbergstrom,emilio,jdm,nox,asajeffrey,cvan
<!-- Please describe your changes on the following line: -->

WebVR API Implementation with HTC Vive support on Windows. The current implementations only enables the WebVR support on Windows. In other platforms the API is available on JavaScript but navigator.vr.getDisplays() returns an empty array. This will change when we add support for more VR providers and platforms ;)

Info about the architecture:
https://blog.mozvr.com/webvr-servo-architecture-and-latency-optimizations/
---
<!-- 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] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Proprietary openvr.dll must be copied next to servo.exe in order to test on HTC Vive (https://github.com/ValveSoftware/openvr/tree/master/bin/win64) I have added some of the official WebVR samples for testing. Switch on your headset and run:

mach run tests/html/webvr/room-scale.html

Source-Repo: https://github.com/servo/servo
Source-Revision: 518ef39cfd429082dd8dc0d5b13e2db637d08a53
2017-01-09 06:39:45 -08:00
UK992
4443ac0b4b servo: Merge #14877 - Package: Create ZIP on Windows and fix MacOS nightlies (from UK992:mach-package); r=Wafflespeanut
Fix https://github.com/servo/servo/issues/14852

r? @Wafflespeanut

Source-Repo: https://github.com/servo/servo
Source-Revision: 698491b8872d9f364e47b4e249851ad35f552a4b
2017-01-05 21:45:31 -08:00
UK992
fa8ef55c08 servo: Merge #14737 - Package: Various improvements (from UK992:package-prefs); r=Wafflespeanut
Fixes https://github.com/servo/servo/issues/11966
Fixes https://github.com/servo/servo/issues/12707

Also adds simple mechanism to set os specific prefs, by adding  like `os:macosx,os:windows;` before pref name.

Source-Repo: https://github.com/servo/servo
Source-Revision: b5f3d7dd413886037de8f1bc435ede34a98421b3
2016-12-29 10:28:37 -08:00
Raghav
78d93bf941 servo: Merge #14716 - Implement HSTS fetch step (from mrnayak:hsts); r=jdm
Implemented step nine of the main fetch. If current URL scheme is 'HTTP' and
current URL's host is domain and if current URL's host matched with Known
HSTS Host Domain Name Matching results in either a superdomain match with
an asserted includeSubDomains directive or a congruent match then we
change request scheme to 'https'. This change has been made in method.rs

A test case to validate this has been added in fetch.rs. For asserting
https scheme, a https localhost was required. For this purpose I have
created a self-signed certificate and refactored fetch-context and
connector.rs to programmatically trust this certificate for running this
test case.

This should fix https://github.com/servo/servo/issues/14363
<!-- Please describe your changes on the following line: -->

---
<!-- 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 #14363

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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: c7991d596f7453d09c2b2a98eecce72f182a4e24
2016-12-29 00:35:09 -08:00
Jansen Jan
b54cd9aa0a servo: Merge #13489 - Add support for fullscreen #10102 (from farodin91:fullscreen); r=jdm
<!-- Please describe your changes on the following line: -->

I'm start working on fullscreen support.
@jdm Should be the entry_point in ScriptReflow a Option if fullscreen is enabled or point on the entry_node? For example the RootNode.

---

<!-- 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 #10102  (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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: 8b69e73594647319e95bd0fd36c2addabcee1e5d
2016-12-09 09:52:34 -08:00
Attila Dusnoki
2cbb38a0e8 servo: Merge #14429 - Replace Syntax with TypeError in bluetoothuuid.rs (from szeged:syntax-to-type-error); r=jdm
<!-- Please describe your changes on the following line: -->
1. Replacing `SyntaxError` with `TypeError` in `bluetoothuuid.rs` due to the specification change.
This indicates changes in the existing tests.
The error strings are from the chromium implementation.
2. We missed out a `$` character from the end of the `VALID_UUID_REGEX` global variable.

---
<!-- 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

<!-- Either: -->
- [x] There are tests for these changes OR

<!-- 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: b54cfc9f259e72ea26e68ec8a7b1d617cf0812d3
2016-12-06 17:30:40 -08:00
Glenn Watson
2d65b999ff servo: Merge #14286 - Update to webrender 0.10.0 (from gterzian:update_canvas_with_offscreen_context); r=jdm
<!-- Please describe your changes on the following line: -->

Changes necessary to build servor with webrender 0.10.0

---
<!-- 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 _____

<!-- 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: e1eff691f8a1d8c9c7ab33344364f0419626b80e
2016-11-24 12:29:52 -08:00
Zakor Gyula
503a2deadd servo: Merge #14206 - Rename blacklist to blocklist in WebBluetooth (from szeged:blacklist-to-blocklist); r=jdm
<!-- Please describe your changes on the following line: -->
There was a renaming in the [specification](1d5cfa4ee8).

---
<!-- 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] There are tests for these changes OR

<!-- 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: a89ba50180532bc652db7ff649f252ffdca33177
2016-11-22 05:55:02 -06:00
Ms2ger
b5c242484b servo: Merge #14204 - Remove the network.http.redirection-limit preference (from servo:redirection-limit); r=jdm
The Fetch standard defines this value as twenty; there is no good reason to
allow changing that at runtime.

Source-Repo: https://github.com/servo/servo
Source-Revision: bcd409cf4af7cdef6527af853f1c27410c8a6781
2016-11-14 08:39:26 -06:00
Vladimir Vukicevic
2f368d2b31 servo: Merge #14153 - Add support for DirectWrite font rendering on Windows (from vvuk:win32-dwrite); r=glennw
<!-- Please describe your changes on the following line: -->
This PR adds support for DirectWrite text rendering using a thin wrapper for dwrite, as well as similar functionality added to WebRender.  In doing so it removes the FreeType dep from the Windows build.

There is still work to be done here, but this is a good starting point for future cleanup and fixes.

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [X] These changes fix #13371 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are already tested by other tests

<!-- 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: 796fae4bbe966a4e6e32b01fa44f6123c7162992
2016-11-10 16:55:17 -06:00
Glenn Watson
69fdcce055 servo: Merge #14145 - Update WR - stride support, remove deprecated / unused shaders (from glennw:update-wr-remove-shaders); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 99f125721017e0f46a5b01b8771245395b7cb880
2016-11-09 04:50:45 -06:00
Glenn Watson
aa5c3cc164 servo: Merge #14122 - Update WR and shaders (initial subpixel AA work) (from glennw:update-wr-subpx); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 8122d2c9daef4adaf2287d155502bf279cfd1d5a
2016-11-08 08:10:19 -06:00
Patrick Walton
a4ee25c738 servo: Merge #14111 - style: Turn the CSS flexible box model on by default (from servo:pcwalton-turn-flexbox-on); r=emilio,jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c4bd2027b723df9a999b25917ebb293acf9f722c
2016-11-08 03:31:16 -06:00
Martin Robinson
e0f12feb6a servo: Merge #14084 - Don't promote all scrollable regions to stacking contexts (from mrobinson:scroll_root_2); r=glennw
<!-- Please describe your changes on the following line: -->

Don't promote all scrollable regions to stacking contexts

Instead annotate all flows with their owning ScrollRoots. When
processing the display list items into a flattened display list, we add
PushScrollRoot and PopScrollRoot to signal when scrolling regions start
and end. It is possible for content from different scrolling regions to
intersect and when they do, the stack of scrolling regions is
duplicated.  When these duplicated scrolling regions stacks reach
WebRender, it will scroll them in tandem.

The PushScrollRoot and PopScrollRoot items are currently represented as
StackingContexts in WebRender, but eventually these will be replaced
with special WebRender display items.

---
<!-- 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 #13529 and #13298. (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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: ef5ca14283f1f47654093b5c196ab813efb53ea8
2016-11-07 18:49:53 -06:00
Yuki Izumi
231d5ffcee servo: Merge #14092 - Sort check on JSON (from kivikakk:sort-check); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Check that JSON keys are ordered, and that there's no duplicates (for `resources/prefs.json` and `resources/package-prefs.json`).

---
<!-- 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]  🆕 `./mach test-tidy --self-test` does not report any errors
- [x] These changes fix #12283

<!-- Either: -->
- [x] There are tests for these changes 🎉

<!-- 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: 94d0c485e10138e0d5b2bd8b41b6a922a22a059f
2016-11-07 07:41:34 -06:00
Glenn Watson
2208c361ff servo: Merge #14074 - Manually copy across a shader fix from WR (from glennw:shader-hot-fix); r=pcwalton
This fix has landed in WR, but WR can't be updated right now, due
to a scroll change landing in WR without the Servo PR being ready
quite yet.

Fixes #14061.
Fixes #14073.

Source-Repo: https://github.com/servo/servo
Source-Revision: 516be8f85c0c79b16c3841c60d887661abe91e81
2016-11-04 19:09:35 -05:00
zakorgyula
f610add736 servo: Merge #13612 - WebBluetooth Test API and tests (from szeged:test-api-impl); r=jdm
<!-- Please describe your changes on the following line: -->

This patch depends on the [devices mock device support PR](https://github.com/servo/devices/pull/17).
After it lands, the Cargo files can be updated.
1. Adjust to the changes in [devices mock device support PR](https://github.com/servo/devices/pull/17).
2. WebBluetooth Test API implementation. Based on : https://webbluetoothcg.github.io/web-bluetooth/tests.html
3. Wpt tests for the already landed WebBluetooth functions.

<!-- 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

<!-- Either: -->
- [x] There are tests for these changes

<!-- 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: dae007fd1634bcf1545e67abaa7746fa95f10e94
2016-11-04 07:44:42 -05:00
Glenn Watson
51f389f617 servo: Merge #14057 - Update WR, add some key mappings, bind Ctrl-F12 to WR profiler (from glennw:update-wr-keys); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 651e40f33eff08f836b76024b77bddc77089490c
2016-11-04 03:11:32 -05:00
Glenn Watson
f0ef0bceda servo: Merge #14007 - Update WR - fixes for local clip rect + 3d transformed content (from glennw:update-wr-3d-text); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: c69c6cf58bb31de36af98d4b84dfdec2724d5b5b
2016-10-31 18:11:37 -05:00
Glenn Watson
cd3fc301b7 servo: Merge #13990 - Update WR - text + 3d transform fix, android build fix, documentation (from glennw:update-wr-text-fix); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: cecfea071442de4dc64206225747c897d4a619e5
2016-10-31 03:34:43 -05:00
Martin Robinson
7ebd503192 servo: Merge #13957 - Track overflow:scroll stacking contexts with ScrollRootId instead of StackingContextId (from mrobinson:scroll_root); r=glennw
<!-- Please describe your changes on the following line: -->

---
<!-- 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 this PR should not change behavior.

<!-- 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: 3a3f3192a87dbcd5d05efb82a1f4dde23f9c4cf7
2016-10-30 15:27:56 -05:00
Patrick Walton
6780d80ec9 servo: Merge #13870 - layout: Rewrite anonymous table code, simplify and fix table intrinsic width calculation, and improve safety of flexbox code (from pcwalton:anonymous-table-rewrite); r=mbrubeck
Closes #13782.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6b40f97289c4c5a20b539992c3d511b3bf470f28
2016-10-26 20:14:04 -05:00
Patrick Walton
3946574e28 servo: Merge #13926 - script: Fix issues relating to <iframe frameborder> (from pcwalton:iframe-frameborder); r=emilio
These changes implement the `frameBorder` attribute on `HTMLIFrameElement` and fix the syntax of the rule that implements this presentational hint in the presentational hint stylesheet.

Improves google.com.

Source-Repo: https://github.com/servo/servo
Source-Revision: b489ba0983e2bfbbbb4720a1ac0639854522ac0d
2016-10-26 19:13:09 -05:00
Glenn Watson
96cfaad8ad servo: Merge #13927 - Update WR - texture layers, image mask, profiler, optimizations (from glennw:update-wr-texture-layers); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 2b236c20cd4451338aff1121f3cb4c03657d87b1
2016-10-26 01:25:57 -05:00
Glenn Watson
6e3d0c9374 servo: Merge #13900 - Update WR - includes a number of optimizations, bsd build fixes, tidy ups (from glennw:update-wr-more-opts); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 6029c927eef7332a0b0ee9a7c8c7b6c9065e23b2
2016-10-24 20:38:23 -05:00
Martin Robinson
34924f6afa servo: Merge #13873 - Remove stacking context nesting from WebRender display construction (from mrobinson:remove-nesting); r=glennw
<!-- Please describe your changes on the following line: -->

---
<!-- 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 should not produce any behavior changes.

<!-- 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: d5e412b3f19fa72687cf3ad246dfb8312b1f2368
2016-10-23 21:48:28 -05:00
Glenn Watson
938905ce0b servo: Merge #13843 - Update WR, and copy new shaders (from glennw:update-wr-shaders); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 77dd618e7a7c8c67df94e795a2727fb437ee7f21
2016-10-20 15:47:13 -05:00
Glenn Watson
78b5fd6989 servo: Merge #13808 - Update webrender to get clip_shared changes (from glennw:update-wr-clip); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fe78c346a35ce81cd602d1caf6e0ef188bf339ad
2016-10-17 22:21:58 -05:00
Patrick Walton
72b96b3469 servo: Merge #13737 - resources: Avoid using :matches in presentational-hints.css, since we don't support it (from pcwalton:expand-matches); r=emilio
Based on IRC discussions, this was determined to be an acceptable
stopgap in lieu of implementing `:matches`, which has complicated
precedence rules.

Improves Google search results.

r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: dc5dc5e614e3e5b26081c44e1bb348f0f07dae5e
2016-10-13 12:51:53 -05:00
Patrick Walton
de5f94eda0 servo: Merge #13602 - layout: Rewrite Servo's vertical-align support to match CSS 2.1 § 10.8, and implement vertical-align: middle per CSS 2.1 § 10.8.1 (from pcwalton:vertical-align-middle); r=mbrubeck
`InlineMetrics` has been split into `InlineMetrics` for fragments and
`LineMetrics` for lines. Both structures' fields have been renamed in
order to more clearly delineate the difference between *space* and
*content*. Vertical positioning of fragments has been reworked to take
margins and borders into account only for replaced content.

This patch fixes the `vertical_align_super_a.html` reftest. Servo now
matches the rendering that Gecko and WebKit produce.

Additionally, this includes a test for the popular inline-block
centering technique described here:
https://s.codepen.io/shshaw/fullpage/gEiDt?#Inline-Block

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 768a699fa5d822173b2247d6348413d09951a8bb
2016-10-11 15:33:47 -05:00
Glenn Watson
6ce66d3108 servo: Merge #13592 - Update webrender (text run + transforms fix) (from glennw:update-wr-text-runs); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 8a3af9d1b9fe55a802d6463f6e4a5dbf39a1ecff
2016-10-05 03:41:13 -05:00
Patrick Walton
bfed70c44b servo: Merge #13445 - resources: Give button elements white-space: normal again (from pcwalton:button-whitespace); r=mbrubeck
Fixes Twitter.

Originally regressed in 0a86543e6decf02860a5a98c46e01940e79af6fa.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 6693c92c03c9bfffaa748246416d4db795a6a988
2016-09-30 13:16:56 -05:00
Glenn Watson
4e705fd391 servo: Merge #13474 - Switch default renderer to webrender, and update webrender (from glennw:wr-default); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a082501173918d6a5808881f84556cb78391b9b2
2016-09-28 13:42:14 -05:00
Jonathan Schuster
0dea697810 servo: Merge #13354 - Style input-text pseudo with user-agent CSS (from schuster:input-text-style); r=pcwalton
This changes the input-text pseudo-element to be styled with user-agent CSS rather than having a hard-coded style, as part of #8570

---
<!-- 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 a refactoring of existing functionality

<!-- 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: 28ebab43987b0f9829a03a3c043e621cae2db1fe
2016-09-23 21:08:19 -05:00
Glenn Watson
ccc6563a70 servo: Merge #13309 - webgl: FBO support preparation (from anholt:webgl-fbo-prep); r=emilio
<!-- Please describe your changes on the following line: -->
Sending this PR now so that we can get the webrender patches merged.  This is prep for the webgl-fbo series, with one small fix for some conformance tests.

---
<!-- 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] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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: 7c0dfd07ad5149406b389ca893d51f6fa442e98e
2016-09-20 19:19:21 -05:00
Glenn Watson
60ce9a7e95 servo: Merge #13330 - Update webrender (prim cache changes, blend/composite shaders) (from glennw:update-wr-prim-cache); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: f313beee9bf70a73d1b0d06b1e36e67ad9e28deb
2016-09-19 21:47:40 -05:00
Glenn Watson
5e97f05e36 servo: Merge #13288 - Update webrender + shaders (from glennw:update-wr-lazy-shaders-scroll); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 79dda5e8cb82b58a3cea8e6dbd2b6ab805f7b250
2016-09-15 20:23:30 -05:00
Glenn Watson
d2dbf40eb3 servo: Merge #13273 - Update webrender, gleam and associated shaders (from glennw:update-wr-floats); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b3db4b4c0dfc41ffbf566da15bd85ebdb7b1ea1f
2016-09-14 19:05:26 -05:00
Glenn Watson
61d7041e05 servo: Merge #13198 - Update WR/shaders (more AA, VTF mac fix, reftest fixes) (from glennw:wr-update-vtf); r=ConnorGBrewster
Source-Repo: https://github.com/servo/servo
Source-Revision: 0daf71d58b7081aaa2900e5b8c76f5ac0b8b19e4
2016-09-08 14:53:06 -05:00
Glenn Watson
86beaf251b servo: Merge #13189 - Revert "Update WR (various reftest fixes)." (from glennw:revert-vtf); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a1af3564c0072274543ac5f1ca260d5fe79227b
2016-09-06 21:21:39 -05:00