Commit Graph

794 Commits

Author SHA1 Message Date
bors-servo
a91f48ee05 Auto merge of #13924 - cynicaldevil:text-overflow, r=emilio
implemented string-valued text-overflow

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

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

cc @Manishearth
The lorem-ipsum example from MDN works as expected.

<!-- Reviewable:start -->
---

This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13924)

<!-- Reviewable:end -->
2016-11-09 16:36:45 -06:00
Nikhil Shagrithaya
4b2737606d implemented string-valued text-overflow 2016-11-10 00:00:21 +05:30
bors-servo
e13bfeb50f Auto merge of #14116 - jdm:fetch-reenable2, r=Manishearth
Enable cors and redirect fetch tests.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14116)
<!-- Reviewable:end -->
2016-11-08 07:18:19 -06:00
Josh Matthews
6589f6107e Enable cors and redirect fetch tests. 2016-11-08 08:17:25 -05:00
bors-servo
ef5ca14283 Auto merge of #14084 - mrobinson:scroll_root_2, r=glennw
Don't promote all scrollable regions to stacking contexts

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14084)
<!-- Reviewable:end -->
2016-11-07 18:49:53 -06:00
bors-servo
eb2484f86d Auto merge of #13918 - szeged:wpt-error-fixes, r=jdm
WebBluetooth fixes for the wpt tests

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

Note: depends on #13612
WebBluetooth fixes for the failing wpt tests, excluding the `disconnect-during` tests cases, due to the lack of the event handling in the current implementation.
---

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

<!-- Reviewable:start -->
---

This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13918)

<!-- Reviewable:end -->
2016-11-07 09:50:13 -06:00
Simon Sapin
9f98d2f634 Disable sigsegv.html, it’s frequently timing out.
https://github.com/servo/servo/issues/14067
2016-11-05 22:18:04 +01:00
Martin Robinson
ef82d772c1 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.

Fixes #13529.
Fixed #13298.
2016-11-05 18:36:45 +01:00
zakorgyula
e8c1c98a77 Return the same JS object for the same Bluetooth item. 2016-11-04 15:36:57 +01:00
fokinv
d30bcbd339 Blacklisted items are removed when calling getServices/Characteristics/Descriptors. 2016-11-04 15:36:55 +01:00
zakorgyula
dd733f6994 Update the value of the Characteristic/Descriptor when calling writeValue. 2016-11-04 15:36:50 +01:00
zakorgyula
0eeb56b549 Remove not allowed services when calling getPrimaryServices. 2016-11-04 15:36:48 +01:00
fokinv
baa024e362 Return with NotFoundError when the requested deviceName/deviceNamePrefix is longer than 29 bytes. 2016-11-04 15:36:47 +01:00
fokinv
98f2233f2d Return with NotFoundError insted of TypeError, when adapter is not found. 2016-11-04 15:36:44 +01:00
zakorgyula
4ed461c6e5 Accepting empty deviceName, when requesting a BluetoothDevice. 2016-11-04 15:36:42 +01:00
zakorgyula
2b4829b89a Removing uuids field from BluetoothDevice with the related test cases. 2016-11-04 15:22:50 +01:00
zakorgyula
b72dcf326b Check if the BluetoothDevice is connected, when calling getGATT functions. 2016-11-04 15:22:48 +01:00
zakorgyula
11dbb7120f Return with InvalidStateError if a Bluetooth id is not cached. 2016-11-04 15:22:46 +01:00
zakorgyula
ada0256030 WebBluetooth WPT tests 2016-11-04 12:36:25 +01:00
bors-servo
6ef46ab9e4 Auto merge of #13453 - metajack:media-query-list, r=jdm
Implement matchMedia and MediaQueryList

<!-- 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 #13376 (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. -->

Fixes #13376.

<!-- Reviewable:start -->
---

This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13453)

<!-- Reviewable:end -->
2016-11-02 14:51:12 -05:00
Jack Moffitt
138a0480fe Implement matchMedia and MediaQueryList
Fixes #13376.
2016-11-02 13:40:22 -06:00
Ms2ger
44c80d5b18 Ignore the Content-Type header completely for @font-face.
This matches the previous default (network.mime.sniff off) behaviour in all
but one case: we will now accept a font without a `Content-Type` header, which
would previously have been ignored.
2016-11-02 16:15:15 +01:00
bors-servo
6b40f97289 Auto merge of #13870 - pcwalton:anonymous-table-rewrite, r=mbrubeck
layout: Rewrite anonymous table code, simplify and fix table intrinsic width calculation, and improve safety of flexbox code.

