Commit graph

20562 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
273705d7fb style: Fix tidy issues. 2018-12-16 13:35:09 +01:00
Olli Pettay
28719f2455 Move FragmentOrElement::mAttrs to Element.
Bug: 1512256
Reviewed-by: ehsan
2018-12-16 13:35:09 +01:00
Emilio Cobos Álvarez
27322abeda style: Minor build fixup after the Servo crossbeam_channel update. 2018-12-16 13:35:08 +01:00
Daniel Holbert
ee6bf98675 style: Include the 'unsafe' keyword in serializations of css-align properties.
Previously we'd omit it since it was merely an explicit way of requesting the
default behavior.  But the spec has changed such that it's not necessarily
equivalent to the default anymore:
https://drafts.csswg.org/css-align/#overflow-values

(Technically the behaviors are probably still equivalent in our implementation,
pending bug 1451380, but we don't have to publicize that via our
serialization.)

Differential Revision: https://phabricator.services.mozilla.com/D14599
2018-12-16 13:35:07 +01:00
Boris Zbarsky
3d78025e10 style: Fix serialization of explicitly case-sensitive attr selectors with a namespace.
Differential Revision: https://phabricator.services.mozilla.com/D14493
2018-12-16 13:35:07 +01:00
Emilio Cobos Álvarez
7f5a9e0f45 style: Handle nested slots correctly in slotted matching and invalidation.
The patch and test should be pretty much self-descriptive.

Differential Revision: https://phabricator.services.mozilla.com/D14063
2018-12-16 13:35:06 +01:00
Boris Zbarsky
a519d9ecc3 style: Add support for 's' flag on attribute selectors.
We could keep using ParsedCaseSensitivity::CaseSensitive as a temporary stand-in
for "case-sensitive or maybe not depending on what HTML says" until we check the
attribute list, but it seems better to make that explicit.

Differential Revision: https://phabricator.services.mozilla.com/D14093
2018-12-16 13:35:05 +01:00
Emilio Cobos Álvarez
901c055519 style: Move overflow to use cbindgen.
It's one of the most annoying / hacky mako bits we have.

Differential Revision: https://phabricator.services.mozilla.com/D14084
2018-12-16 13:35:05 +01:00
Emilio Cobos Álvarez
3f58e0b069 style: Deduplicate a bit the malloc_size_of code for hashmaps / hashsets.
This allows to experiment with other hash maps easily rather than
depending on what hashglobe::fake::HashMap dereferences to.

In particular I wrote it while trying to get a build working with hashbrown.

Differential Revision: https://phabricator.services.mozilla.com/D14098
2018-12-16 13:35:04 +01:00
Emilio Cobos Álvarez
626172d64c style: Use cbindgen for a couple more CSS properties.
Differential Revision: https://phabricator.services.mozilla.com/D13886
2018-12-16 13:35:04 +01:00
bors-servo
8da0947a6b
Auto merge of #22439 - Eijebong:clippy, r=emilio
Fix all clippy warnings in style_derive

<!-- 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/22439)
<!-- Reviewable:end -->
2018-12-15 01:01:48 -05:00
Jérémy DEMANGE
ea0cb12256 Delete space after [package] 2018-12-13 12:05:32 -05:00
bors-servo
eab848df3e
Auto merge of #22433 - ferjm:player.eos.size, r=ceyusa
Improve implementation of media resource fetch algorithm

I have been observing inconsistent behaviors with my local tests depending of the media asset being played. I figured that we had these issues:

- We were setting the player EOS as soon as we got the first [process_response_eof](1046ae58a1/components/script/dom/htmlmediaelement.rs (L1596)). This is fine only if there is a single request. But that's not the case for multiple range requests or for seeks. Setting the player EOS makes the player appsrc reject any new buffers, and that breaks playback. Figuring out when is the right time to set the player EOS won't be a straight forward task, so my suggested fix for now is to simply not set it for now. It is a cleanup step that it would be nice to have but it is not mandatory.

- We were setting the input size more than once for multiple range requests and with the incorrect value. The fix uses the `content-length` or the `content-range` headers for single and range requests respectively.

