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

1197 Коммитов

Автор SHA1 Сообщение Дата
Oana Pop Rus d107d8f08d Backed out 2 changesets (bug 1593865) for multiple failures on asan_malloc_linux.cc on a CLOSED TREE
Backed out changeset 40de560a7cad (bug 1593865)
Backed out changeset 6fd25e6c3d1a (bug 1593865)
2019-11-06 19:41:34 +02:00
Emilio Cobos Álvarez 2bb4b26089 Bug 1593865 - Simplify code for keeping alive shared memory until all sheets go away. r=jwatt
The existing code wasn't sound, as CSSOM objects also needed to go away before
the shared memory goes away (as they keep references to them).

This is sound assuming no presence of reference cycles introduced by CSSOM.

We may want to live with this and rely on chrome code not writing cycles like
this with UA stylesheet DOM objects.

We could explicitly drop all potentially-static objects... That seems pretty
error prone though.

Or we could also just leak the shared memory buffer, is there any reason why we
may not want to do that?

Differential Revision: https://phabricator.services.mozilla.com/D51870

--HG--
extra : moz-landing-system : lando
2019-11-06 16:17:15 +00:00
Boris Chiou d546797708 Bug 1429305 - Add new layer messages for passing motion path info. r=hiro,mattwoodrow
This also includes the implementation of SetAnimatable, FromAnimatable,
and merge the final matrix with motion path.

Besides, we always use PathBuilderSkia for calculating the gfx::Path for
web-renderer.

Differential Revision: https://phabricator.services.mozilla.com/D50011

--HG--
extra : moz-landing-system : lando
2019-10-31 20:07:41 +00:00
Boris Chiou 58ba6b888a Bug 1429305 - Use serde to serialize LengthPercentage and StyleRayFunction. r=emilio
We need to pass these two types into the compositor, so we need a better
way to serialize these rust types. We use serde and bincode to
serialize/deserialize them, and use ByteBuf to pass the &[u8] data
through IPC. We define StyleVecU8 for FFI usage only.

Differential Revision: https://phabricator.services.mozilla.com/D50688

--HG--
extra : moz-landing-system : lando
2019-10-31 21:35:05 +00:00
Emilio Cobos Álvarez 6a021aec24 Bug 1591297 - Remove some XBL code in the style system. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D50554

--HG--
extra : moz-landing-system : lando
2019-10-25 12:19:21 +00:00
Brendan Dahl ac5283b5c0 Bug 1510785 - Add way to disable XBL in servo. r=emilio
Adds a feature "moz_xbl" that when disabled causes the XBL code in servo to
be stubbed out.

Depends on D45613

Differential Revision: https://phabricator.services.mozilla.com/D45614

--HG--
extra : moz-landing-system : lando
2019-10-08 23:52:26 +00:00
Emilio Cobos Álvarez 6d02538204 Bug 1585882 - Fix the case where where a node with an up-to-date style loses its frame due to a DOM mutation of siblings. r=heycam
This fixes another edge-case that I thought of while debugging this, I think
this makes our behavior correct now. The comment and test-case should be
self-descriptive.

Differential Revision: https://phabricator.services.mozilla.com/D48135

--HG--
extra : moz-landing-system : lando
2019-10-06 23:30:23 +00:00
Emilio Cobos Álvarez daab72e229 Bug 1585882 - Fix needs_frame() check to account for the case where an ancestor of us has been reconstructed regularly, not via lazy frame construction. r=heycam
This is a pre-existing bug, and this would be enough to fix the website, but
this is still not 100% correct. More on that in a second.

Differential Revision: https://phabricator.services.mozilla.com/D48134

--HG--
extra : moz-landing-system : lando
2019-10-05 09:25:21 +00:00
Emilio Cobos Álvarez 95582debce Bug 1578661 - Report counted unknown properties as well. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D44717

--HG--
extra : moz-landing-system : lando
2019-09-19 00:20:04 +00:00
Emilio Cobos Álvarez 2b159772ee Bug 1578661 - Merge the stylesheet use counters, report them, and add tests. r=boris
C'est fini. Now to do the same with the unimplemented ones remains, but it
should be straight-forward.

Differential Revision: https://phabricator.services.mozilla.com/D44698