Closes #13782.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13870)
<!-- Reviewable:end -->
2016-10-26 20:14:04 -05:00
Patrick Walton
fca2037168 resources: Fix syntax of the <iframe frameborder> selector in
`presentational-hints.css`.

Improves google.com.
2016-10-26 17:12:45 -07:00
Patrick Walton
824a5e2e13 tests: Update test expectations. 2016-10-26 14:14:14 -07:00
Patrick Walton
41976c0afc layout: Remove margins from inline absolute hypothetical boxes.
As they're hypothetical, their margins shouldn't take up space!

Improves Google search results.

Closes #13915.
2016-10-25 18:52:17 -07:00
bors-servo
c8321edc27 Auto merge of #13836 - emilio:js-intl, r=Ms2ger
Update mozjs_sys to expose proper locale callbacks.

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

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

Fixes #13788

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13836)
<!-- Reviewable:end -->
2016-10-25 05:51:03 -05:00
Emilio Cobos Álvarez
60e0ccf17d Test for localeCompare. 2016-10-25 12:28:36 +02:00
Bobby Holley
b493565cc1 Stop ticking animations on non-dirty nodes during traversal. 2016-10-20 19:25:04 -07:00
Patrick Walton
7df456e8ac layout: Rewrite clipping to be a two-phase process that takes physical
border box positions and transforms into account.

Clipping region computation now follows a simple process: (1) in the
parent's coordinate system, parents store appropriate clipping regions
into children; (2) each child moves its clipping region to its own
coordinate system if necessary.

Because clipping region computation is now based on stacking-relative
border box positions and the `transform_rect` method, it can handle
`position: relative` offsets and more types of transforms, such as
scaling.

Improves etsy.com.

Closes #13753.
2016-10-15 14:18:48 -07:00
Patrick Walton
d5443ee450 layout: Make percentages in top and bottom for relative positions
relative to height, not width.

Improves etsy.com.

Closes #13760.
2016-10-14 11:15:39 -07:00
Patrick Walton
18cf103ee0 layout: Don't try to vertically align absolutely positioned children of
table rows.

Improves http://reddit.com/r/aww.
2016-10-13 14:52:10 -07:00
bors-servo
dc5dc5e614 Auto merge of #13737 - pcwalton:expand-matches, r=emilio
resources: Avoid using `:matches` in `presentational-hints.css`, since we don't support it.

Based on IRC discussions, this was determined to be an acceptable
stopgap in lieu of implementing `:matches`, which has complicated
precedence rules.

Improves Google search results.

r? @nox

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13737)
<!-- Reviewable:end -->
2016-10-13 12:51:53 -05:00
Patrick Walton
c25dd2adf6 layout: Use the margin box for vertical positioning of inline-block
fragments if `overflow` is not `visible` per CSS 2.1 § 10.8.1.

Additionally, this patch reverts the change introduced in #12642 in
favor of the spec-compliant behavior described above. This patch also
removes the `inline_block_overflow.html` reftest introduced in #3725, as
the behavior it expected contradicted CSS 2.1 (and in fact the test
fails in Gecko).

The changes that this patch makes to `input_selection_a.html` and
`input_selection_incremental_a.html` are necessary workarounds to make
the tests pass in light of the fact that Servo's UA stylesheet applies
`overflow: hidden` to `<input>` elements. I believe that the changes are
not necessary in other rendering engines because they hard-code
`overflow: hidden`-like behavior for `<input>` elements, while Servo
uses the actual CSS `overflow: hidden` behavior. As far as I can tell,
Servo's behavior is arguably more spec-compliant, but it remains to be
seen how Web compatible it is.

Improves the Google results pages.

Closes #13707.
2016-10-13 09:36:02 -07:00
Patrick Walton
95b095c1a1 resources: Avoid using :matches in presentational-hints.css, since
we don't support it.

Based on IRC discussions, this was determined to be an acceptable
stopgap in lieu of implementing `:matches`, which has complicated
precedence rules.

Improves Google search results.
2016-10-13 09:33:49 -07:00
bors-servo
cd2f950de3 Auto merge of #13056 - KiChjang:transition-event, r=mbrubeck
Implement transition event and infrastructure

