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

270 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 4a320a47a3 servo: Merge #20223 - style: Allow to share style across elements with similar XBL bindings (from emilio:share-xbl); r=xidorn,bholley
Also move the checks so that the tag name checks (presumably cheaper) come earlier.

Source-Repo: https://github.com/servo/servo
Source-Revision: 087cf21d79cb090c2a8b55b441e6004921b540aa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4dd2eb2330026ccf2c498898b75a1f7648f378ec
2018-03-12 16:48:36 -04:00
Emilio Cobos Álvarez 93ea7b41e1 servo: Merge #20229 - style: Separate the XBL and shadow dom styling bits (from emilio:finally); r=xidorn
Bug: 1441022
Reviewed-by: xidorn
MozReview-Commit-ID: 2W0BmZ8wWXg
Source-Repo: https://github.com/servo/servo
Source-Revision: 6272233c50071534ddbab118b64ecdb8fdda7c8a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0ce28863b2082d97c58833aae1c092b1723e1aa9
2018-03-07 10:06:05 -05:00
Emilio Cobos Álvarez b5b8e284de servo: Merge #20188 - style: Add bindings for ShadowRoot (from emilio:moar-traits); r=nox
This adds TShadowRoot to the `dom` module.

Right now it barely adds uses of it, but this is a prerequisite to fix a bunch
of Shadow DOM bugs and separate it from the XBL mess.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 17c6150f89621b67a6d92d20d62617d605f94417
2018-03-03 17:53:08 -05:00
Bastien Orivel ba431a7ec0 servo: Merge #20140 - Bump euclid to 0.17 (from Eijebong:euclid); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 38298336beb4ef8873cae22919bd8bee0f6496d4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0fc60971a64e0c8fb9be4503a54298f9ecb8cf8b
2018-02-28 04:14:32 -05:00
Glenn Watson e4f4cfc8ec servo: Merge #20058 - Bump rayon to 1.0 (from Eijebong:rayon1.0); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b6bd719c5dfa1dd5bb1900d31d318250cb54271e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 06ed7eee8aa93a5b4e573b981f5e2e9bb325f001
2018-02-27 00:10:51 -05:00
Emilio Cobos Álvarez e47cb58448 servo: Merge #20117 - style: Somewhat miscelaneous cleanup (from emilio:misc-cleanup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: bbfca28a4f3770896955375d01f1c489b4632fd3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cca02ea2c160395889cfd6eb60c62a065d490300
2018-02-24 17:28:20 -05:00
Pyfisch 48a0793b21 servo: Merge #20031 - Reorganise display list builder (from pyfisch:transform); r=mbrubeck
Description in the individual commits.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0f81ac128ceb59a35075523b83f1c33f57094361
2018-02-24 10:06:16 -05:00
Fernando Jiménez Moreno b30ef5ade0 servo: Merge #19754 - Implement element.innerText getter (from ferjm:innertext); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 9e64008e759a678a3971d04977c2b20b66fa8229

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3abec747db5efab23329d1279eb69cd0e1368ce8
2018-02-13 03:41:48 -05:00
Glenn Watson 8243da60c5 servo: Merge #19982 - Update WR (various transform, hit-testing related fixes) (from glennw:update-wr-fixes); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: ced67db82dbc926d83f98d4a49bd025b59270933

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c4e64b9b477bc85e93754b75d5090f84e0d5578d
2018-02-07 20:32:19 -05:00
Pyfisch 1789b97009 servo: Merge #19931 - Use LayoutRects for bounds and overflow in display lists (from pyfisch:float-bounds); r=mrobinson
Convert text runs to glyphs in display list builder.
Remove ComplexClippingRegion and use the WebRender type.

Source-Repo: https://github.com/servo/servo
Source-Revision: 03a1a014ae3f7feeb91246343c487962d061d9fb

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ae4421a5def89812460500037a688f691338d255
2018-02-07 07:11:41 -05:00
Martin Robinson 5b6df44ee7 servo: Merge #19933 - Update WebRender (from mrobinson:update-wr); r=emilio
This allows servo to use the ExternalScrollId API from WebRender fixing
some issues related to duplicate scroll root ids.

Fixes #17176.
Fixes #19287.
Fixes #19648.

<!-- 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 #17176, #19287, and #19648.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3283c6cf9a36acfd46b65058459ad98871674458
2018-02-06 09:12:58 -05:00
Emilio Cobos Álvarez bfe87878dd servo: Merge #19878 - selectors: Never match ::slotted on <slot>s (from emilio:slotted-slot); r=nox
This fixes the test from https://github.com/w3c/web-platform-tests/pull/9212 in
Gecko.