--HG--
extra : moz-landing-system : lando
2019-09-19 00:19:59 +00:00
Cosmin Sabou 2978a72248 Backed out 10 changesets (bug 1578661) for linting failures on layout/style/ServoCSSPropList.py. CLOSED TREE
Backed out changeset b1b5393b1099 (bug 1578661)
Backed out changeset b87eebb0cf6e (bug 1578661)
Backed out changeset 6ba2ee45f26e (bug 1578661)
Backed out changeset 4a1d45160d60 (bug 1578661)
Backed out changeset 7a5687bebc02 (bug 1578661)
Backed out changeset 33c306c9020a (bug 1578661)
Backed out changeset 89d7e6fb24b0 (bug 1578661)
Backed out changeset 42c4943e569b (bug 1578661)
Backed out changeset 88d988a80de1 (bug 1578661)
Backed out changeset 78c90f9e9eee (bug 1578661)
2019-09-19 01:50:03 +03:00
Emilio Cobos Álvarez 4ce6b69adf Bug 1578661 - Report counted unknown properties as well. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D44717

--HG--
extra : moz-landing-system : lando
2019-09-18 15:15:15 +00:00
Emilio Cobos Álvarez 65b3948518 Bug 1578661 - Merge the stylesheet use counters, report them, and add tests. r=boris
C'est fini. Now to do the same with the unimplemented ones remains, but it
should be straight-forward.

Differential Revision: https://phabricator.services.mozilla.com/D44698

--HG--
extra : moz-landing-system : lando
2019-09-18 15:15:24 +00:00
Andreea Pavel 7494b360c0 Backed out 10 changesets (bug 1578661) for lints failure at ServoCSSPropList.cpp on a CLOSED TREE
Backed out changeset ed3c619100e7 (bug 1578661)
Backed out changeset 027514a2eaf6 (bug 1578661)
Backed out changeset f2e228282b20 (bug 1578661)
Backed out changeset 67c36136dce7 (bug 1578661)
Backed out changeset 2280b27cc130 (bug 1578661)
Backed out changeset 445d13a2c452 (bug 1578661)
Backed out changeset 89caaa850049 (bug 1578661)
Backed out changeset 2f8be5db1786 (bug 1578661)
Backed out changeset 51a015a9a0f8 (bug 1578661)
Backed out changeset ad8e1f27a600 (bug 1578661)
2019-09-18 18:09:30 +03:00
Emilio Cobos Álvarez 30e754a811 Bug 1578661 - Report counted unknown properties as well. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D44717

--HG--
extra : moz-landing-system : lando
2019-09-18 12:04:48 +00:00
Emilio Cobos Álvarez 6021f6b576 Bug 1578661 - Merge the stylesheet use counters, report them, and add tests. r=boris
C'est fini. Now to do the same with the unimplemented ones remains, but it
should be straight-forward.

Differential Revision: https://phabricator.services.mozilla.com/D44698

--HG--
extra : moz-landing-system : lando
2019-09-18 12:04:44 +00:00
Andreea Pavel 31ca3fda59 Backed out 9 changesets (bug 1578661) for lints failure at ServoCSSPropList.py a=backout
Backed out changeset d16463e5698c (bug 1578661)
Backed out changeset c6d64ac858ba (bug 1578661)
Backed out changeset db306f1467f7 (bug 1578661)
Backed out changeset 273535aab82d (bug 1578661)
Backed out changeset f643262a8c25 (bug 1578661)
Backed out changeset b0db409ada96 (bug 1578661)
Backed out changeset dc96d13728e0 (bug 1578661)
Backed out changeset 11e1e8f0a1b7 (bug 1578661)
Backed out changeset 6dd7a0d914d9 (bug 1578661)
2019-09-18 13:53:34 +03:00
Emilio Cobos Álvarez 5ebe1a5793 Bug 1578661 - Report counted unknown properties as well. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D44717

--HG--
extra : moz-landing-system : lando
2019-09-18 02:31:25 +00:00
Emilio Cobos Álvarez 4a3f70732b Bug 1578661 - Merge the stylesheet use counters, report them, and add tests. r=boris
C'est fini. Now to do the same with the unimplemented ones remains, but it
should be straight-forward.

Differential Revision: https://phabricator.services.mozilla.com/D44698

