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

163 Коммитов

Автор SHA1 Сообщение Дата
Paul Rouget a0dd2872af servo: Merge #20228 - Ports refactoring (from paulrouget:ports_refactor); r=jdm
Depends on https://github.com/servo/servo/pull/20071 and https://github.com/servo/servo/pull/19895

This PR does 3 things:
1) merge all the embedder coordinates callbacks into one
2) hand the embedder messages directly to the embedder
3) split the embedder code in 2 files: window.rs and browser.rs

This is in preparation for tabs support in `ports/`. We want to separate the windowing logic (glutin stuff) and the browsing logic (tabs management, browsers state, etc). It's also easier to bypass the callbacks and directly handle events.

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

<!-- 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: 2de89377db63ec03ae3b1256486c4c32b33f5fce

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2c3a783c1ade39c9580be7452598e1c97d2a990f
2018-03-22 08:10:45 -04:00
Paul Rouget fdb8f25cb4 servo: Merge #20182 - Prompt URL on Cmd/Ctrl-L (from paulrouget:ctrl_l); r=jdm
<!-- Please describe your changes on the following line: -->

The `sanitize_url` code is very naive. I'm sure we can do better.
This ServoShell issue describes the problem: https://github.com/paulrouget/servoshell/issues/59

I can fix that now if someone can help me figure out how to tell if a string is a valid url which is just missing a scheme. Or we can do that in a follow up.

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7c313a0358fb1b5923cad0221afdfae11ba11b03
2018-03-04 12:48:30 -05:00
Emilio Cobos Álvarez 1319d160ae servo: Merge #20138 - style: Only expose longhands to rust via iterators (from emilio:longhand-iterator); r=nox
The key here is that we only filter longhands if the shorthand is accessible to
content and vice-versa. This prevents the bug that prevented me to land this
patch before, which was us not expanding properly chrome-only shorthands.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0be3a7fae2730bfef52db94db7f3af14b60be67

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2afb50b62cab334fcec0cdcccd793abca8fdb3ec
2018-02-28 06:28:41 -05:00
Emilio Cobos Álvarez 4ed9aaf6b8 servo: Merge #20136 - style: Make Servo deal with CSS property prefs more correctly (from emilio:servo-prefs); r=SimonSapin
Right now you could still set preffed-off properties from CSSStyleDeclaration.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3d8363cd87cd9e94fa6ce5e1ba14123e0514a7ef

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 17a3a4ba12d73f86565e7a0fd1f95b734cb9ec40
2018-02-27 14:16:08 -05:00
Paul Rouget 23c32a1748 servo: Merge #19975 - Kill browserhtml (from paulrouget:killbhtml); r=mbrubeck,emilio
Fixes https://github.com/servo/servo/issues/19971