Source-Repo: https://github.com/servo/servo
Source-Revision: 82922c97dc0313736fedb8021b205d4f84088a15

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ec1b0b5dcf36a50fe9b1cd5b087efb5f665cc79e
2018-01-29 11:45:11 -06:00
Jon Leighton ec2ff2cabb servo: Merge #19881 - Add layout RPC query for getting an element's style (from jonleighton:issue-19811); r=emilio
This enables us to implement Element::has_css_layout_box() in a more
direct way, and also enables us to remove some of the existing more
specific queries.

Fixes #19811.

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 2a46067587d63aec176621ab3b6112ef5200a248

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 715f36d9bedb88b8bba29eff16913cb31a426305
2018-01-28 05:52:56 -06:00
Emilio Cobos Álvarez ef4b2d883d servo: Merge #19877 - style: Look at the snapshots when invalidating due to stylesheet changes (from emilio:remove-sheet-oh-noes); r=bz
Otherwise removal of stylesheets may get out of sync with other DOM changes, and
we may fail to invalidate the style of the affected elements.

Bug: 1432850
Reviewed-by: bz
MozReview-Commit-ID: DrMTgLzQcnk
Source-Repo: https://github.com/servo/servo
Source-Revision: bc7dd644f6f50bd6eb3fba1547808775ee9d7620

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a906350d0b2590d4634b95ddccb3a8294ec1cbfe
2018-01-26 20:18:48 -06:00
Emilio Cobos Álvarez 08ae0f4db4 servo: Merge #19842 - style: Cleanup a bit the cascade (from emilio:cascade-cleanup); r=nox,jryans
This makes an element available in StyleAdjuster, and uses it to replace some of our CascadeFlags (the ones that don't represent restrictions on what's actually cascaded, actually).

That fixes handwaviness in the handling of those flags from style reparenting,
and code duplication to handle tricky stuff like :visited.

There are a number of other changes that are worth noticing:

 * skip_root_and_item_based_display_fixup is renamed to skip_item_display_fixup:

   TElement::is_root() already implies being the document element, which by
   definition is not native anonymous and not a pseudo-element.

   Thus, you never get fixed-up if your NAC or a pseudo, which is what the code
   tried to avoid, so the only fixup with a point is the item one, which is
   necessary.

 * The pseudo-element probing code was refactored to return early a
   Option::<CascadeInputs>::None, which is nicer than what it was doing.

 * The visited_links_enabled check has moved to selector-matching time. The rest
   of the checks aren't based on whether the element is a link, or are properly
   guarded by parent_style.visited_style().is_some() or visited_rules.is_some().

   Thus you can transitively infer that no element will end up with a :visited
   style, not even from style reparenting.

Anyway, the underlying reason why I want the element in StyleAdjuster is because
we're going to implement an adjustment in there depending on the tag of the
element (converting display: contents to display: none depending on the tag), so
computing that information eagerly, including a hash lookup, wouldn't be nice.

See each commit for details.

Source-Repo: https://github.com/servo/servo
Source-Revision: 02331617b9bd7a379b05f7daa7ad09a44c27504c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dceeca4961762c9f7414007c83ceed03e00c720b
2018-01-23 06:30:51 -06:00
Simon Sapin 7b81925deb servo: Merge #19829 - Update Rust and use the newly-stable std::ptr::NonNull (from servo:rustup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: c1ed4bb2d5ed6a4f9967215620d2105cda5ef76a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4f69ae87c412562cfab10b101d17dceab6c387ee
2018-01-22 11:11:44 -06:00
Emilio Cobos Álvarez 33bcc6c989 servo: Merge #19817 - style: Track the visited-handling-mode on the MatchingContext (from emilio:matching-context-visited); r=nox
This fixes bugs where we're not passing the value around correctly, like from
::-moz-any.