--HG--
extra : moz-landing-system : lando
2019-09-18 02:31:21 +00:00
Boris Chiou 62b0e230d6 Bug 1480665 - Implement the contain flag for ray() function. r=birtles
Basically, the math calculation logic is from the github repo of the spec
author, Eric:
20b7403d85/ray.py (L311-L363)

Differential Revision: https://phabricator.services.mozilla.com/D42722

--HG--
extra : moz-landing-system : lando
2019-09-16 23:24:50 +00:00
Daisuke Akatsuka 409a2bc885 Bug 713106: Make :visited selector enabled to use from DevTools. r=pbro,emilio
Differential Revision: https://phabricator.services.mozilla.com/D45624

--HG--
extra : moz-landing-system : lando
2019-09-13 22:12:12 +00:00
Bastien Orivel e20d4dc52f Bug 1580908 - Part 11: Fix test_size_of_rule_node. r=emilio
Apparently I made SourcePropertyDeclaration 8 bytes shorter by updating
arrayvec. (see
b56c3b78d0
and
29012231a8
for details)

Differential Revision: https://phabricator.services.mozilla.com/D45746

--HG--
extra : moz-landing-system : lando
2019-09-12 22:22:50 +00:00
Bastien Orivel c98f904a4d Bug 1580908 - Part 2: Update env_logger to 0.6. r=froydnj
This is one less dependency on regex 0.2

Differential Revision: https://phabricator.services.mozilla.com/D45711

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:02 +00:00
Emilio Cobos Álvarez 0140a5576c Bug 1577439 - Shutdown Servo's thread-pool in leak-checking builds, leak the atom table elsewhere. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D44217

--HG--
extra : moz-landing-system : lando
2019-09-09 22:39:46 +00:00
Cameron McCormack 7052f624b5 Bug 1578147 - Align the Rust and C++ representations of WritingMode. r=emilio,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44412

--HG--
extra : moz-landing-system : lando
2019-09-09 04:49:55 +00:00
Gurzau Raul 9470d77271 Backed out changeset a396ec8f44fd (bug 1577439) for failing valgrind-test on a CLOSED TREE. 2019-09-07 19:03:27 +03:00
Emilio Cobos Álvarez d748b6062a Bug 1577439 - Shutdown Servo's thread-pool in leak-checking builds, leak the atom table elsewhere. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D44217

--HG--
extra : moz-landing-system : lando
2019-09-05 19:18:27 +00:00
Emilio Cobos Álvarez d5bc03b6f0 Bug 1578295 - Use cbindgen for counters. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D44403

--HG--
extra : moz-landing-system : lando
2019-09-02 23:11:26 +00:00
Razvan Maries 80cfb7b1f5 Backed out changeset 42ebd8a50978 (bug 1577439) for causing perma leakcheck | tab process: negative leaks caught. 2019-09-01 03:41:33 +03:00
Emilio Cobos Álvarez 5ba33267fa Bug 1577439 - Shutdown Servo's thread-pool in leak-checking builds, leak the atom table elsewhere. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D44217

--HG--
extra : moz-landing-system : lando
2019-08-31 23:28:26 +00:00
Boris Chiou c8dba8c886 Bug 1575062 - Support css use counters for unimplemented properties. r=emilio
For developing properties, we will handle them in an other bug.

Besides, I use an iframe for the test because we create a use counter in
the constructor of Document, which use the prefs to decide what kind of
properties we want to record. So, in the test, we have to reload iframe
to make sure we re-create the document, so does the use counter, to make
sure the prefs work properly.

The two prefs affect the css use counters:
1. layout.css.use-counters.enabled: Allocate use counters, and record
   non-custom properties.
2. layout.css.use-counters-unimplemented.enabled: Record all unimplmented
   properties into the use counters.

If we disable layout.css.use-counters.enblaed, we don't create use counters
object, so layout.css.use-counters-unimplemented.enabled doesn't work,
either.

Differential Revision: https://phabricator.services.mozilla.com/D43860

--HG--
extra : moz-landing-system : lando
2019-08-29 23:40:13 +00:00
Emilio Cobos Álvarez c17fdaaa27 Bug 1576703 - Update cbindgen. r=boris
This cleans up the pattern of "Use a private dtor so that the helper functions
do the right thing" by enabling it everywhere using:

  https://github.com/eqrion/cbindgen/pull/377

It also caught some uninitialized value issues.

I think they're mostly harmless since we zero-initialize our structs:

