Commit Graph

2206 Commits

Author SHA1 Message Date
Ms2ger
cc6b1c5360 servo: Merge #14859 - Simplify CallSetup (from servo:CallSetup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 839b7fe8ef57501ec876d66728e8d6ea9c1757f6
2017-01-05 07:33:46 -08:00
Alan Jeffrey
8e9816b9d8 servo: Merge #14351 - An in-memory RNG that shares its file descriptor (from asajeffrey:servo-rand-share-fds); r=emilio
<!-- Please describe your changes on the following line: -->

This PR implements an in-memory random number generator that only uses an OS RNG for (re)seeding. The OS RNG is shared, so there's only one file descriptor for `/dev/urandom` being used.

The PR also implements a tidy check that we don't accidentally introduce an RNG. Rather annoyingly, there are a lot of transitive dependencies on `rand`, notably hash maps in `std`.

This PR makes it possible to use uuids for identifiers such as pipeline and frame ids.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because it's fixing a resource issue

<!-- 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: 36ddf763f66b1b971db07649ff5c69b2e9fd5f91
2017-01-05 06:32:23 -08:00
Eric Anholt
00b765c08e servo: Merge #14847 - webgl: implement bufferData (from anholt:webgl-bufferdata); r=emilio
<!-- Please describe your changes on the following line: -->

Adds support for the other overload of bufferData, fixing many conformance tests.  In the process I had to fix the webidl codegen in the overload-distinguished-by-an-object case.  Also includes a little fix for glEnable() validation.

---
<!-- 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: 4216c16879efb6e87b3ba3b7b4d5c2aeb8e2739d
2017-01-05 02:11:29 -08:00
Alan Jeffrey
4f8adcb23e servo: Merge #14312 - Implement discarding Document objects to reclaim space (from asajeffrey:script-discard-documents); r=cbrewster
<!-- Please describe your changes on the following line: -->

This PR implements document discarding. Active documents are kept alive strongly, but inactive documents are only kept alive weakly. When a document is GCd, it is marked as discarded, and if it is every reactivated, a reload of the URL is triggered.

Note that this PR is pretty aggressive about discarding, and can any inactive document (other than those being kept alive by other same-origin pipelines). We might want to damp it down a bit.

Also note that this interacts with browser.html in that the reloading triggered by reactivating a document triggers mozbrowser events.

To test this, I added a `-Zdiscard-inactive-documents` debug flag, which discards all inactive documents, even ones which are reachable through other same-origin pipelines.

---
<!-- 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 #14262.
- [X] These changes do not require tests because we should be able to use the existing tests with `-Zdiscard-inactive-documents`.

<!-- 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: 16b0da5004fd730de87883daa35a78b6af01f042
2017-01-04 13:58:57 -08:00
Josh Matthews
0f1a1e39e4 servo: Merge #14845 - Avoid restyling elements that aren't in a document (from jdm:restyle-ood); r=emilio
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14480
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 2fe914e2fa68f44db903bc3de55d9823a44cdf0d
2017-01-04 12:19:00 -08:00
Ravi Shankar
a33145477c servo: Merge #14738 - Properly dispatch keypress event (from Wafflespeanut:keypress); r=jdm
<!-- Please describe your changes on the following line: -->

This was an attempt to fix #14659. It turned out that the problem wasn't what I thought it was. So, I didn't fix that. On the brighter side, this fixes two related issues.