This is a fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1431539.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c3d27604818f36b68c16d53ef143b4ef892c006e
2018-01-19 12:50:00 -06:00
Glenn Watson cb122c2f7e servo: Merge #19814 - Update WR (minimal use of new transaction API) (from glennw:update-wr-txn); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b86b60238f795554f5e7ee07dcc993fc4cdf650

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e008f4a59755c0b38ed76a2e320b4a940ca7d37b
2018-01-19 09:37:47 -06:00
Pyfisch 2041951edf servo: Merge #19782 - Use more WebRender types in gfx/display_list (from pyfisch:dl-simple); r=mrobinson
Use more WebRender types in gfx/display_list.
This uses floating-point (Layout) coordinates in where possible.
Replace NormalBorder struct with WebRender equivalent.
Remove ToPointF and ToRectF traits.
Convert border RepeatKeyword with ToLayout.
Add some definitions to malloc_size_of for WebRender types.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 799b94b96707c2330a3108babe3ba12feae14d38
2018-01-18 05:42:52 -06:00
Georg Streich 2bd75d4fdf servo: Merge #19755 - Decouple metrics and gfx (from streichgeorg:decoupling_metrics_gfx); r=jdm
Added gfx_traits::DisplayList so metrics doesn't depend on the gfx crate for gfx::display_list::DisplayList.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because succesful compilation should be enough

<!-- 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: 8281ee004336049df11cc0478cb3c8b5610c6bde

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 07b42adf960519242136f890a37a20eb6599339a
2018-01-17 07:28:01 -06:00
Emilio Cobos Álvarez 03f7906492 servo: Merge #19769 - layout: Simplify the pseudo-element setup (from emilio:simplify-layout-construct); r=nox
It's kind of a mess. See individual commits for details.

Source-Repo: https://github.com/servo/servo
Source-Revision: 032fd388e4efdd9ecc682877d017b9d2f78e29e2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f365989a4d7c713caf92ed0ef34a228a6243644e
2018-01-15 04:14:13 -06:00
Pyfisch 6343bde1af servo: Merge #19716 - Use a ToLayout trait for converting from style to webrender types (from pyfisch:conversions); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 1a4df8f87668d5f5f24f4faeca43fb592a8edfe0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 07094f447f924cc0f0800906665d968ee41e2f90
2018-01-11 03:41:43 -06:00
Emilio Cobos Álvarez d09192fc43 servo: Merge #19721 - style: Support ::slotted better (from emilio:slotted); r=heycam
This allows to selector-match ::slotted, though we still don't parse it.

Bug: 1425834, 1424607, 1425755
Reviewed-by: heycam
MozReview-Commit-ID: ItELHkf2PMl
Source-Repo: https://github.com/servo/servo
Source-Revision: bb34b7f54aa85cde600c6d675360d03714cf1f8b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c92bde66c55c112ea537384d89a698ccb5eba798
2018-01-09 07:26:28 -06:00
Pyfisch 30dce265cf servo: Merge #19686 - Create own file for background calculations in layout (from pyfisch:layout-background); r=emilio
See #19676

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

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

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e226fe9ff412cff087069f17d1bc634cf5fa994

--HG--
rename : servo/components/layout/display_list_builder.rs => servo/components/layout/display_list/builder.rs
rename : servo/components/layout/webrender_helpers.rs => servo/components/layout/display_list/webrender_helpers.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3ea1341671593aa486b39b2dc570a7afc56cc5a2
2018-01-07 08:53:18 -06:00
Emilio Cobos Álvarez 15c20a101d servo: Merge #18893 - style: Remove TNode::set_can_be_fragmented and TNode::can_be_fragmented (from emilio:bye-can-be-fragmented); r=SimonSapin
Replace them instead by a computed value flag, the same way as the
IS_IN_DISPLAY_NONE_SUBTREE flag works.

Source-Repo: https://github.com/servo/servo
Source-Revision: 83a8891bd4d04ccb3f2f7b292d53f2847380b94c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e866663b660580644a022356b6226f5ec3e336d4
2018-01-05 05:11:00 -06:00
Yati Sagade cda0c94d8c servo: Merge #19256 - Paint worklets: Implement timeout for worklet painter threads (from yati-sagade:master); r=asajeffrey
When a paint worklet thread takes too long, we would like to move on,
since we have a ~16ms budget for rendering at 60fps. At the moment, there
is no provision in the paintworklet spec to signal such timeouts to the
developer. ajeffrey opened an [issue][1] for this, but it got punted to
v2 of the spec. Hence we are silently timing out unresponsive paint
scripts.

The timeout value is chosen to be 10ms by default, and can be overridden
by setting the SERVO_PAINT_WORKLET_TIMEOUT_MS environment variable.

In the absence of such a timeout, the reftest in this commit would fail
by timing out the testrunner itself, since the paint script never
returns. From my discussions with ajeffrey, this should do until we spec
out a way to signal timeouts to the script developer.

This fixes #17370.

[1]: https://github.com/w3c/css-houdini-drafts/issues/507