https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/servo/components/style/properties/gecko.mako.rs#632

And since we override the clip rect, which is the other bit of code that was
failing to build with this change.

Differential Revision: https://phabricator.services.mozilla.com/D43491

--HG--
extra : moz-landing-system : lando
2019-08-26 23:18:46 +00:00
Emilio Cobos Álvarez 7cc40cf7ef Bug 1576666 - Use cbindgen for clip / -moz-image-region. r=boris
This also fixes some of the issues with -moz-image-region, where we just minted
an auto out of the blue.

Depends on D43472

Differential Revision: https://phabricator.services.mozilla.com/D43474

--HG--
extra : moz-landing-system : lando
2019-08-26 23:09:47 +00:00
Emilio Cobos Álvarez f93d4c2566 Bug 1576587 - Rustfmt declaration_block.rs and glue.rs
Differential Revision: https://phabricator.services.mozilla.com/D43400

--HG--
extra : moz-landing-system : lando
2019-08-26 09:58:53 +00:00
Emilio Cobos Álvarez ba5c709666 Bug 1575608 - Simplify -x-span property. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42914

--HG--
extra : moz-landing-system : lando
2019-08-21 20:02:13 +00:00
Emilio Cobos Álvarez 346d47d739 Bug 1575608 - Avoid manual paint-order glue code. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42913

--HG--
extra : moz-landing-system : lando
2019-08-21 19:47:53 +00:00
Emilio Cobos Álvarez f11bf00012 Bug 1575559 - Make font-variant-alternates use cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42859

--HG--
extra : moz-landing-system : lando
2019-08-21 22:45:26 +00:00
Emilio Cobos Álvarez 110fe36713 Bug 1575559 - Fix rebase messup that makes a constructor public which shouldn't be. r=boris
I just drive-by noticed this, but I think it's worth fixing.

Differential Revision: https://phabricator.services.mozilla.com/D42858

--HG--
extra : moz-landing-system : lando
2019-08-21 18:28:23 +00:00
Dzmitry Malyshau 9875e48074 Bug 1575008 - Update parking_lot dependency to 0.9.0 r=aosmond
Updating parking_lot would allow us to avoid dependency duplication when WebGPU tree is vendored.

Differential Revision: https://phabricator.services.mozilla.com/D42557

--HG--
rename : third_party/rust/parking_lot_core/src/thread_parker/wasm.rs => third_party/rust/parking_lot_core/src/thread_parker/wasm_atomic.rs
extra : moz-landing-system : lando
2019-08-19 21:28:51 +00:00
Emilio Cobos Álvarez a03875ef63 Bug 1568536 - Simplify some style system APIs. r=heycam
Return a raw pointer instead of a strong reference to a ComputedStyle, and
handle the case of the style not being present by returning null rather than
requiring an extra function to check it and crashing if the precondition is not
met.

Also, name them so that it's clear they just return outdated styles and don't
make any extra effort.

This is just cleanup that makes the next patch easier / more obvious.

Differential Revision: https://phabricator.services.mozilla.com/D40080

--HG--
extra : moz-landing-system : lando
2019-08-16 05:59:03 +00:00
Mats Palmgren 6b3058eeb5 Bug 1038294 part 12 - Implement multi-keyword 'display' values for Gecko. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39764

--HG--
extra : moz-landing-system : lando
2019-08-14 14:34:37 +00:00
Charlie Marlow 693746ef3d Bug 1558929: adding from-font support to text-underline-offset and text-decoration-thickness r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D41476

--HG--
extra : moz-landing-system : lando
2019-08-13 17:43:25 +00:00
Emilio Cobos Álvarez 6068035edc Bug 1572805 - Use cbindgen for text-emphasis-style. r=boris
I sent https://github.com/eqrion/cbindgen/pull/377 since I got sick of
copy-pasting the private default constructor stuff :)

Differential Revision: https://phabricator.services.mozilla.com/D41419

--HG--
extra : moz-landing-system : lando
2019-08-10 18:11:31 +00:00
Daniel Varga 3430859a68 Backed out 2 changesets (bug 1572805) for build-rusttests failure. On a CLOSED TREE
Backed out changeset 849ca4b3f9de (bug 1572805)
Backed out changeset 81b56d76505a (bug 1572805)
2019-08-10 21:07:03 +03:00
Emilio Cobos Álvarez ccd8c3bedc Bug 1572805 - Use cbindgen for text-emphasis-style. r=boris
I sent https://github.com/eqrion/cbindgen/pull/377 since I got sick of
copy-pasting the private default constructor stuff :)

