Commit Graph

7073 Commits

Author SHA1 Message Date
tigercosmos
25eac1e745 servo: Merge #19547 - Send IPC receiver for canvas as part of CreateCanvasPaintThread message (from tigercosmos:b1); r=jdm
<!-- Please describe your changes on the following line: -->
I am not sure if @jdm want this.
r? @jdm

---
<!-- 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 #19483(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: c9e3fabdfd0d4c900e83a1050ec465303e339681

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6aa288e249807e1eae78d5900427d8f72414a4ee
2017-12-16 11:35:40 -06:00
Emilio Cobos Álvarez
6f65825326 servo: Merge #19581 - style: Fix grid line serialization to avoid redundant spacing (from emilio:grid-line-serialize); r=canaltinova
This fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1425227.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ad4c63f930027b6a896a3439e2af453140b63db7
2017-12-16 09:13:48 -06:00
Brian Birtles
f464fbbad3 servo: Merge #19580 - Update references to Web Animations spec (from birtles:update-web-animations-link); r=hiro
This has been reviewed in [Gecko bug 1425548](https://bugzilla.mozilla.org/show_bug.cgi?id=1425548).

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : be54a712cafe4eb7fb42bc073bd687f6fd0220cb
2017-12-15 17:39:55 -06:00
Pyfisch
238056272d servo: Merge #19568 - layout: background-origin attribute for gradients (from pyfisch:background-origin-gradients1); r=mbrubeck
Fixes the glitches mentioned in #19554.
Now gradient tiles are placed in the whole bounding box.

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ebd1706316e9488589f7f82d3db4014dc01956bd
2017-12-15 15:54:59 -06:00
Emilio Cobos Álvarez
42677736f2 servo: Merge #19578 - Allow deriving Parse on keywords (from emilio:parse-keyword); r=Manishearth,canaltinova
This makes patches like #19576 much easier.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9668fc507960090009446afb651e5742d54b9f30
2017-12-15 14:55:49 -06:00
Matt Brubeck
8172baeffb servo: Merge #19565 - Turn flow::base and friends into methods (from mbrubeck:base); r=emilio
This feels more idiomatic in modern Rust, and replaces code like this:

`flow::base(&**root_flow).restyle_damage`

with this:

`root_flow.base().restyle_damage`.

---
- [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 refactoring only

Source-Repo: https://github.com/servo/servo
Source-Revision: 53968fef6112a3c934d527e4034d53b7a6174721

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f2f831dc700343ba9a03a977ad847938174d490d
2017-12-15 12:44:50 -06:00
Emilio Cobos Álvarez
8afea3a742 servo: Merge #19564 - style: Slightly simplify push_applicable_declarations (from emilio:push-applicable-simple); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 90290cfafed0bff88920fd286ea09656fd9e999f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : df82fcbf35663f58f655981884d3f16fc454bd40
2017-12-15 11:28:16 -06:00
Felipe Nakandakari
1e31306380 servo: Merge #19570 - style: move list-style-image out of mako (from fenak:list-style-image-mako); r=emilio
<!-- Please describe your changes on the following line: -->
Moving `list-style-image` out of mako.

---
<!-- 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 #19557  (part of #19015 ).

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7aadbd628e82b5320d6f5e8a51314b57ef6f92db
2017-12-14 23:36:34 -06:00
Alan Jeffrey
832283ef24 servo: Merge #19569 - Add a topLevelDomComplete metric (from asajeffrey:script-perf-measure-topLevelDomComplete); r=jdm
<!-- Please describe your changes on the following line: -->

Measure DOM completion without iframes. This is in support of measuring when the main document is loaded, ignoring secondary content, e.g. ads.

---
<!-- 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 #19561
- [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: d832e1b8f843612b4cb124d8c4eb9dce94e92d50

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 377138e2fc2d7d65866ba238978ba0e30ae910b0
2017-12-14 17:02:44 -06:00
Pyfisch
b2df8f0384 servo: Merge #19554 - layout: support tiled gradients (from pyfisch:tiled-gradients1); r=mbrubeck
Use background-size, background-position properties to render
CSS gradients.

Some cleanup in display_list_builder.rs related to gradient
calculations.

Adds two wpt tests for tiled gradients.

Note: For now even gradients with background-repeat: no-repeat
are repeated. Sometimes the gradient is not repeated everywhere.

Resolves partially #19482. (See the mentioned website for example gradients with these features)
See also: #16657 and #10412

Some glitches can be seen in the attached file. I am unsure what the exact intended semantics of [`push_gradient`](https://doc.servo.org/webrender_api/struct.DisplayListBuilder.html#method.push_gradient) are and want to ask the webrender team before building in "workarounds" for the missing gradients.
![half-rhombes](https://user-images.githubusercontent.com/2781017/33958051-b16f964a-e043-11e7-8218-b28388e2cf8d.png)

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ee8e6a1684d6dbc65933da11ce1a2c8ba660442

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 96cc2524eaba5602eba84d6aa314e5ddaa9a9dc1
2017-12-14 13:20:34 -06:00
Matt Brubeck
cf3a9680c8 servo: Merge #19562 - Make layout depend on style/servo feature (from mbrubeck:feature); r=emilio
This fixes an error when running commands like `./mach check -p layout`.

---
- [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 change build metadata only

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e59c9eb9a54d3095ba945500deb80efd404e1f8b
2017-12-14 11:55:25 -06:00
Emilio Cobos Álvarez
232ec02559 servo: Merge #19558 - selectors: Manually inline any(..) in matches_selector_list (from emilio:sadness); r=heycam
Since the compiler refuses to inline the inner closure even with -O3, which is
sad :(.

Sad try run:

  https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=c2724c47e98f990826327da05220cd83b772d144&newProject=try&newRevision=52ac88b40a08a5ef6a629bd681f2e5a444b75f54&framework=1

Source-Repo: https://github.com/servo/servo
Source-Revision: 370f5acf6dcf2fa2b4755105376302b41a88fed3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c9111fe877a9e1d7893c91f13be33fded64acbe9
2017-12-14 10:19:23 -06:00
Emilio Cobos Álvarez
a0e7854c60 servo: Merge #19556 - Move list quotes out of mako (from emilio:quotes-mako); r=emilio
Rebase of https://github.com/servo/servo/pull/19154.

Source-Repo: https://github.com/servo/servo
Source-Revision: 26feea3be5bc70fed7a642ca768187d29469fee0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7e29dfb2e654d65b512942e77f2bb48c449df9b9
2017-12-14 01:39:38 -06:00
Emilio Cobos Álvarez
7e7d23433a servo: Merge #19541 - selectors: Add parsing support for ::slotted() (from emilio:parse-slotted); r=heycam
Without turning it on yet, of course.

The reason why I didn't use the general PseudoElement mechanism is because this
pseudo is a bit of its own thing, and I found easier to make ::selectors know
about it (because you need to jump to the assigned slot) than the other way
around.

Also, we need to support ::slotted(..)::before and such, and supporting multiple
pseudo-elements like that breaks some other invariants around the SelectorMap,
and fixing those would require special-casing slotted a lot more in other parts
of the code.

Let me know if you think otherwise.

I also don't like much the boolean tuple return value, but I plan to do some
cleanup in the area in a bit, so it should go away soon, I'd hope.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5f956f568b12d8aa7611bc05ac7b1d1497689189
2017-12-14 00:22:45 -06:00
Emilio Cobos Álvarez
750fde1fd6 servo: Merge #19551 - style: Make anon boxes account for :visited (from emilio:anon-box-visited); r=heycam
This should fix one of the test failures of:

  https://bugzilla.mozilla.org/show_bug.cgi?id=616436

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : be8406d2a2836f38ebf74b0814cca306b2f023f7
2017-12-13 22:47:38 -06:00
CYBAI
1fe45bc205 servo: Merge #19548 - style: Move outline-style outside of mako (from CYBAI:move-outline-style-out-of-mako); r=emilio
This is a sub-PR of #19015
r? emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19546
- [x] These changes do not require tests

Source-Repo: https://github.com/servo/servo
Source-Revision: 714c1b2455bc6f651e982b5efec85e3bf711f708

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c435362b7e4d8abcae2548a7bfd07e7e77328e8a
2017-12-13 19:30:26 -06:00
Manish Goregaokar
c9afd2ae75 servo: Merge #19549 - Add telemetry probe for measuring frequency of parallel restyles (from Manishearth:telemetry); r=emilio
Servo side of https://bugzilla.mozilla.org/show_bug.cgi?id=1421195

r=emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 80341b291b3c1f0d423d8b8ab4eb8b1e78e03f2a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 246f365e3ae9434619fed6d187e97f9224c48d0c
2017-12-12 10:14:31 -06:00
Jon Leighton
29c83eed34 servo: Merge #19461 - Handle cases where selection API doesn't apply (from jonleighton:issue-19171-4); r=KiChjang
The selection API only applies to certain <input> types:

https://html.spec.whatwg.org/multipage/#do-not-apply

This commit ensures that we handle that correctly.

Some notes:

1. TextControl::set_dom_selection_direction now calls
   set_selection_range(), which means that setting selectionDirection will
   now fire a selection event, as it should per the spec.

2. There is a test for the firing of the select event in
   tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/select-event.html,
   however the test did not run due to this syntax error:

   (pid:26017) "ERROR:script::dom::bindings::error: Error at http://web-platform.test:8000/html/semantics/forms/textfieldselection/select-event.html:50:11 missing = in const declaration"

   This happens due to the us of the "for (const foo of ...)" construct.
   Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of
   this should actually work, so it's somewhat unsatisfying to have to
   change the test.

3. I removed tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html
   because it doesn't seem to add any extra value - the selection API
   always applies to textarea elements, and the API is tested elsewhere.

4. If an `<input>`'s type is unset, it defaults to a text, and the
   selection API applies. Also, if an `<input>`'s type is set to an
   invalid value, it defaults to a text too. This second case doesn't
   currently work, and I'll need to do more restructuring of the code in
   a future commit. See discussion with nox in IRC:
   https://mozilla.logbot.info/servo/20171201#c13946454-c13946594

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1ac0a74fcea1cfc06a94607896101667847e727c
2017-12-10 18:37:58 -06:00
Simon Sapin
0a48e0345b servo: Merge #19540 - Check that 'style' is compiled in a supported configuration (from servo:style-features); r=emilio
Provide an explanatory error message when the compilation would fail because of missing or duplicate items.

Source-Repo: https://github.com/servo/servo
Source-Revision: 29d960ee5c043ba87ec0da565b5d61979a8a9b78

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 938036878f0738eb87e98a6f70a0f031d465b240
2017-12-09 20:00:23 -06:00
Emilio Cobos Álvarez
be9bd84788 servo: Merge #19536 - style: Move the code to parse a list of compound selectors (from emilio:compound-selector-list); r=mbrubeck
I'll need this for ::slotted().

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 02f9868af7469734b70d02e8ddb0470a9c8d407d
2017-12-09 17:15:14 -06:00
Emilio Cobos Álvarez
8093a3dd29 servo: Merge #19533 - style: Remove unused SelectorImpl::pseudo_element_cascade_type (from emilio:unused-code-should-die); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 95520ca39c4dde7296584227d49d70615dda0bf0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1a97cecaec5781d0a5fe9a9c53dda6eb7982ba8e
2017-12-09 15:27:49 -06:00
Emilio Cobos Álvarez
d6ec9e4c13 servo: Merge #19538 - Use ? in Option more often (from emilio:questions-questions-questions); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 548028fd07d85dbbbd0511386f88ea19825dc258

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4599b24e3d0dbd27d08d9232272f98c0c36cecd7
2017-12-09 13:58:25 -06:00
Matt Brubeck
e9500aa84a servo: Merge #19537 - style: Use the ? operator for Option (from mbrubeck:try); r=nox
This is stable in Rust 1.22 (#19532).

---

- [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 is refactoring only

Source-Repo: https://github.com/servo/servo
Source-Revision: 5f4f355cea4a24992ac9efa97f4a6e1837008e0b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3a61f3b466e9f3c80f94b7ecb30f70f85efa55b3
2017-12-09 10:50:55 -06:00
Emilio Cobos Álvarez
342c95966f servo: Merge #19534 - style: Simplify naming and signatures of single-colon pseudo stuff (from emilio:naming-is-a-bit-hard-but-not-that-hard); r=nox
Also drop a few FIXMEs while at it, since they look bogus.

Source-Repo: https://github.com/servo/servo
Source-Revision: 051eb6bcb9204ecab1c1481a275a09fd50bf0467

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 049f90ddd1ae37e05adec201fbaa6f876cbdddfe
2017-12-09 09:52:27 -06:00
Emilio Cobos Álvarez
1bdfa1c2a6 servo: Merge #19530 - style: Don't unconditionally extend() the declaration block vector (from emilio:extend-not-much); r=jdm
Since it appears in profiles when used from CSSOM, like the one in the bug
mentioned in the comment.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a56d1632cd6ce0fc9015a0e4ae5f6603a0de65bb
2017-12-08 19:59:38 -06:00
Xidorn Quan
b5dc8edd90 servo: Merge #19526 - Add @supports -moz-bool-pref() support for stylo (from upsuper:moz-bool-pref); r=emilio
This is the Servo side change for [bug 1267890](https://bugzilla.mozilla.org/show_bug.cgi?id=1267890).

Source-Repo: https://github.com/servo/servo
Source-Revision: 42a3c1631c27dde2d845338ccf80e0fb1b3cf9bf

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b027cf2d3d0234e7e54675d1c76c5915fe21db1f
2017-12-08 18:49:39 -06:00
Emilio Cobos Álvarez
63378542f1 servo: Merge #19520 - selectors: Simplify :visited by only using the "is inside link" information (from emilio:simplify-visited); r=jryans
Right now we go through a lot of hoops to see if we ever see a relevant link.

However, that information is not needed: if the element is a link, we'll always
need to compute its visited style because its its own relevant link.

If the element inherits from a link, we need to also compute the visited style
anyway.

So the "has a relevant link been found" is pretty useless when we know what are
we inheriting from.

The branches at the beginning of matches_complex_selector_internal were
affecting performance, and there are no good reasons to keep them.

I've verified that this passes all the visited tests in mozilla central, and
that the test-cases too-flaky to be landed still pass.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7a8733723551201d2c06acde9b0915b4c03938b4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 00a655d0bcdf9cec70330c34eea0756b73c38cc3
2017-12-08 17:37:32 -06:00
Keith Yeung
755f12989a servo: Merge #19522 - Remove border_collapse field in InternalTable (from KiChjang:remove-border-collapse-field); r=emilio
This field doesn't seem to serve a purpose after #18252.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b67e4a7581ff797e73348c8f7e8d35639f974d15
2017-12-08 16:02:09 -06:00
Matt Brubeck
f8fdec5746 servo: Merge #19525 - Update to webdriver 0.33 (from mbrubeck:deps); r=nox
Removes the extra version of the `cookie` crate

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b7b0c6e20e3d75414de87d9ccddf2bb177ed5d18
2017-12-08 10:29:08 -06:00
Simon Sapin
a869d43078 servo: Merge #19510 - Update some dependencies, remove heapsize from the build (from servo:heapsize); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 07bd84ecc8dc9ba56df873453696993118e18583

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 92be8729bbeadf778435c95878ddef5c3195879c
2017-12-08 07:49:54 -06:00
Emilio Cobos Álvarez
95703831fd servo: Merge #19518 - style: Remove useless type parameter (from emilio:useless-code-is-useless); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 22472b4db4564f7bc274eb01447e4f04fd7e7205

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4c9671fc867830cf6fb5ccd528e7c0beafe39548
2017-12-07 20:32:11 -06:00
Matt Brubeck
b64e68ef18 servo: Merge #19517 - Defend against bugs in SelectorFlagsMap (from mbrubeck:uluru); r=emilio
Some defensive programming:

* Make `SelectorFlagsMap::apply_flags` private so it's easier to ensure it is called from the correct thread.

* Clear the cache and the map at the same time; otherwise `apply_flags` leaves `SelectorFlagsMap` in an inconsistent state.

---
- [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 do not change behavior

Source-Repo: https://github.com/servo/servo
Source-Revision: 254bbf50a7676b00bb4c5f515c45f2cd3e8e283a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : afe8557cdba4e6dba6843aa657bd6e28164ca412
2017-12-07 19:09:07 -06:00
Matt Brubeck
84f6c35c0f servo: Merge #19512 - Improve LRU cache behavior in SelectorFlagsMap (from mbrubeck:uluru); r=emilio
This code used to insert duplicate entries to avoid expensive shuffling of the LRU cache.  With uluru this is no longer necessary, because reordering the cache is cheap.

Now it uses the `LRUCache::find` method from uluru 0.2 to update entries in-place.  This should increase cache hits by eliminating unnecessary evictions.

This PR also updates `arrayvec` because `uluru` depends on it, and `immeta` because it depends on `arrayvec`.

---
- [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 don't change behavior

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c13f14aaa151764e1b3dd2d4503cb6fc3c9595b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b1551f8e564b25ef5a332d0492584e8e179e9325
2017-12-07 16:02:44 -06:00
Fernando Jiménez Moreno
bd85a1bbe9 servo: Merge #19516 - Print url of recorded PWM (from ferjm:pwm.url); r=jdm
This makes it a bit easier to compare results with other browsers.

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8e9d07fa9a2f4ff32e1e9efbe3402c72bb4a4181
2017-12-07 14:54:03 -06:00
Bastien Orivel
6af9f7520e servo: Merge #19514 - Bump string_cache, html5ever and xml5ever (from Eijebong:bump); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 4016551e89e1cbb9dae988e6fca33a26f1537f02

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 863e0f8b0de4f227501bd226fe5eaa8e7b4f67cb
2017-12-07 13:43:13 -06:00
Fernando Jiménez Moreno
5d913c504f servo: Merge #19498 - Fix float conversion of paint timing metrics (from ferjm:pwm.f64); r=jdm
This is a follow up of #19077

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a54b8a720c19fdb3b5850b48e8f371a0fb8468df
2017-12-07 10:31:45 -06:00
Jon Leighton
c3439b7b58 servo: Merge #19509 - Remove support for <input type=datetime> (from jonleighton:remove-input-type-datetime); r=jdm
It has been removed from the spec: https://github.com/whatwg/html/issues/336

See also https://github.com/servo/servo/pull/19471#pullrequestreview-80711878

---
<!-- 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: 8e3056d0cc7caebc218d51373b3aa0ccd331fa20

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 76bd32c1d97be56bee2675857fcb5b20f2ed2d42
2017-12-07 09:08:15 -06:00
Simon Sapin
d35e64e0bf servo: Merge #19476 - Use workspace.default-members to specify default crates for cargo build (from servo:default-members); r=nox
… and 'cargo test', etc. Include Servo and its unit tests, but not Stylo because that would try to compile the style crate with incompatible feature flags: https://github.com/rust-lang/cargo/issues/4463

`workspace.default-members` was added in https://github.com/rust-lang/cargo/pull/4743. Older Cargo versions ignore it.

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

--HG--
rename : servo/tests/unit/stylo/Cargo.toml => servo/ports/geckolib/tests/Cargo.toml
rename : servo/tests/unit/stylo/build.rs => servo/ports/geckolib/tests/build.rs
rename : servo/tests/unit/stylo/lib.rs => servo/ports/geckolib/tests/lib.rs
rename : servo/tests/unit/stylo/servo_function_signatures.rs => servo/ports/geckolib/tests/servo_function_signatures.rs
rename : servo/tests/unit/stylo/size_of.rs => servo/ports/geckolib/tests/size_of.rs
rename : servo/tests/unit/stylo/specified_values.rs => servo/ports/geckolib/tests/specified_values.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0939a7049dc771e9d1b4f45f6e3ade2866266fa4
2017-12-07 06:53:07 -06:00
Glenn Watson
aae0c25865 servo: Merge #19414 - Update WR (AA on transformed box-shadows, resource leak fixes) (from glennw:update-wr-leaks); r=wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: e64647188879b8269b62c1d5c8aa05732ab9d96d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5a0d09d3ae5f2ac49d71d8add1303ee51ed77533
2017-12-07 00:57:40 -06:00
Jon Leighton
34df3abb2b servo: Merge #19471 - Expand InputType to cover all possible types (from jonleighton:input-type); r=jdm
This came out of a conversation with nox in IRC:
https://mozilla.logbot.info/servo/20171201#c13946454-c13946594

The code I was working on which motivated this change is here:
https://github.com/servo/servo/pull/19461

Previously, InputType::Text was used to represent several different
values of the type attribute on an input element.

If an input element doesn't have a type attribute, or its type attribute
doesn't contain a recognised value, then the input's type defaults to
"text".

Before this change, there were a number of checks in the code which
directly looked at the type attribute. If those checks matched against
the value "text", then they were potentially buggy, since an input with
type=invalid should also behave like an input with type=text.

Rather than have every conditional which cares about the input type also
have to deal with invalid input types, we can convert the type attribute
to an InputType enum once, and then match against the enum.

A secondary benefit is that the compiler can tell us whether we've
missed branches in a match expression. While working on this I
discovered that the HTMLInputElement::value_mode() method misses a case
for inputs with type=hidden (this resulted in a failing WPT test
passing).

I've also implemented the Default trait for InputType, so we now only
have one place in the code which knows that InputType::Text is the
default, where previously there were several.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6a6da9c2a4805d28365961c6ecd1e8dc7559b0b1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f18c1efa8e5697d9338a1ee65c1ac855537bdd5f
2017-12-06 14:16:04 -06:00
Boris Chiou
5f1cc1b488 servo: Merge #19504 - hashglobe: Dump more information if out of memory while allocating a table (from BorisChiou:stylo/crash/out_of_memory); r=emilio
This is for Bug 1418806 and Bug 1416903. Sometimes, we got a crash message on stylo:

>  called `Result::unwrap()` on an `Err` value: FailedAllocationError {
>  reason: "out of memory when allocating RawTable" }

but this is not enough to debug, so let's add one more field in
FailedAllocationError, so we can know the size we are allocating.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fd7c21c4c99dd9f8e118948f0c52d4b4073d559

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6566ffbcab15da7dc3f80551089fc433b2635936
2017-12-06 02:38:22 -06:00
Emilio Cobos Álvarez
f6572324f9 servo: Merge #19500 - style: Make all keywords CamelCase for consistency (from emilio:camel-case-all-the-way); r=nox
style: Make all keywords CamelCase for consistency.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9d8fcab8dc2664b0282591a370d6f17e93e00a58
2017-12-05 19:35:25 -06:00
Nazım Can Altınova
d00339bc47 servo: Merge #19499 - stylo: Hide accidentally exposed subgrid behind prefs (from canaltinova:subgrid-pref); r=upsuper
Reviewed by xidorn on Bugzilla.

---
<!-- 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 [Bug 1421645](https://bugzilla.mozilla.org/show_bug.cgi?id=1421645)

Source-Repo: https://github.com/servo/servo
Source-Revision: 1aadbd463a28275056826c27f8acc233e052adea

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 38478c40c4a425cf3ee533b78f1fdd0dafd9a328
2017-12-05 15:16:37 -06:00
Bastien Orivel
2c7fc91a30 servo: Merge #19494 - Update smallvec to 0.6 (from Eijebong:smallvec); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: c20fd7d58a36496ea7d12ea3284172712da006b0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 20803a41dd88a558e75d008dd808939d0a71429b
2017-12-05 13:44:19 -06:00
Emilio Cobos Álvarez
22eeea2e48 servo: Merge #19497 - style: Add internal overflow-clip-box-block/-inline properties and make overflow-clip-box a shorthand (from emilio:overflow-clip-box); r=emilio,nox
These are the changes from bug 1422839. First commit is reviewed by me, the second is a fixup to that.

Source-Repo: https://github.com/servo/servo
Source-Revision: 479847d8b906654b34aeddb09c7e89a3b3beb99c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9bc7f6e2789a2947956ad3ff452ee2d9510eb11e
2017-12-05 12:43:45 -06:00
tigercosmos
89778e9157 servo: Merge #19492 - use entry global's origin in is_origin_clean check for canvas rendering (from tigercosmos:b1); r=jdm
use entry global's origin in `is_origin_clean` check for canvas rendering

There is no change with:
```
./mach test-wpt tests/wpt/web-platform-tests/2dcontext
./mach test-wpt tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element
```

---
<!-- 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  #19480 (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: 79f43ec3b555621d549567f36adb071d33f2d6cc

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f2603c4c8aeed1cc9b91e86381da6efafa69319e
2017-12-05 11:33:03 -06:00
Bastien Orivel
7c6e509871 servo: Merge #19487 - Update lazy_static to 1.0 (from Eijebong:bump); r=jdm
For now it'll be duplicated

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dfcd68496ca486045b0b0bc0c51ea4293d8487de
2017-12-05 10:31:16 -06:00
Boris Chiou
cb9276bc80 servo: Merge #19491 - stylo: Implement FontFaceSet and Font Descriptors parsers (from BorisChiou:stylo/fontface/parser); r=heycam
This is the inter-dependent patches for Bug 1408303. We implement the FFI for the
parsers of font descriptors and FontFaceSet APIs.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1408303](https://bugzilla.mozilla.org/show_bug.cgi?id=1408303).
- [X] These changes do not require tests because this is for Gecko and we have tests there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3029f83b0d0654ccb3942722171f5b3d01400e4a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 69afaec1a7ea5b9b31c53f8c4a7fe71df8f22e8e
2017-12-05 08:09:35 -06:00
Fabrice Desré
bc29ed2086 servo: Merge #19468 - Prevent an unused import warning on non desktop platforms (from servo:fabricedesre-patch-1); r=jdm
opts is not used on Android for instance.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the test is that the build passes.

<!-- 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: 9ca9d6bd1c603e3f2efd10d923524c63562733a4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2c0fead51ffb9eb63c254504b91109e13cf46d43
2017-12-05 07:13:46 -06:00
Emilio Cobos Álvarez
bfd5d2191a servo: Merge #19493 - style: Some stylo-chrome perf tweaks (from emilio:chrome-perf); r=xidorn,Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 8f30880d362ef54a2c6881c4927b96303ff763ef

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 680fd60a85bcdf4b28e86c397d2e39c02bead9cb
2017-12-05 06:05:25 -06:00