- We were moving to the HaveEnoughData state if a fetch request succeded but no data was fetched from the network.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

<!-- 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/22433)
<!-- Reviewable:end -->
2018-12-12 18:38:25 -05:00
Bastien Orivel
dd301c084d Fix all clippy warnings in style_derive 2018-12-12 21:32:52 +01:00
bors-servo
2e01a23bad
Auto merge of #22432 - servo:encoding, r=SimonSapin
Make the parser decode input from document's encoding

<!-- 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/22432)
<!-- Reviewable:end -->
2018-12-12 15:17:32 -05:00
Fernando Jiménez Moreno
8818898240 Do not move to HaveEnoughData state if no media data is fetched from the network 2018-12-12 18:08:40 +01:00
Fernando Jiménez Moreno
707b490c0f Signal EOS if media request fails 2018-12-12 16:52:37 +01:00
Lucas Fantacuci
ad3ec61d2f Implementing volume attribute into HTMLMediaElement 2018-12-12 11:50:35 -02:00
Anthony Ramine
a2abfc6301 Make the parser decode input from document's encoding
The document's encoding is only computed from the Content-Type header for now,
with no sniffing at all.
2018-12-12 13:50:27 +01:00
Fernando Jiménez Moreno
243b4e1a39 Do not set player EOS. Set input size only if it changes 2018-12-12 13:06:52 +01:00
Anthony Ramine
848a4e256a Fix an ignore_malloc_size_of comment 2018-12-12 11:29:14 +01:00
Anthony Ramine
dbef324e48 Use Mime::get_param 2018-12-12 11:29:14 +01:00
Anthony Ramine
d1d79bf947 Remove an argument to ServoParser::parse_html_script_input
Since the spec of document.open was updated, this argument became useless.
2018-12-12 11:29:14 +01:00
bors-servo
1046ae58a1
Auto merge of #22081 - KiChjang:onmessageerror, r=jdm
Add onmessageerror to WindowEventHandler

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

<!-- 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/22081)
<!-- Reviewable:end -->
2018-12-12 02:49:04 -05:00
Keith Yeung
3ee5a63199 Add onmessageerror to WindowEventHandler 2018-12-11 23:48:46 -08:00
Dan Robertson
62a9bfa0c5
script: Create structures for TextTrack API
Fill out the basics for the WebIDLs for the following:

  - TextTrack
  - TextTrackCue
  - TextTrackCueList
  - TextTrackList
2018-12-11 20:14:00 +00:00
bors-servo
92962de76c
Auto merge of #22411 - jdm:fix-webdriver, r=SimonSapin
Make desktop webdriver WPT harness work

This change allows me to run `./mach test-wpt --product servodriver --no-pause-after-test tests/wpt/mozilla/tests/mozilla/DOMParser.html` successfully again.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22409
- [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/22411)
<!-- Reviewable:end -->
2018-12-11 13:03:52 -05:00
Shotaro Yamada
c44a2febe6 Remove redundant .clone()s 2018-12-11 10:43:51 +09:00
Josh Matthews
b62a1ca662 Delay setting the constellation's active browser id until the context exists. 2018-12-10 18:43:26 -05:00
Josh Matthews
db786a4399 Add debug output for webdriver commands. 2018-12-10 18:42:49 -05:00
bors-servo
eeaca0b26d
Auto merge of #22389 - jdm:anim-complete, r=emilio,ferjm
Cancel animations that affect nodes that do not participate in layout.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22378
- [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/22389)
<!-- Reviewable:end -->
2018-12-10 18:04:49 -05:00
Josh Matthews
ed74b898a5 Cancel animations that affect nodes that do not participate in layout. 2018-12-10 08:59:17 -05:00
bors-servo
ddfc799f4d
Auto merge of #22218 - CYBAI:sw-up-to-date, r=jdm
Implement NavigationPreloadManager for ServiceWorker

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of #19302 .
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/22218)
<!-- Reviewable:end -->
2018-12-09 19:21:31 -05:00
CYBAI
235fb5952d Introduce NavigationPreloadManager for ServiceWorkerRegistration 2018-12-08 16:50:18 +08:00
Connor Brewster
aecb48d5d1 Cleanup constellation after nll 2018-12-06 11:59:09 -06:00
Anthony Ramine
b4448a9fe7 Use Utf8LossyDecoder instead of IncompleteUtf8 2018-12-05 16:39:07 +01:00
Emilio Cobos Álvarez
6722e71aba Fix formatting of inverse transform matrix. 2018-12-02 14:17:31 -05:00
Emilio Cobos Álvarez
46734f51b7 style: Use https for the MPL header URL. 2018-12-02 14:17:30 -05:00
Emilio Cobos Álvarez
2d85b54db0 style: Rustfmt. 2018-12-02 14:17:29 -05:00
Emilio Cobos Álvarez
c6dfe53483 Fix servo build. 2018-12-02 14:17:29 -05:00
Emilio Cobos Álvarez
edf4b0129b style: Make page-break-* Gecko-only. 2018-12-02 14:17:28 -05:00
Emilio Cobos Álvarez
efecd06a28 style: Use cbindgen for border-style and outline-style.
I'm pretty sure the FIXME I left in the outline-style code is a bug,
but I want to clean this up further and I didn't want to fix it without adding
a test.