Differential Revision: https://phabricator.services.mozilla.com/D41419

--HG--
extra : moz-landing-system : lando
2019-08-10 16:21:15 +00:00
Emilio Cobos Álvarez 56df9575bc Bug 1499000 - Don't do CORS checks on CSS images with the resource:// scheme. r=bzbarsky
CORS only works on http channels, so anything else that tries to do a
CORS-enabled request fails catastrophically.

resource:// images are useful for extension developers, so don't perform CORS
checks on them. We may want to also do file:// and fix bug 1565509, while at it,
if we consider it's causing developer pain.

Differential Revision: https://phabricator.services.mozilla.com/D40651

--HG--
extra : moz-landing-system : lando
2019-08-09 18:09:55 +00:00
Boris Chiou e158ad1169 Bug 1339672 - Support multiple track sizes for grid-auto-{columns|rows}. r=emilio,mats
Support `<track-size>+` on the implicit track sizing properties,
grid-auto-columns and grid-auto-rows.

Differential Revision: https://phabricator.services.mozilla.com/D38408

--HG--
extra : moz-landing-system : lando
2019-08-06 18:32:16 +00:00
Emilio Cobos Álvarez 1f3d6c04f2 Bug 1519958 - Refactor grid types to preserve repeat() at computed value time and use cbindgen. r=mats,boris
I'm _really_ sorry for the size of the patch. I tried to do this in two steps
but it was a lot of work and pretty ugly.

This patch makes us use cbindgen for grid-template-{rows,columns}, in order to:

 * Make us preserve repeat() at computed-value time. This is per spec since
   interpolation needs to know about repeat(). Except for subgrid, which did the
   repeat expansion at parse-time and was a bit more annoying (plus it doesn't
   really animate yet so we don't need it to comply with the spec).

 * Tweaks the WPT tests for interpolation to adopt the resolution at:
   https://github.com/w3c/csswg-drafts/issues/3503.

Trade-off here, as this patch stands, is that this change makes us use less
long-living memory, since we expand repeat() during layout, but at the cost of a
bit of CPU time during layout (conditional on the property applying though,
which wasn't the case before). It should be very easy to store a cached version
of the template, should this be too hot (I expect it isn't), or to change the
representation in other ways to optimize grid layout code if it's worth it.

Another trade-off: I've used SmallPointerArray to handle line-name merging,
pointing to the individual arrays in the style data, rather than actually
heap-allocating the merged lists. This would also be pretty easy to change
should we measure and see that it's not worth it.

This patch also opens the gate to potentially improving memory usage in some
other ways, by reference-counting line-name lists for example, though I don't
have data that suggests it is worth it.

In general, this patch makes much easier to tweak the internal representation of
the grid style data structures. Overall, I think it's a win, the amount of magic
going on in that mako code was a bit huge; it took a bit to wrap my head around
it.

This patch comments out the style struct size assertions. They will be
uncommented in a follow-up patch which contains some improvements for this type,
which are worth getting reviewed separately.

Also, this patch doesn't remove as much code as I would've hoped for because of
I tried not to change most of the dom/grid code for inspector, but I think a
fair bit of the nsGridContainerFrame.cpp code that collects information for it
can be simplified / de-copy-pasted to some extent. But that was a pre-existing
problem and this patch is already quite massive.

Differential Revision: https://phabricator.services.mozilla.com/D36598
2019-08-05 22:13:21 +02:00
Emilio Cobos Álvarez 0f118f30e5 Bug 1404140 - Remove the GetCSNeedsLayoutFlush flag, as it is unneeded now. r=heycam
MANUAL PUSH: Would need to reorder the stack manually (https://bugzilla.mozilla.org/show_bug.cgi?id=1481539)

Differential Revision: https://phabricator.services.mozilla.com/D40300
2019-08-03 04:10:55 +02:00
Emilio Cobos Álvarez b38e7248ab Bug 1404140 - Don't flush layout for layout-dependent properties if we know that it won't affect the result. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40299
2019-08-03 04:09:13 +02:00