<!-- 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: -->
- [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: 54f8cc37c5a7874607128e3518fd0982f7065565

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0234a7fd5437d1c2a9c0424b9e2bb51d309a4490
2017-12-22 04:50:16 -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 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
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
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
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
Emilio Cobos Álvarez 9f3b446bd0 servo: Merge #19317 - style: Move property allowance tests to PropertyId::parse_into (from emilio:property-allowed-in); r=SimonSapin
It's not only more consistent (since we have a proper ParserContext there), but
also fixes a bunch of bugs where Gecko accidentally exposes and allows setting
internal state because of conversions from nsCSSPropertyID to PropertyId.

This adds the extra complexity of caring about aliases for longer, but that's
probably not a big deal in practice, since we have PropertyDeclarationId.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3864f320e8c6ff707d5b11fe46d67c0677cd112a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 41922d46e6c30b5ec9f5adebceac0978ab35b6e0
2017-11-21 07:47:52 -06:00
Emilio Cobos Álvarez 8df4224bb5 servo: Merge #19113 - Reland #19108, because it was backed out before its Gecko-side patches could land (from emilio:qsa); r=xidorn,bz
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f5325d0a7e9b3039c7d5b5f9de5cd2511207d9a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8500b96a1e505ebf173bc034275d77e4c9100b17
2017-11-04 05:36:17 -05:00
Sebastian Hengst 855fb4576a Backed out changeset dbd300f4d75b for build bustage. r=backout on a CLOSED TREE 2017-11-04 00:55:25 +01:00
Emilio Cobos Álvarez ab3406e598 servo: Merge #19108 - stylo: querySelector{,All} optimizations (from emilio:qsa); r=xidorn,bz
Bug: 1410624
Source-Repo: https://github.com/servo/servo
Source-Revision: a0cd781bdcdfa9db8b33632f0117e4d835ea1892

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 78c5ebda8da554c83af4c750bd5642fa17be8745
2017-11-03 14:27:34 -05:00
Bastien Orivel b5ec6408a9 servo: Merge #18967 - Bump bitflags to 1.0 (from Eijebong:bitflags2.0); r=mbrubeck
See #18809

Still haven't had time to test it but it should fix the tests failures that appeared in m-c

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9a0549d7dd8a99315ba3f8eec5d0f9fdf9eb4c0f
2017-10-30 18:25:45 -05:00
Emilio Cobos Álvarez c4d1881741 servo: Merge #19024 - Introduce style::dom::TDocument (from emilio:document); r=KiChjang
The secret plan is introducing a `get_elements_with_id` for use by `querySelector` / `querySelectorAll`.

But this allows also to make some code look a bit nicer.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2e34bb4dd31ca9cdafc0756d5366f4ad196f73bd
2017-10-26 07:51:21 -05:00
Emilio Cobos Álvarez 029ecbb951 servo: Merge #19023 - style: Remove PresentationalHintsSynthesizer (from emilio:remove-pres-hints-trait); r=KiChjang
This is not really an useful abstraction, and I never knew how to spell it.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0cc73981a77aa96cd0ce3486fc82e1f106f37496
2017-10-26 05:17:39 -05:00
ddh c27487d718 servo: Merge #18670 - added time to interactive metrics (from avadacatavra:interactive-metrics); r=jdm
<!-- Please describe your changes on the following line: -->

Added time to interactive metrics and refactored metrics/lib

I need to write tests, but wanted to submit the PR for review

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

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

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

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bac1798200377932a85607154d5baa4f451b30e6
2017-10-25 15:53:57 -05:00
Matt Brubeck aca60f24b9 servo: Merge #18968 - Use try syntax for Option where appropriate (from mbrubeck:try); r=emilio
- [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: 2b03a9974c61d1481d4b40351ff1305ad0b26588

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ff1d2ee734428d0ff4590fcf8dd03de2bc2302b6
2017-10-21 03:31:21 -05:00
Nikhil Shagrithaya 751695e701 servo: Merge #18946 - Update h5e version (from cynicaldevil:update-h5e); r=nox
<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 91077ee4185b4917f5f67bf7ebe7ea03ca3e7241

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8086d3b411e9c203784fd3f8b210079d3a251a3d
2017-10-20 08:49:09 -05:00
Sebastian Hengst bfad5a393e Backed out changeset e64e659c077d: servo PR #18809 and revendor for reftest failures, e.g. in layout/reftests/bugs/392435-1.html. r=backout on a CLOSED TREE
--HG--
extra : amend_source : c80f31aec994c03e9ada2840b097efb3f894014e
2017-10-19 23:23:30 +02:00
Bastien Orivel 6c1dbf46fe servo: Merge #18809 - Update bitflags to 1.0 in every servo crate (from Eijebong:bitflags); r=nox
It still needs dependencies update to remove all the other bitflags
versions.

- [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 a dependency update

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bb9d52a22bee6d1fe773718f649c977b07840719
2017-10-19 10:35:08 -05:00
Simon Sapin c97a708440 servo: Merge #18944 - Stop relying on linking details of std’s default allocator (from servo:jemallocator2); r=nox
We’ve been bitten before by symbol names changing: https://github.com/servo/heapsize/pull/46, and upstream is planning to stop using jemalloc by default: https://github.com/rust-lang/rust/issues/33082#issuecomment-309781465

So use the (relatively) new `#[global_allocator]` attribute to explicitly select the system allocator on Windows and jemalloc (now in an external crate) on other platforms. This choice matches current defaults.

Source-Repo: https://github.com/servo/servo
Source-Revision: 07e9794306d597afe5d90d192fd32a99572c3cc3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c773f809c4f783e63c42218220e7c8c190727e6e
2017-10-19 09:15:17 -05:00
Emilio Cobos Álvarez 24e9d2a703 servo: Merge #18934 - style: Make MatchingContext generic over SelectorImpl (from emilio:matching-context-generic); r=xidorn,heycam
This will help Xidorn implement tree pseudos, and in general makes sense,
allowing to put specific matching data in a selectors implementation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6268f482084179ed54e63028da038ae39c947359

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2ed488ddfcbffb5b8779072c051a6d6057eee55b
2017-10-19 05:43:51 -05:00
Martin Robinson 54e8de2b45 servo: Merge #18933 - Use WebRender to compute text index on click events (from mrobinson:wr-text-index); r=jdm
This is the second half of switching over to WebRender for hit testing.
Now that WebRender gives us the location of the hit tested point in the
display item, we can use that to calculate text index.

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

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they shouldn't change behavior.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 4cf2ce66fc4f970a47ab1fb4b9aa1a55282640f7

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 365f452e9e708080adbbfe4b09ccd2dafeb3eb75
2017-10-19 02:36:32 -05:00
Nicholas Nethercote 5a62942911 servo: Merge #18938 - Replace all uses of the `heapsize` crate with `malloc_size_of` (from nnethercote:bug-1409255); r=SimonSapin
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.

This patch makes the following changes to the `malloc_size_of` crate.

- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
  (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).

- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
  support that operation.

- For `HashSet`/`HashMap`, falls back to a computed estimate when
  `enclosing_size_of_op` isn't available.

- Adds an extern "C" `malloc_size_of` function that does the actual heap
  measurement; this is based on the same functions from the `heapsize` crate.

This patch makes the following changes elsewhere.

- Converts all the uses of `heapsize` to instead use `malloc_size_of`.

- Disables the "heapsize"/"heap_size" feature for the external crates that
  provide it.

- Removes the `HeapSizeOf` implementation from `hashglobe`.

- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
  doesn't derive those types, unlike `heapsize`.

<!-- 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 https://bugzilla.mozilla.org/show_bug.cgi?id=1409255

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because testing is on the Gecko side.

<!-- 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: 4c538b642e4bdfbf42c522c5a59c258a6d14546e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f9a6feed1088d0b0be2b55d7f0c2ec9c594ac33b
2017-10-18 13:56:05 -05:00
Martin Robinson 86810648f3 servo: Merge #18704 - Switch to using WebRender hit testing (from mrobinson:wr-hit-testing); r=jdm,glennw,mbrubeck
This trades quite a bit of complicated code in Servo for few more
messages and a significant performance improvement. In particular,
WebRender can search the entire display list at once instead of
ping-ponging down the pipeline tree. This allows us to send mouse
events to the correct pipeline immediately.

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

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

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

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1a3b945e2f06ebc10dd9930ca19ef3f6500f94c4
2017-10-17 17:09:25 -05:00
Emilio Cobos Álvarez 3c160750e2 servo: Merge #18904 - style: Stop threading the ElementData around the invalidator (from emilio:invalidator-less-dependencies); r=heycam,jdm,nox
style: Stop threading the ElementData around the invalidator.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e7648a93a0b2ee03a02355cff9d6a4d7af9169b8
2017-10-17 05:18:29 -05:00
Simon Sapin 84f6addcca servo: Merge #18875 - Remove the need for rust-mozjs to use unstable Rust features (from servo:stable-js); r=nox,jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e8a6f2862c2a6084e4f4e64ab466c89ae83cff59

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0a4afe555c08aa8749c361669f9385fd65f10f4a
2017-10-16 17:07:50 -05:00