Differential Revision: https://phabricator.services.mozilla.com/D12859
2018-12-02 14:17:27 -05:00
Emilio Cobos Álvarez
fd73f1665a style: Move BorderStyle to border.rs.
Differential Revision: https://phabricator.services.mozilla.com/D12858
2018-12-02 14:17:26 -05:00
Emilio Cobos Álvarez
374249fa54 style: Implement page-break-{before,after} as legacy shorthands for {before,after}.
This is all the style-system work needed for this.

This implements the concept of legacy shorthands, teaches tests to understand
it, and adds a few more tests for these properties in particular.

The WPT even caught a few WebKit / Blink bugs:

  https://bugs.chromium.org/p/chromium/issues/detail?id=906336
  https://bugs.webkit.org/show_bug.cgi?id=191803

This doesn't change the layout behavior for page-break-before: always, since
it'd stop breaking in multicol and such. Similarly, break-before / break-after:
column and page still behave the same, I'll file followups for those given
comment 22.

Differential Revision: https://phabricator.services.mozilla.com/D12211
2018-12-02 14:17:26 -05:00
Emilio Cobos Álvarez
a427e4f763 style: Introduce the concept of legacy shorthands.
We need this because there's a weird mapping between these properties' values
('always' maps to 'page').

See https://drafts.csswg.org/css-cascade-4/#legacy-shorthand.

Differential Revision: https://phabricator.services.mozilla.com/D12213
2018-12-02 14:17:25 -05:00
Emilio Cobos Álvarez
d0ac1b06d1 style: Introduce break-inside, and alias page-break-inside to it.
This property has no weird value mapping, so we can just do this.

Differential Revision: https://phabricator.services.mozilla.com/D12212
2018-12-02 14:17:24 -05:00
Shubham Kumaram
67414f4002 style: Change Text Rendering constants to enum classes in nsStyleConsts.h.
Differential Revision: https://phabricator.services.mozilla.com/D12839
2018-12-02 14:17:23 -05:00
Emilio Cobos Álvarez
dca315e648 style: Prevent exponential blowup of custom properties.
Put a hard cap on the value length instead of counting substitutions, because it
works best, see the comment.

Differential Revision: https://phabricator.services.mozilla.com/D13352
2018-12-02 14:17:22 -05:00
Hiroyuki Ikezoe
f6b6825c31 style: Run background-color animations on the compositor.
Changes for nsIDOMWindowUtils.getOMTAValue is in the next commit with come test
cases.

Differential Revision: https://phabricator.services.mozilla.com/D13001
2018-12-02 14:17:21 -05:00
Emilio Cobos Álvarez
8bed8ae122 style: Remove the display: -moz-box overrides display: -webkit-box hack.
display: -moz-box is no longer exposed to content so this is not necessary.

See bug 1407701 for context.

Differential Revision: https://phabricator.services.mozilla.com/D12961
2018-12-02 14:17:21 -05:00