Fixes #10245.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13056)
<!-- Reviewable:end -->
2016-10-12 02:08:37 -05:00
Keith Yeung
668163ec5c Emit TransitionEnd events in the layout thread and process it in the script thread 2016-10-11 19:36:06 -07:00
Patrick Walton
773614f84c layout: Rewrite Servo's vertical-align support to match CSS 2.1 §
10.8, and implement `vertical-align: middle` per CSS 2.1 § 10.8.1.

`InlineMetrics` has been split into `InlineMetrics` for fragments and
`LineMetrics` for lines. Both structures' fields have been renamed in
order to more clearly delineate the difference between *space* and
*content*. Vertical positioning of fragments has been reworked to take
margins and borders into account only for replaced content.

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

Additionally, this includes a test for the popular inline-block
centering technique described here:
https://s.codepen.io/shshaw/fullpage/gEiDt?#Inline-Block
2016-10-11 12:47:50 -07:00
Emilio Cobos Álvarez
7a559ad442 webgl: Update test expectations. 2016-10-09 13:23:38 +02:00
bors-servo
dad3b4785a Auto merge of #13589 - splav:SVGElement#12974, r=pcwalton,Ms2ger
Support SVG element

<!-- Please describe your changes on the following line: -->
minimal SVG element implementation
---
<!-- 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 #12974 (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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13589)
<!-- Reviewable:end -->
2016-10-07 17:40:13 -05:00
Alexandrov Sergey
1f0b9ab3b7 add empty svg element with sizes test 2016-10-07 21:41:22 +03:00
Patrick Walton
5232b0c85f layout: Place inline absolute hypothetical boxes properly during block
fragment position assignment.

Improves Rust documentation.

Closes #13471.
2016-10-04 18:40:40 -07:00
bors-servo
6693c92c03 Auto merge of #13445 - pcwalton:button-whitespace, r=mbrubeck
resources: Give button elements `white-space: normal` again.

Fixes Twitter.

Originally regressed in 0a86543e6d.

r? @metajack

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13445)
<!-- Reviewable:end -->
2016-09-30 13:16:56 -05:00
bors-servo
c9442346d3 Auto merge of #13414 - flacerdk:master, r=mbrubeck
Implement `word-break: keep-all` (#9673)

<!-- Please describe your changes on the following line: -->
Implement the `keep-all` value for the `word-break` property, as specified in [CSS](https://drafts.csswg.org/css-text-3/#word-break-property).

The relevant CSSWG tests (in `tests/wpt/css-tests/css-text-3_dev/html/word-break-keep-all-*.htm`) do not currently pass. As far as I can tell, this is because the tests use some JavaScript code that is not working properly. (But then, it seems that most tests in this directory are failing at the moment. I'm not sure what can be done here for now.)

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13414)
<!-- Reviewable:end -->
2016-09-29 19:20:55 -05:00
bors-servo
4ebecc915a Auto merge of #13401 - notriddle:master, r=pcwalton
Implement sequential fallback to float speculation

This shouldn't impact any pages that are already rendering correctly, but it is a very naive implementation of this pass.

---

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13284 and fix #13223
- [X] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13401)
<!-- Reviewable:end -->
2016-09-29 13:16:24 -05:00
bors-servo
ccfc60161b Auto merge of #13470 - pcwalton:inline-absolute-hypothetical-baseline, r=notriddle
layout: Improve the interaction between baseline-offset-of-last-line-in-flow logic and inline absolute hypothetical boxes.

See commits for details. These changes place the heart icon on Twitter in the right place.

r? @notriddle

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13470)
<!-- Reviewable:end -->
2016-09-29 00:11:33 -05:00
Patrick Walton
0803ef98e3 layout: Don't count lines that consist solely of hypothetical boxes when
determining the baseline offset of the last line.

Improves Twitter by placing the favorite icon in the right place
vertically.
2016-09-28 13:03:58 -07:00
Glenn Watson
cdb69d4423 Add OSMesa headless mode, run WPT against Webrender, update tests. 2016-09-28 11:57:33 +10:00
Michael Howell
fe2018682b Implement sequential fallback to float speculation
Fixes #13284
Fixes #13223
2016-09-27 15:19:28 -07:00
Felipe
44c26e014a add tests 2016-09-27 11:25:21 +02:00