Граф коммитов

143 Коммитов

Автор SHA1 Сообщение Дата
Connor Brewster e1f688d0c6 servo: Merge #17112 - Implement custom element registry (from cbrewster:custom_element_registry); r=jdm
<!-- Please describe your changes on the following line: -->
Implements https://html.spec.whatwg.org/multipage/#customelementregistry

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

<!-- Either: -->
- [X] 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: b584944f1731c71920abf9a03e1f3cd1e790f7c4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f6ef7d4f479353a14d76019fb549a3f76f4c0e5c
2017-06-05 08:38:03 -07:00
Simon Sapin e46e47b554 servo: Merge #16915 - Shrink selectors::Component, implement attr selector (in)case-sensitivity (from servo:attr-selectors); r=nox,emilio
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364148
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364162
* https://bugzilla.mozilla.org/show_bug.cgi?id=1363531
* Fixes #3322

Source-Repo: https://github.com/servo/servo
Source-Revision: 640b16634f2828bad46ab6d78e785dfc2025ab46

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4a43dcd2e56b875856847024cf6fdd62b60a01a7
2017-05-18 18:45:20 -05:00
Imanol Fernandez cda127d899 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

--HG--
rename : servo/support/android/apk/AndroidManifest.xml => servo/support/android/apk/app/src/main/AndroidManifest.xml
rename : servo/support/android/apk/res/mipmap/servo.png => servo/support/android/apk/app/src/main/res/mipmap/servo.png
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2da8cf56223c150832fddb3e8878432f4d64bc6e
2017-04-21 15:52:13 -05:00
Alex Touchet f1219b63e0 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9ee9b90f460018ea99120ceab730533d01198ec6
2017-04-20 20:51:04 -05:00
Imanol Fernandez 975fde609c 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5ae2853a5fc26b6a0fedc0cbb9b3eef9e6ad6049
2017-04-13 16:10:42 -05:00
Pu Xingyu 9dbfd77cb1 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 91901414fe722f1c8bc59a83b70f181610c08983
2017-04-05 15:09:14 -05:00
Sumit 7137918b7e 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : febfe9bf5d1c77941bdc9a4e820a0e08741b2d57
2017-04-05 01:56:16 -05:00
Manish Goregaokar c767073d91 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bc9165c32c895a23dcebc27ebdd2a2b28b2ebfdc
2017-04-03 12:50:21 -05:00
Pu Xingyu 6f26be4ea1 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cd55c9aba7e57bf92d9c386fc8a17fd5fafe95b3
2017-04-01 06:02:08 -05:00
Zakor Gyula 67516483ed 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 50bc944e75966879ab6aca2a6cc229212e733d64
2017-02-14 08:09:22 -08:00
ddh bba84e16bc 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 e844d9a158 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 952fe5d9e8 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 ce7a545f6b 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 76bfd8c1e3 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 f2c2d3f13a 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 23b92da701 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 bdf073c6ea 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 208596903e 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 9ee8d60e3e 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

--HG--
rename : servo/resources/gatt_blacklist.txt => servo/resources/gatt_blocklist.txt
2016-11-22 05:55:02 -06:00
Ms2ger 370665a3b6 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 57fb13cb5d 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

--HG--
rename : servo/components/style/servo/mod.rs => servo/resources/shaders/cs_text_run.glsl
rename : servo/resources/shaders/ps_clear.fs.glsl => servo/resources/shaders/ps_cache_image.fs.glsl
rename : servo/resources/shaders/ps_clear.glsl => servo/resources/shaders/ps_cache_image.glsl
2016-11-10 16:55:17 -06:00
Glenn Watson 207a746daa 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 7d3399c8b2 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 1878ef834a 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 b0c848f946 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 fa4f7b60bd 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 6ad46429a2 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 b15c7b02f2 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 388552ec0a 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 153e88778c 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 6a43d7d27a 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 9a67ba798b 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

--HG--
rename : servo/resources/shaders/box_shadow.fs.glsl => servo/resources/shaders/cs_box_shadow.fs.glsl
rename : servo/resources/shaders/ps_box_shadow.glsl => servo/resources/shaders/cs_box_shadow.glsl
2016-10-30 15:27:56 -05:00
Patrick Walton dff6bf022d 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 3343c7bba3 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 0291b6ce45 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

--HG--
rename : servo/resources/shaders/ps_gradient_clip.fs.glsl => servo/resources/shaders/ps_gradient.fs.glsl
rename : servo/resources/shaders/ps_gradient_clip.glsl => servo/resources/shaders/ps_gradient.glsl
rename : servo/resources/shaders/ps_gradient_clip.vs.glsl => servo/resources/shaders/ps_gradient.vs.glsl
2016-10-26 01:25:57 -05:00
Glenn Watson a868463cf4 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 a3190c995f 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 ac3830c363 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 da2cbe8ea0 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

--HG--
rename : servo/resources/shaders/ps_gradient.fs.glsl => servo/resources/shaders/ps_gradient_clip.fs.glsl
rename : servo/resources/shaders/ps_gradient.glsl => servo/resources/shaders/ps_gradient_clip.glsl
2016-10-17 22:21:58 -05:00
Patrick Walton 46cac5f5b8 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 e87bbe3700 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 398a51c86f 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 b3b313caef 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 0499dfe2bc 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 6f807dc02b 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 93c1ffc0ec 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 bb807a0860 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 ae3a87fe68 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 3b64ccb98d 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