- Previously, we were unable to launch `keypress` events from `input` and `textarea` elements, because [we'd been cancelling](1327ebd52f/components/script/dom/htmlinputelement.rs (L1120-L1124)) the key events, so that they don't trigger window navigation - #8400). I've introduced an enum to represent an additional state to an event's cancellation.
- [According to the spec](https://w3c.github.io/uievents/#keypress-event-order), `keypress` (if available) should be dispatched immediately after `keydown`, and it should be followed by `input`. Canceling `keypress` should also cancel `input`. But, we'd been dispatching `input` before `keypress`. We now dispatch `input` once the `keypress` event is on the respective elements.

---
<!-- 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] These changes do not require tests because it's a refactor?

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

r? @jdm or anyone interested

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f9ff7b8bf66cbeb7d539c6728db05f05aa8f85c
2017-01-04 10:52:06 -08:00
Anthony Ramine
f9bf1a65cf servo: Merge #14686 - Improve dead_code handling a bit (from nox:dom); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2694463b08f8f37b8a5351fa3199b3283b90cb3d
2017-01-03 05:13:23 -08:00
Julien Levesy
97c752924c servo: Merge #14796 - replace match by if let statements if possible (from jlevesy:jl-match-to-if-let); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Hi there,

This PR replaces `match` statements by `if let` when possible.

Thanks for reviewing

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this PR is a code cleanup patch.

<!-- 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: d967d89fc081ae0f48850f3e29e4a9848bd837c7
2016-12-31 21:28:41 -08:00
Eric Anholt
1033a07cf0 servo: Merge #14809 - webgl: Validate enums for blendEquation (from anholt:webgl-blend-enums); r=emilio
Improves a conformance test that tried passing in desktop GL enums for
blending.

---
<!-- 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: b29b33c84c366e38bbb0d2e887469f814bc4d876
2016-12-31 14:21:20 -08:00
Ms2ger
0df616901d servo: Merge #14647 - Support the 'current' global object (from servo:current-global); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 885d152e92b20bdaeb0d0ad20affd269fc3b55d3
2016-12-29 01:38:19 -08:00
Prudhvi Rampey
1deb278562 servo: Merge #14762 - Error handled canvas closing (from prampey:error-handle); r=jdm
<!-- Please describe your changes on the following line: -->
Correctly handled error when Canvas doesn't close properly, with a descriptive warning.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because minor changes don't require 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: c6ea1ec91f4a0b79b4fcdfa05a9b492fa6c9a798
2016-12-28 13:49:02 -08:00
Raghav
75a2d7d7ef servo: Merge #14760 - Update links to DOM Parsing specification (from mrnayak:update-links); r=jdm
Changed links from https://domparsing.spec.whatwg.org/ to
https://w3c.github.io/DOM-Parsing/.

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

<!-- Either: -->
- [X] These changes do not require tests because these are link update

<!-- 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: 149facbb3c6da82d445aa29b694097d451711bbb
2016-12-28 12:05:23 -08:00
Sumant Manne
906d586626 servo: Merge #14718 - Rewrote websocket array buffer handling to typed array API (from dpyro:websocket-typed-arrays); r=jdm
<!-- Please describe your changes on the following line: -➜
Replaced existing code for handling `BinaryType::Arraybuffer` from `JS_NewArrayBuffer` to `Uint8Array::create`.

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

<!-- Either: -->
- [X] These changes do not require tests because they replace an existing implementation

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

I am not certain the test suite will adequately verify my implementation as I am not familiar with the architecture. It compiles and passes the current tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f600db3ae5f1464b5d8fed169e6d50974715013
2016-12-28 09:43:51 -08:00
Roman Zaynetdinov
1757ae3a09 servo: Merge #14727 - Use typed array in TextDecoder::Decode (from zaynetro:textdecoder-use-typedarray); r=jdm
<!-- Please describe your changes on the following line: -->

Use typed array API in TextDecoder::Decode

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

<!-- Either: -->
- [x] These changes do not require tests because no new methods were introduced

<!-- 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: eb64edec848f570bc89ac87cb185ecd87c16e005
2016-12-27 06:56:15 -08:00
Matt Brubeck
32e7211803 servo: Merge #14518 - Fix inline layout of table cells impacted by rowspan (from mbrubeck:rowspan2); r=notriddle
This is part of the fix for #11297. This PR fixes the inline layout of table cells impacted by row-spanning cells from previous rows. A separate PR to follow will fix the table block size calculations to account for rowspan.

This PR doesn't yet include any test changes. If it doesn't cause any existing tests to pass, I will add a new test to it.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d320d5a34fe9911266940eb1ce96204d345b678
2016-12-26 10:09:09 -08:00
deror1869107
3c1d6e4809 servo: Merge #14730 - Rewrite Crypto::GetRandomValues to use typed array API (from deror1869107:typed_array_API); r=emilio
<!-- Please describe your changes on the following line: -->
Rewrite Crypto::GetRandomValues to use typed array 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 #14673  (github issue number if applicable).

<!-- 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: 1c60a5bef84a709491882e22d4e3393de062dea9
2016-12-25 23:37:15 -08:00
Emilio Cobos Álvarez
5633dee08c servo: Merge #14728 - Bunch of nitpicks (from emilio:nit); r=Wafflespeanut
I just noticed one while writing #14719, and then grepped and couldn't stop.

r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fc9047d22147cf419d2551350421e23105e6f0e
2016-12-25 11:04:21 -08:00
Ms2ger
008200db04 servo: Merge #14632 - Use the API base URL in Fetch APIs (from servo:multi-global-fetch); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 89cdcbc420d82aade20a2ee704fdea295dec437a
2016-12-22 16:40:53 -08:00
Ms2ger
a698039b83 servo: Merge #11672 - Make the dom module private (from Ms2ger:dom); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c0f31e9fdf924e486ca7d0c8f14c4a027f0a5b3
2016-12-22 07:51:48 -08:00
Zakor Gyula
b8618a3e5d servo: Merge #14612 - Updating GATTServer's Connect/Disconnect calls (from szeged:connect-disconnect-update); r=jdm
<!-- Please describe your changes on the following line: -->
Added the missing [Step 5.2.3](https://github.com/servo/servo/compare/master...szeged:connect-disconnect-update#diff-1dbe29f87740f5aec93f37adbecace6cR213) to the `connect` function.
Updated the [disconnect](https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetoothremotegattserver-disconnect) function to its current state in the specification, including the `clean_up_disconnected_device` and the `garbage_collect_the connection` functions.
Added new tests for checking the invalid state of JS objects after disconnection.

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

<!-- 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: 23590f683a06b67f666e83009513b67ed8225ce7
2016-12-22 06:51:16 -08:00
Emilio Cobos Álvarez
7b76f29835 servo: Merge #14669 - script: Remove unused function (from emilio:dirty-descendants-unused); r=Wafflespeanut
This is no longer used since one of @bholley's patches to the style system.

Source-Repo: https://github.com/servo/servo
Source-Revision: b843be49752c68926521a8b5f6b0405b1ff01e9b
2016-12-22 05:23:00 -08:00
Ms2ger
605a1affe0 servo: Merge #14633 - Update Rust to 1.15.0-nightly (71c06a56a 2016-12-18) (from servo:rustup); r=SimonSapin,nox
Source-Repo: https://github.com/servo/servo
Source-Revision: df667f16b07e78fef50767c0d6912a8c2318225d
2016-12-21 16:24:27 -08:00
Ms2ger
a7d9238b98 servo: Merge #14658 - Separate the async bluetooth handling from networking code (from servo:bluetooth-net); r=jdm
They're not at all related, besides both being asynchronous. This change adds
a little extra code in response_async(), but makes this code more readable
and reduces the unnecessary indirection.

This change also makes the build system slightly more parallel, by dropping
the dependency on bluetooth_traits from net_traits.

Source-Repo: https://github.com/servo/servo
Source-Revision: fb457723e80d6a2300c499ffa402aa7eaeb877fd
2016-12-21 06:47:33 -08:00
Xidorn Quan
38d4b26027 servo: Merge #14653 - stylo: Fix assertion for unresolvable url (from upsuper:bug1321176); r=Manishearth
<!-- Please describe your changes on the following line: -->
This is the Servo part of [bug 1321176](https://bugzilla.mozilla.org/show_bug.cgi?id=1321176), which has been reviewed by @emilio, @Manishearth, and @heycam.

r? @Manishearth

---
<!-- 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: ae2b74e1c955a78e2f91b8f0bcdfa635190bf457
2016-12-20 15:41:13 -08:00
bd339
7ad358a278 servo: Merge #14630 - Use MediaQueryListEvent for media query list change events (from bd339:iss14064); r=KiChjang
<!-- Please describe your changes on the following line: -->

- Implements MediaQueryListEvent interface
- Makes MediaQueryList change events conform to the [spec](https://drafts.csswg.org/cssom-view/#evaluate-media-queries-and-report-changes)
- Updates matchMedia.html test to verify that the new event type is used

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

<!-- 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: bcf154d8e6761737627bd28f47d2e9458b2c024a
2016-12-20 13:37:42 -08:00
Simon Sapin
4c9e289fff servo: Merge #14644 - Ever so slightly less unstable (from servo:ever-so-slightly-less-unstable); r=heycam
<!-- 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
- [ ] 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: e13f0017931e7f87cad13a13e3fe4e9bcbb9c554
2016-12-19 22:09:02 -08:00
Connor Brewster
3e52fafc0f servo: Merge #14631 - Make datetime just reflect (from cbrewster:datetime_fix); r=Ms2ger
<!-- Please describe your changes on the following line: -->
This just uses `make_getter!` for `datetime` rather than checking if `datetime` has data and falling back to the child data if `datetime` has no data.

I reverted 2 of the test changes and added back an old test that makes sure that child content is not returned when `datetime` is empty.

---
<!-- 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 #14611 (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: 56f236724c5989c5b0e020e4f1c98feb63a4375f
2016-12-19 12:33:07 -08:00
Keith Yeung
96d56fc3e8 servo: Merge #14304 - Implement CSSStyleRule.style (from KiChjang:css-style-rule-style); r=Manishearth
<!-- 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 #14209 (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: d05cae5072fae2b3469a69119365aca4220e3394
2016-12-19 11:29:02 -08:00
Julien Wajsberg
512238ace2 servo: Merge #14430 - Expose Quirks Mode information in the layout data and code (from julienw:access-quirks-mode-from-layout); r=emilio
<!-- Please describe your changes on the following line: -->
This patch exposes the Quirks (NoQuirks/LimitedQuirks/Quirks) state to the layout subsystem.

---
<!-- 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).
Prelimary work for issue #11704.

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
(Waiting for guidance of where/which tests I could do here)

<!-- 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: 164426a7f90c90652d2d52c5a54be91154d26af7
2016-12-17 13:25:06 -08:00
Attila Dusnoki
fd9395d718 servo: Merge #14593 - Implement GetGATTChildren (from szeged:getgattchildren); r=jdm
<!-- Please describe your changes on the following line: -->
Implement the [GetGATTChildren](https://webbluetoothcg.github.io/web-bluetooth/#getgattchildren) function for webbluetooth.

---
<!-- 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: 6efea399ed0e44fe6bd151f346ca2c3371e2f66c
2016-12-16 12:30:41 -08:00
Emilio Cobos Álvarez
be01be6bca servo: Merge #14540 - style: Basic @import support (from servo:at-import); r=SimonSapin,Ms2ger
r? @SimonSapin or @mbrubeck

cc @heycam and @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 38f136175e15acb6472466d141dedb6a253b0330
2016-12-16 09:43:19 -08:00
Corey Farwell
d606beb797 servo: Merge #14549 - Implement "child text content" concept; use it where appropriate (from frewsxcv:child-text-content); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 7fecaa3e8496d9cee06f967caf978ba7685cc390
2016-12-15 16:54:38 -08:00
Corey Farwell
ce98bea9e9 servo: Merge #14526 - Attempt at refactoring and simplifying 'set cookies' operations on resource thread (from frewsxcv:cookies); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bde8dce756902b1b3ad2cff4a5b5bed1f3325852
2016-12-15 15:54:39 -08:00
Nazım Can Altınova
c06341bd27 servo: Merge #14509 - Implement background-position-x/y (from canaltinova:position); r=Manishearth
<!-- Please describe your changes on the following line: -->
This is a WIP PR. Just HorizontalPosition / VerticalPosition implementations are complete. I would like to get early feedbacks about this architecture. Here's some architectural topics to consider:

- I created `HorizontalPosition` and `VerticalPosition` structs for this and used them in `Position` as well. We have decided to split `Keyword` enum, but we need them as unified for `PositionComponent` enum. So I didn't split but I can split it if we prefer to change PositionComponent as well.
- If we prefer Keyword enum like this, we can create a SubPosition(or something like this) instead of HorizontalPosition/VerticalPosition enums since only difference is 2 lines in `parse` functions. We can create a `parse_horizontal` and `parse_vertical` instead and a lot of code duplication can be cleared.
- I couldn't find a good way to use HorizontalPosition/VerticalPosition's parse functions in `Position`'s parse function. It is a bit more complicated. I'm open to suggestions :)
- I don't know much about logical keywords so do I need to do something different? I placed some comments where logical keywords are processing.

Any advice about these?

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

<!-- 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: 5357f05ff785ee160d6b07de5d0e10aba199e578
2016-12-15 12:15:06 -08:00
Alan Jeffrey
965a687125 servo: Merge #14592 - Remove the util crate (from asajeffrey:util-goodbye); r=mbrubeck
<!-- Please describe your changes on the following line: -->

This PR removes the `util` crate.

* Replaced the `spawn_named` and `clamp` functions by appropriate uses of `std:🧵:Builder::spawn`, `std::cmp::min` and `std::cmp::max`.
* Moved `opts`, `prefs` and `resource_files` into a new `config` crate.
* Moved `remutex` and `geometry` into their own crates.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because they are refactorings

<!-- 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: 4eb653817f87e5fb47de34356f558eb76ecbca9f
2016-12-14 16:48:42 -08:00
Zakor Gyula
3f844f3503 servo: Merge #14567 - Check if represented attributes are cached (from szeged:represented-attributes); r=jdm
<!-- Please describe your changes on the following line: -->
Improve existing cache checks in `/bluetooth/lib.rs`, and update Step comments in `script/dom` corresponding to 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] 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: 6ee175bf705108ab25e80521d7be84b5e58ef698
2016-12-14 15:29:43 -08:00
Attila Dusnoki
c26cc25bf4 servo: Merge #14552 - Replace AdvertisingData with AdvertisingEvent (from szeged:advertising_event); r=jdm
<!-- Please describe your changes on the following line: -->
The spec changed AdvertisingData to an event. The low level support is still missing.

---
<!-- 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: eb1bd596822c7e24589fdc08c4f41c69c4207351
2016-12-14 13:53:51 -08:00
Corey Farwell
36941effa2 servo: Merge #14539 - Show the placeholder text for textarea elements (from frewsxcv:textarea-placeholder); r=mbrubeck
Fixes https://github.com/servo/servo/issues/10552.

All this logic was taken from htmlinputelement.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 816b2969c34a43c51365ea2b49d90c08d434c9ea
2016-12-14 12:13:06 -08:00
Nazım Can Altınova
9df68b3d3f servo: Merge #14576 - Implement CSSKeyframesRule.name (from canaltinova:keyframes-name); r=Manishearth,emilio
<!-- Please describe your changes on the following line: -->
Implementation of CSSKeyframesRule.name

---
<!-- 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: a2391162a12c5cfa00872ead33a1551d82c46594
2016-12-14 03:37:45 -08:00
Ms2ger
e93f25df57 servo: Merge #14569 - Remove the Rc from ROOTED_TRACEABLES (from servo:ROOTED_TRACEABLES-Rc); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 030cf90c57b5c51ce803c27dc3b036b7ce6a8002
2016-12-13 23:32:29 -08:00
Corey Farwell
6acd45eb1f servo: Merge #14085 - Implement "list of options" concept on HTMLSelectElement (from frewsxcv:list-of-options); r=asajeffrey
Fixes #13763.

Source-Repo: https://github.com/servo/servo
Source-Revision: a15d279e9f9eccc3d2e2cca6d1e0949e51732a63
2016-12-13 03:31:52 -08:00
Anthony Ramine
15a4fcbbab servo: Merge #14557 - Improve safety or our tracing architecture (from nox:trace); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 87f7b29d65d8a0ad137e38412aef50734b24ea6c
2016-12-12 20:34:51 -08:00
Simon Sapin
275732a0fe servo: Merge #14535 - Introduce a PropertyId enum and use it instead of strings of property names (from servo:property-id); r=mbrubeck
<!-- Please describe your changes on the following line: -->

* `LonghandId` and `ShorthandId` are C-like enums
* `Atom` is used for the name of custom properties.
* `PropertyDeclarationId` is the identifier for `PropertyDeclaration`,
  after parsing and shorthand expansion. (Longhand or custom property.)
* `PropertyId` represents any CSS property, e.g. in CSSOM.
  (Longhand, shorthand, or custom.)

CC @upsuper

---
<!-- 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: 6dd4b4822fa788694153ee61a04dd9a5dfb748ec
2016-12-10 01:16:26 -08:00
Bobby Holley
e075eff5c1 servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio
The primary idea of this patch is to ditch the rigid enum of Previous/Current
styles, and replace it with a series of indicators for the various types of
work that needs to be performed (expanding snapshots, rematching, recascading,
and damage processing). This loses us a little bit of sanity checking (since
the up-to-date-ness of our style is no longer baked into the type system), but
gives us a lot more flexibility that we'll need going forward (especially when
we separate matching from cascading). We also eliminate get_styling_mode in
favor of a method on the traversal.

This patch does a few other things as ridealongs:
* Temporarily eliminates the handling for transfering ownership of styles to the
  frame. We'll need this again at some point, but for now it's causing too much
  complexity for a half-implemented feature.
* Ditches TRestyleDamage, which is no longer necessary post-crate-merge, and is
  a constant source of compilation failures from either needing to be imported
  or being unnecessarily imported (which varies between gecko and servo).
* Expands Snapshots for the traversal root, which was missing before.
* Fixes up the skip_root stuff to avoid visiting the skipped root.
* Unifies parallel traversal and avoids spawning for a single work item.
* Adds an explicit pre_traverse step do any pre-processing and determine whether
      we need to traverse at all.

Source-Repo: https://github.com/servo/servo
Source-Revision: b9a8ccd775c3192e3810a1730b1d0bc2b5c9dfb6
2016-12-09 17:01:05 -08:00
Corey Farwell
b2ce9d941d servo: Merge #14533 - Alphabetize document.createEvent match list (from frewsxcv:events); r=Ms2ger
Makes it easier to see what hasn't been implemented with regards to the
spec.

Source-Repo: https://github.com/servo/servo
Source-Revision: 120b003195383041b9f182fc03103e50f9249e49
2016-12-09 11:32:19 -08:00
Jansen Jan
b54cd9aa0a servo: Merge #13489 - Add support for fullscreen #10102 (from farodin91:fullscreen); r=jdm
<!-- Please describe your changes on the following line: -->

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

---

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #10102  (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b69e73594647319e95bd0fd36c2addabcee1e5d
2016-12-09 09:52:34 -08:00
Ms2ger
4c9d204377 servo: Merge #14527 - Remove some redundant code around XMLHttpRequest::document_response() (from servo:xhr-doc); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c3c086e521b73d191d5de9239a6748691b0f96a3
2016-12-09 01:02:27 -08:00
Corey Farwell
1623c37a12 servo: Merge #14495 - Rename Reflectable to DomObject (from frewsxcv:reflectable-domobject); r=jdm
Fixes https://github.com/servo/servo/issues/8473.

Source-Repo: https://github.com/servo/servo
Source-Revision: b192ae9db7082346a4a6a985c5557d4cea75d50e
2016-12-08 12:41:08 -08:00
Michael Howell
d5b141b70b servo: Merge #12862 - added dom obj counting to decide sequential/parallel layout (#10110) (from servo:layout-new); r=emilio
This is a rebased version of #11713

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #10110 (github issue number if applicable).
- [X] There are no tests for these changes because it's an optimization with no visible behavioral changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fe94a6724a42da8f02a60d1efe18fdfc96885ae
2016-12-07 14:32:20 -08:00
Alan Jeffrey
0bedcd757d servo: Merge #14479 - Added debugging to htmliframeelement.rs (from asajeffrey:script-htmliframeelement-more-debugging); r=jdm
<!-- Please describe your changes on the following line: -->

Add some debugging to iframe elements.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because they're just used in debugging

<!-- 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: 4e0638b9b744fc014a11691451839fb7ff1ab464
2016-12-06 22:18:15 -08:00