Source-Repo: https://github.com/servo/servo
Source-Revision: b1d3d6f6324394f0e9f17b027fef24420d829b5c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 15c8b4050d084908ae58fb9dbf6dfcc179698d76
2018-02-13 04:54:47 -05:00
Adrian Wielgosik 511aeddd07 servo: Merge #19722 - Remove js.mem.gc.refresh_frame_slices.enabled pref (from adrian17:master); r=emilio
Clean up after gecko [bug 1421358](https://bugzilla.mozilla.org/show_bug.cgi?id=1421358), which removed the pref entirely.

Source-Repo: https://github.com/servo/servo
Source-Revision: 02f1864770c108a47b3c83c3d89293222cb6dfcf

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2588bb21f54258c3639ad1d6a222f98fcef0761d
2018-01-08 04:52:09 -06:00
Emilio Cobos Álvarez 691ff85bf1 servo: Merge #19640 - tests/net: Update testing cert (from emilio:testing-cert); r=emilio
Fies #19634

Source-Repo: https://github.com/servo/servo
Source-Revision: a2d8e0c79e880ef94e2ba368bb3c9744b98b3ea1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3caff93b2a9e1bc4cfab7aa8ed38e2244d845c54
2017-12-24 08:53:29 -06:00
Gregory Terzian c949aef52f servo: Merge #18676 - Continue http cache work (from gterzian:continue_http_cache_work); r=jdm
<!-- Please describe your changes on the following line: -->

Work in progress, and not quite worth a review yet. (Continuation of https://github.com/servo/servo/pull/4117)

TODO

- [ ] cache metadata (find some subset of`net_traits::Metadata` that can be shared across threads, it seems the problem is mainly stuff inside `hyper::header` in the `headers` field)

- [ ] determine which other fields of a `Response` need to be cached, so a full and valid one can be returned upon a cache hit.

- [ ] determine how to best share the cache across fetch threads (inside HttpState like I tried now?)

- [ ] Spend more time reading the spec and make sure the cache follows it where it matters.

- [ ] Make the current wpt tests pass.

- [ ] More...

---
<!-- 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 #12972  (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: e2bc0f017cfd24734777f64d8607b23dbe9552d7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 059fa41ef6c333ab9cc0adece4f431fec59a84c2
2017-11-20 18:22:06 -06:00
Vijay Hebbar ae622d03ea servo: Merge #19038 - Added implementation for itemprop and itemtype along with test files (from CJ8664:master); r=jdm
<!-- 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

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5227df260c601b86358e08ab88adcc9eca93be45

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0cf672106d56747fa1f164d37aa17e8ba8ec21d8
2017-11-06 14:17:11 -06:00
Emilio Cobos Álvarez a4faa8b65a servo: Merge #18657 - script: Remove HTMLAppletElement (from emilio:bye-applet); r=KiChjang
It was removed from the spec, there's no reason to keep it in tree.

Source-Repo: https://github.com/servo/servo
Source-Revision: a509ebf90ccd24ef80b27737faefa340a5af8916

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 06e4fac5600155e9337e1cca39318ae77c77f8f6
2017-11-06 10:46:44 -06:00
Imanol Fernandez 3497b6c815 servo: Merge #19091 - Add WebGL conformance 2.0.0 tests (from MortimerGoro:webgl2_suite); r=jdm
<!-- Please describe your changes on the following line: -->

This PR includes WebGL conformance 2.0.0 tests. For now I have disabled three folders in the new suite:
- `Conformance`: Tests WebGL 1.0 API like the current 1.0.3 suite we are using, but it includes a lot more tests and many expectations have to be updated. This is better to do in a separate PR because it will require to update github intermittent paths again and maybe detect new intermittents.
- `Conformance2\textures`: It causes a lot of timeouts because of using videos, svgs, and other complicated formats.
- `deqp`: It's a extra GPU testing suite included in the Khronos 2.0.0 suite. Disabled for now because it causes some timeouts.

So in a nutshell, it uses part of the 2.0.0 suite to test webgl 2.0 and keeps using 1.0.3 in order to test WebGL 1.0. It's good enough to enable TDD for the new WebGL 2.0 features

We can create follow-up issues for the next steps:
* deprecate 1.0.3 and use the new 'conformance' folder in 2.0.0 in order to test WebGL 1.0
* Enable `conformance2/textures` and  'deqp' tests once WebGL 2.0 implementation is more advanced or the timeouts are monitored in more detail.

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

<!-- 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: 92b49010b107ffd8be9169a1c979710338dc24c4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 26a7a8fc2de70863d0e85ffb7d2b2da439dac2b9
2017-11-02 15:52:42 -05:00
Imanol Fernandez 3c491f9069 servo: Merge #19028 - Kick off WebGL 2.0 implementation (from MortimerGoro:webgl2); r=emilio
<!-- Please describe your changes on the following line: -->

This PR kicks off the WebGL 2.0 implementation:

- Include WebGL2RenderingContext.webidl and comment unimplemented methods
- Create WebGL2 struct hierarchy with WebGL 1.0 backwards compatibility
- Add WebGL 2.0 entry points to canvas
- Select the correct GL Version on GLContext backends (related PR https://github.com/emilio/rust-offscreen-rendering-context/pull/108)
- Add WebGL version selection in shader compilations
- Create a WebGL 2.0 preference

I tried a complex three.js demo using canvas.getContext("webgl2") and the backwards compatibility worked great.

Next steps:

- I'll add WebGLVersion selection/filtering to WebGLExtensions and move some extensions to core in WebGL 2.0 (e.g. VAOs)
- I'll add the WebGL 2.0 conformance WPT
- I'll create a mega-issue with a the list of all TODO methods for a complete WebGL 2.0 implementation (as @emilio did with WebGL 1.0), so we can start start getting community involvement.

---
<!-- 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 I will add the entire webgl 2.0 WPT in a different PR

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 00f02b0e518ddcc7c56674da4867669e73e927c3
2017-10-27 05:56:12 -05:00
Martin Robinson 8a53b5bc4a servo: Merge #18951 - Wait as late as possible to assign ClipIds (from mrobinson:later-id-assignment-for-clip-scroll-nodes); r=glennw,emilio
<!-- 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 change behavior.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : afcd2a0b7b9b5d21776cb7fcc775f9046f8b94e9
2017-10-24 09:46:08 -05:00
Patrick Trottier 635d08c201 servo: Merge #18695 - Add an vector version of the Servo logo (from Coder206:vectorImage); r=metajack
This PR is a continuation of #18665. I wanted to make a separate branch on my fork for this PR.

Source-Repo: https://github.com/servo/servo
Source-Revision: c14e27ed595f75d6dfd8fc0d96a2be74b6191295

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c724259ee04e5eed56873117a56874feb76a6b5b
2017-10-19 23:11:29 -05:00
Imanol Fernandez bccaf86555 servo: Merge #18592 - Implement DOM to texture (from MortimerGoro:dom_texture); r=jdm
<!-- Please describe your changes on the following line: -->

This is a prototype of the WebGL DOMToTexture feature. The API should be fine as a privileged extension for now due to security concerns. The working group has been investigating the viability of unprivileged usage but the spec is not ready yet.

Demo video: https://www.youtube.com/watch?v=hpZqEM5hPao

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

<!-- 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: 3209d22968046b5c3d29a37b79a655497db2050a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7218add26699a33dca5290abcaae48a29f4db31f
2017-10-16 15:36:42 -05:00
Connor Brewster 9def490de8 servo: Merge #18317 - Enable Custom Elements by Default (from cbrewster:custom_elements_enable); r=jdm
<!-- 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 #9372 (github issue number if applicable).

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : daf04f94252c04ecacc3915292d7a96632d79d88
2017-08-31 19:57:29 -05:00
Bruno Bernardino a309c38dac servo: Merge #18020 - Implement CanvasRenderingContext2d.fillText's "unimplemented" message (from BrunoBernardino:feature-canvas-filltext); r=jdm
Basic skeleton for implementing CanvasRenderingContext2d.fillText,  only adding methods and parameters in the right place, and a basic test, with some `println!()`.

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

This is only the beginning. It were my first couple of hours looking at Rust and Servo.

However, I have _no clue_ how to get the text to render now (basically go from the `println!()` to something else).

It's also possible I messed something up with the `DOMString.parse()` but not entirely sure.

I'm doing this PR as a starting point to get help and learn more about this, _or_ at least maybe save someone some time while implementing this, if no one's able to take the time and show me where/how.

Because it's still a work-in-progress, I'm leaving the boxes below unchecked (even though there are no errors).

---
<!-- 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 #11681 and #17963

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 28459e12e1ce761004c6a94d9800bb899310627c
2017-08-23 14:00:47 -05:00
Pyfisch a657cffac4 servo: Merge #18093 - Add CompositionEvent bindings (from pyfisch:compositionevent); r=jdm
<!-- Please describe your changes on the following line: -->
Needed for better keyboard input. See also #17578

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 111e9951c9e4669302eed0a5109437cfa8a446b6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ffa5aeda91febfce4a3547d3390645ef20c79db9
2017-08-22 16:03:23 -05:00
Nikhil Shagrithaya a03ae92655 servo: Merge #17037 - Added Async HTML Tokenizer (from cynicaldevil:impl-Sink); r=nox
Design: I realized having two different parsers for sync and async was wrong, because the API for both was fundamentally the same. All I needed to do was create another Tokenizer, because `ParseNode` ( representation for nodes which are yet to be created) is used by the TreeBuilder and the Sink, and the `Tokenizer` is the 'lowermost' type concerned with these two types.

Therefore, I created one and placed it in `async_html.rs`, and also created a new Sink which deals with `ParseNode`s. I changed the methods in ServoParser to take an `async` argument too, which decides which Tokenizer will be used. The Tokenizer isn't exactly *async* for now, but this PR separates action creation from execution, which allows the async behaviour to be implemented later. Right now, all actions are executed soon after they are created.

The Sink consists of two Hashmaps, `nodes`, which contains the actual nodes, with the key being their corresponding `ParseNode`'s id, and `parse_node_data`, which contains metadata about the nodes.

It's still a bit rough, (I can't figure out how to deal with `complete_script` and `is_mathml_annotation_xml_integration_point`, along with some other parts I wrote in a hurry), but I believe the overall design is sound. I'd like to hear what you think about it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c2dffdf72efe4274bb514407edc552b14fc0a4d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 706e41f53fd00305d695faa3c78757c6771cf6c9
2017-06-17 02:21:19 -07:00
Benjamin Dahse 1cc7429f72 servo: Merge #17189 - Add pref to force WebGL context creation failure (from bd339:iss17038); r=emilio
<!-- Please describe your changes on the following line: -->
Introduces the pref `webgl.testing.context_creation_error`, to force creation of a new WebGLRenderingContext to fail.

---
<!-- 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 #17038 (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: 3db7f5d556d85ff6af9bb81f693a2c65e6e791fa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 19078df81cf2bd36ab232a25d7c68976ffc7c673
2017-06-07 02:27:29 -07:00
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