Commit Graph

13011 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
ba2ffbed2e Bug 1597123 - Remove NODE_IS_ANONYMOUS_ROOT. r=smaug
We no longer have multiple kinds of anonymous subtrees, so we can get back one
node bit.

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

--HG--
extra : moz-landing-system : lando
2019-11-18 08:49:27 +00:00
Emilio Cobos Álvarez
3bbe26d009 Bug 1596712 - Use only Origin during the cascade, rather than CascadeLevel. r=heycam
The micro-benchmark `style-attr-1.html` regressed slightly with my patch, after
the CascadeLevel size increase.

This benchmark is meant to test for the "changing the style attribute doesn't
cause selector-matching" optimization (which, mind you, keeps working).

But in the process it creates 10k rules which form a perfect path in the rule
tree and that we put into a SmallVec during the cascade, and the benchmark
spends most of the time pushing to that SmallVec and iterating the declarations
(as there's only one property to apply).

So we could argue that the regression is minor and is not what the benchark is
supposed to be testing, but given I did the digging... :)

My patch made CascadeLevel bigger, which means that we create a somewhat bigger
vector in this case. Thankfully it also removed the dependency in the
CascadeLevel, so we can stop using that and use just Origin which is one byte to
revert the perf regression.

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

--HG--
extra : moz-landing-system : lando
2019-11-17 23:28:39 +00:00
Boris Chiou
52546e8558 Bug 1596610 - Set WillChangeBits::TRANSFORM for offset-path and add tests for it. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D53109

--HG--
extra : moz-landing-system : lando
2019-11-16 01:52:32 +00:00
Boris Chiou
f918f7fc49 Bug 1594946 - Treat 3d translate/scale as 2d if the value can be expressed as 2d. r=emilio
For the individual transform properties if they spec a value that can be
expressed as 2d we treat as 2d and serialize accordingly.

We drop Translate::Translate and Scale::Scale, and then rename
Translate::Translate3D as Translate::Translate, Scale::Scale3D as
Scale::Scale. So now we use Translate::Translate to represent 2d and 3d
translation, and Scale::Scale to represent 2d and 3d scale. There is no
difference between 2d and 3d translate/scale in Gecko because we always
convert them into 3d format to layers (on the compositor thread), so this
change makes things simpler.

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

--HG--
extra : moz-landing-system : lando
2019-11-15 19:38:24 +00:00
Emilio Cobos Álvarez
dbb16b3158 Bug 1596050 - Centralize logic to ignore document colors. r=jfkthame
This was a follow-up from the backplate stuff which I requested but didn't
happen.

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

--HG--
extra : moz-landing-system : lando
2019-11-15 13:39:08 +00:00
Emilio Cobos Álvarez
760ba894bf Bug 1596391 - Fix silly boolean logic mistake. r=bustage a=dluca
MANUAL PUSH: bustage
2019-11-14 15:17:25 +01:00
Emilio Cobos Álvarez
186586e54a Bug 1596391 - Remove NODE_MAY_BE_IN_BINDING_MNGR. r=smaug
Never set anymore.

Depends on D52993

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

--HG--
extra : moz-landing-system : lando
2019-11-14 12:54:00 +00:00
Emilio Cobos Álvarez
1d1b44bdd9 Bug 1588431 - Optimize storage of ApplicableDeclaration again. r=heycam
So that we don't regress perf.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 09:59:10 +00:00
Emilio Cobos Álvarez
7862314a7d Bug 1588431 - Fix cascade order of shadow parts. r=heycam
This moves the shadow cascade order into the cascade level, and refactors the
code a bit for that.

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

--HG--
extra : moz-landing-system : lando
2019-11-14 02:49:54 +00:00
Emilio Cobos Álvarez
cdec933a85 Bug 1588431 - Split collect_style_attribute_and_animation_rules. r=heycam
Animations are their own cascade level per https://drafts.csswg.org/css-cascade-4/#cascade-origin

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

--HG--
extra : moz-landing-system : lando
2019-11-13 09:58:52 +00:00
Sam Mauldin
badca6def9 Bug 1592189 - Remove SpecialColorKeyword enum and merge into SystemColor r=emilio
Move all the entires of SpecialColorKeyword into SystemColor
and rearrange their computation to match.
Add the new SystemColor entries into the property list of nsXPLookAndFeel.

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

--HG--
extra : moz-landing-system : lando
2019-11-14 00:17:23 +00:00
Hiroyuki Ikezoe
f5f6f60da5 Bug 1586144 - Factor dynamic toolbar max height into layout metrics. r=emilio,botond
Now
* nsPresContext::mVisibleArea is excluding the toolbar max height so that
  ICB is now static regardless of the dynamic toolbar transition
* nsPresContext::mSizeForViewportUnits is introduced to resolve viewport units
  which is including the toolbar max height

That means that with the dynamic toolbar max height;

  mVisibleArea < mSizeForViewportUnits

See https://github.com/bokand/URLBarSizing for more detail backgrounds of this
change.

Depends on D50417

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

--HG--
extra : moz-landing-system : lando
2019-11-14 06:00:05 +00:00
Dzmitry Malyshau
1c5b01ed15 Bug 1575008 - WebGPU implementation basis r=baku,bzbarsky
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.
Complementary ecosystem tracker - https://github.com/gfx-rs/wgpu/issues/374

Current status:
  - [x] General
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (postponed as https://bugzilla.mozilla.org/show_bug.cgi?id=1594182)
    - [x] neko rebasing disaster
  - [x] Linux
    - [x] avoid depending on spirv_cross
  - [x] macOS
    - [x] due to cross-compiling shaders
    - [x] need the dependency update
    - [x] stop using gcc
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
    - [x] spirv-cross linking failure in ASAN - https://phabricator.services.mozilla.com/D52688
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet
    - [x] due to some exceptional stuff
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library
  - [x] Android
    - [x] spirv-cross fails to build due to exceptions

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/ash/Cargo.toml
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/cocoa/LICENSE-MIT
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/copyless/Cargo.toml
rename : third_party/rust/crossbeam-utils/.cargo-checksum.json => third_party/rust/crossbeam-utils-0.6.5/.cargo-checksum.json
rename : third_party/rust/crossbeam-utils/CHANGELOG.md => third_party/rust/crossbeam-utils-0.6.5/CHANGELOG.md
rename : third_party/rust/crossbeam-utils/Cargo.toml => third_party/rust/crossbeam-utils-0.6.5/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/crossbeam-utils-0.6.5/LICENSE-MIT
rename : third_party/rust/crossbeam-utils/README.md => third_party/rust/crossbeam-utils-0.6.5/README.md
rename : third_party/rust/crossbeam-utils/benches/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/benches/atomic_cell.rs
rename : third_party/rust/crossbeam-utils/src/atomic/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/src/atomic/atomic_cell.rs
rename : third_party/rust/crossbeam-utils/src/atomic/mod.rs => third_party/rust/crossbeam-utils-0.6.5/src/atomic/mod.rs
rename : third_party/rust/crossbeam-utils/src/backoff.rs => third_party/rust/crossbeam-utils-0.6.5/src/backoff.rs
rename : third_party/rust/crossbeam-utils/src/cache_padded.rs => third_party/rust/crossbeam-utils-0.6.5/src/cache_padded.rs
rename : third_party/rust/crossbeam-utils/src/lib.rs => third_party/rust/crossbeam-utils-0.6.5/src/lib.rs
rename : third_party/rust/crossbeam-utils/src/thread.rs => third_party/rust/crossbeam-utils-0.6.5/src/thread.rs
rename : third_party/rust/crossbeam-utils/tests/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/tests/atomic_cell.rs
rename : third_party/rust/crossbeam-utils/tests/parker.rs => third_party/rust/crossbeam-utils-0.6.5/tests/parker.rs
rename : third_party/rust/crossbeam-utils/tests/sharded_lock.rs => third_party/rust/crossbeam-utils-0.6.5/tests/sharded_lock.rs
rename : third_party/rust/crossbeam-utils/tests/thread.rs => third_party/rust/crossbeam-utils-0.6.5/tests/thread.rs
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/gfx-auxil/Cargo.toml
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/gfx-backend-empty/Cargo.toml
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/hibitset/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/hibitset/LICENSE-MIT
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/metal/LICENSE-MIT
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/raw-window-handle/Cargo.toml
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/relevant/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/relevant/LICENSE-MIT
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/rendy-descriptor/Cargo.toml
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/shared_library/LICENSE-MIT
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/storage-map/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
2019-11-14 04:59:56 +00:00
Gurzau Raul
1e2ebb9f42 Backed out 2 changesets (bug 1590167, bug 1575008) for lints failures at mapped_hyph.h on a CLOSED TREE.
Backed out changeset 4d16c3d62cfc (bug 1575008)
Backed out changeset 97b8c3759aae (bug 1590167)
2019-11-13 21:38:23 +02:00
Dzmitry Malyshau
b074f1cf4e Bug 1575008 - WebGPU implementation basis r=baku,bzbarsky
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.
Complementary ecosystem tracker - https://github.com/gfx-rs/wgpu/issues/374

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (postponed as https://bugzilla.mozilla.org/show_bug.cgi?id=1594182)
  - [x] Linux
    - [x] avoid depending on spirv_cross
  - [x] macOS
    - [x] due to cross-compiling shaders
    - [x] need the dependency update
    - [x] stop using gcc
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
    - [x] spirv-cross linking failure in ASAN - https://phabricator.services.mozilla.com/D52688
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet
    - [x] due to some exceptional stuff
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library
  - [x] Android
    - [x] spirv-cross fails to build due to exceptions

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/ash/Cargo.toml
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/cocoa/LICENSE-MIT
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/copyless/Cargo.toml
rename : third_party/rust/crossbeam-utils/.cargo-checksum.json => third_party/rust/crossbeam-utils-0.6.5/.cargo-checksum.json
rename : third_party/rust/crossbeam-utils/CHANGELOG.md => third_party/rust/crossbeam-utils-0.6.5/CHANGELOG.md
rename : third_party/rust/crossbeam-utils/Cargo.toml => third_party/rust/crossbeam-utils-0.6.5/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/crossbeam-utils-0.6.5/LICENSE-MIT
rename : third_party/rust/crossbeam-utils/README.md => third_party/rust/crossbeam-utils-0.6.5/README.md
rename : third_party/rust/crossbeam-utils/benches/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/benches/atomic_cell.rs
rename : third_party/rust/crossbeam-utils/src/atomic/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/src/atomic/atomic_cell.rs
rename : third_party/rust/crossbeam-utils/src/atomic/mod.rs => third_party/rust/crossbeam-utils-0.6.5/src/atomic/mod.rs
rename : third_party/rust/crossbeam-utils/src/backoff.rs => third_party/rust/crossbeam-utils-0.6.5/src/backoff.rs
rename : third_party/rust/crossbeam-utils/src/cache_padded.rs => third_party/rust/crossbeam-utils-0.6.5/src/cache_padded.rs
rename : third_party/rust/crossbeam-utils/src/lib.rs => third_party/rust/crossbeam-utils-0.6.5/src/lib.rs
rename : third_party/rust/crossbeam-utils/src/thread.rs => third_party/rust/crossbeam-utils-0.6.5/src/thread.rs
rename : third_party/rust/crossbeam-utils/tests/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/tests/atomic_cell.rs
rename : third_party/rust/crossbeam-utils/tests/parker.rs => third_party/rust/crossbeam-utils-0.6.5/tests/parker.rs
rename : third_party/rust/crossbeam-utils/tests/sharded_lock.rs => third_party/rust/crossbeam-utils-0.6.5/tests/sharded_lock.rs
rename : third_party/rust/crossbeam-utils/tests/thread.rs => third_party/rust/crossbeam-utils-0.6.5/tests/thread.rs
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/gfx-auxil/Cargo.toml
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/gfx-backend-empty/Cargo.toml
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/hibitset/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/hibitset/LICENSE-MIT
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/metal/LICENSE-MIT
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/raw-window-handle/Cargo.toml
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/relevant/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/relevant/LICENSE-MIT
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/rendy-descriptor/Cargo.toml
rename : third_party/rust/uluru/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/shared_library/LICENSE-MIT
rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/storage-map/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
2019-11-13 12:48:33 +00:00
Emilio Cobos Álvarez
13e68b188d Bug 1593951 - Use MaybeUninit in style struct clone impls / constructors. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D51788

--HG--
extra : moz-landing-system : lando
2019-11-12 20:30:42 +00:00
Tim Nguyen
b081bf6c33 Bug 1576946 - Remove nsStackFrame platform code. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D49487

--HG--
extra : moz-landing-system : lando
2019-11-12 19:50:19 +00:00
Razvan Maries
71124aa4f2 Backed out changeset 6cd92affba42 (bug 1593951) for Valgrind build bustages. CLOSED TREE 2019-11-12 19:18:42 +02:00
Emilio Cobos Álvarez
e47530e246 Bug 1593951 - Use MaybeUninit in style struct clone impls / constructors. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D51788

--HG--
extra : moz-landing-system : lando
2019-11-12 11:49:40 +00:00
Emilio Cobos Álvarez
c75e54e0c3 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-07 11:19:23 +00:00
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
Emilio Cobos Álvarez
ff3e25047b Bug 1593009 - Make zoom: 0 mean the same as zoom: 1. r=heycam
This matches the WebKit implementation, and is clearly a violation of the rules
we generally use for ranges in CSS.

But it seems to be depended-on legacy behavior, see the linked WebKit bug, this
bug, and bug 1593317.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 05:54:17 +00:00
Emilio Cobos Álvarez
e75a804980 Bug 1591987 - Fix ElementWrapper::is_link. r=jwatt
And do a full restyle only when the state goes from visited to unvisited or vice
versa. That is, use regular invalidation for addition or removals of href
attributes, for example.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 10:24:36 +00:00
Emilio Cobos Álvarez
a57fd16889 Bug 1506842 - Always restyle / repaint when a visited query finishes. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D50810

--HG--
extra : moz-landing-system : lando
2019-11-04 16:55:33 +00:00
Emilio Cobos Álvarez
779c4ede7d Bug 1593642 - servo: Fix Servo build.
Differential Revision: https://phabricator.services.mozilla.com/D51594

--HG--
extra : moz-landing-system : lando
2019-11-04 12:53:09 +00:00
Emilio Cobos Álvarez
a9897383a4 Bug 1593642 - Add a few commas that newer macros need.
Servo is on a newer cssparser version.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 12:53:04 +00:00
Simon Sapin
1930d911b2 Bug 1593642 - servo: 2020: enable CSS parsing of properties that are (somewhat) implemented
Differential Revision: https://phabricator.services.mozilla.com/D51591

--HG--
extra : moz-landing-system : lando
2019-11-04 12:53:01 +00:00
Simon Sapin
7f28f7c6a7 Bug 1593642 - More compact debug output for CSS values.
```
Rect {
    start_corner: Vec2 { i: 0.0 px, b: 0.0 px },
    size: Vec2 { i: 1024.0 px, b: 20.0 px },
}
```

… instead of:

```
Rect {
    start_corner: Vec2 {
        inline: CSSPixelLength(
            0.0,
        ),
        block: CSSPixelLength(
            0.0,
        ),
    },
    size: Vec2 {
        inline: CSSPixelLength(
            1024.0,
        ),
        block: CSSPixelLength(
            0.0,
        ),
    },
}
```

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

--HG--
extra : moz-landing-system : lando
2019-11-04 12:52:57 +00:00
Matt Brubeck
9d3176f665 Bug 1593642 - Remove obsolete logic for LRUCache size.
The LRUCache implementation has been replaced, and no longer requires a backing store larger than its capacity.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 12:52:49 +00:00
Michael Howell
1f7eca8fa7 Bug 1593642 - servo: Add simple implementation of content-security-policy on scripts / styles.
This needs a lot more hooks before it'll actually be a good
implementation, but for a start it can help get some feedback on if this
is the right way to go about it.

Part of servo/servo#4577

Servo commit: b8f3e8bb2e9

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

--HG--
extra : moz-landing-system : lando
2019-11-04 12:52:47 +00:00
Simon Sapin
7957e92116 Bug 1593642 - servo: 2020: parse display: contents.
Differential Revision: https://phabricator.services.mozilla.com/D51587

--HG--
extra : moz-landing-system : lando
2019-11-04 12:52:44 +00:00
Simon Sapin
f80eec072f Bug 1593642 - servo: 2020: paint borders.
Differential Revision: https://phabricator.services.mozilla.com/D51586

--HG--
extra : moz-landing-system : lando
2019-11-04 12:52:40 +00:00
Kitlith
02ba047474 Bug 1593642 - servo: Remove usage of opts::get() from style.
Part of #22854.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 12:52:32 +00:00
Emilio Cobos Álvarez
63fd83beea Bug 1593642 - Rustfmt recent changes.
Differential Revision: https://phabricator.services.mozilla.com/D51584

--HG--
extra : moz-landing-system : lando
2019-11-04 12:52:29 +00:00
Sam Mauldin
16993481ab Bug 1592389 - Rename Mozfield / Mozfieldtext to Field and Fieldtext r=emilio
Split off of Bug 1590894
Rename these to support unprefixed version
Also add alias to keep compatibility

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

--HG--
extra : moz-landing-system : lando
2019-11-02 21:28:49 +00:00
Boris Chiou
a9e57a5534 Bug 1429305 - Extend compositor properties for motion. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D50014

--HG--
extra : moz-landing-system : lando
2019-10-31 20:07:45 +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
Daniel Varga
b747b90cd8 Backed out changeset ec25a8482342 (bug 1592389) for mochitest failure at layout/style/test/test_value_computation.html. On a CLOSED TREE 2019-10-30 10:17:29 +02:00
Sam Mauldin
09a1cf803b Bug 1592389 - Rename Mozfield / Mozfieldtext to Field and Fieldtext r=emilio
Split off of Bug 1590894
Rename these to support unprefixed version
Also add alias to keep compatibility

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

--HG--
extra : moz-landing-system : lando
2019-10-30 05:51:38 +00:00
Emilio Cobos Álvarez
4825f0f201 Bug 1591297 - Remove -moz-binding, nsStyleDisplay::mBinding and similar. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D50556

--HG--
extra : moz-landing-system : lando
2019-10-26 11:37:33 +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
Emilio Cobos Álvarez
e444a94218 Bug 1589766 - Experiment with implementing zoom as a transform + transform-origin shorthand. r=xidorn
This is a gross hack, of course, but has the advantage of not breaking sites
that use both zoom and -moz-transform / -moz-transform-origin.

There should be no behavior change when the pref is off, of course, and the
webcompat team wanted to experiment with this.

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

--HG--
extra : moz-landing-system : lando
2019-10-26 14:17:28 +00:00
Emilio Cobos Álvarez
3a5abc5912 Bug 1588737 - Simplify media query code now that lifetimes are non-lexical. r=xidorn
We can deindent and simplify a bunch of this code now.

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

--HG--
extra : moz-landing-system : lando
2019-10-20 13:44:07 +00:00
Emilio Cobos Álvarez
3a1f428214 Bug 1588737 - Remove useless conditional compilation. r=xidorn
Servo doesn't use this flag or -webkit- prefixed media queries, so no point in
doing this conditionally.

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

--HG--
extra : moz-landing-system : lando
2019-10-20 13:44:09 +00:00
Emilio Cobos Álvarez
26b98d2285 Bug 1588737 - Remove layout.css.prefixes.device-pixel-ratio-webkit. r=dholbert
There's no effort to disable it any time soon, so I don't think it's useful to
keep the pref around.

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

--HG--
extra : moz-landing-system : lando
2019-10-20 13:43:57 +00:00
Emilio Cobos Álvarez
986d8c0d8e Bug 1588737 - Hide -moz-touch-enabled media query in Nightly and Early Beta. r=xidorn
This is effectively superseded by the hover / any-hover media queries, which
actually are standard, and is also causing trouble in the wild.

Not even the browser fronted uses it, so we should be able to just remove it
everywhere at once.

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

--HG--
extra : moz-landing-system : lando
2019-10-20 13:44:16 +00:00
Emilio Cobos Álvarez
6752dad196 Bug 1548718 - Support multiple parts in ::part() selectors. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D48753

--HG--
extra : moz-landing-system : lando
2019-10-17 00:51:54 +00:00
Emilio Cobos Álvarez
1aaa268725 Bug 1588743 - Remove old scroll-snap implementation, and scroll snapping prefs. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D49267

--HG--
extra : moz-landing-system : lando
2019-10-15 12:40:14 +00:00
Coroiu Cristina
291d475197 Backed out changeset 1a951477dca5 (bug 1588743) for xpcshell failures at devtools/shared/tests/unit/test_css-properties-db.js on a CLOSED TREE 2019-10-15 15:35:50 +03:00
Emilio Cobos Álvarez
8325c4b9a3 Bug 1588743 - Remove old scroll-snap implementation, and scroll snapping prefs. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D49267

--HG--
extra : moz-landing-system : lando
2019-10-15 11:39:30 +00:00
Cameron McCormack
cd4be0a31d Bug 1587235 - Report missing include filename in ServoBindings.toml. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D48625

--HG--
extra : moz-landing-system : lando
2019-10-09 10:44:29 +00:00
Emilio Cobos Álvarez
24a26b3b97 Bug 1587368 - Revert ccov bustage workaround now that builds have been updated.
Differential Revision: https://phabricator.services.mozilla.com/D48814

--HG--
extra : moz-landing-system : lando
2019-10-10 09:44:19 +00:00
Emilio Cobos Álvarez
86119bc696 Bug 1587468 - Update num_derive to 0.3. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D48731

--HG--
extra : moz-landing-system : lando
2019-10-09 20:22:05 +00:00
Emilio Cobos Álvarez
f543161777 Bug 1587368 - follow-up: Unbust some ccov builds that are still using old Rust. a=shlindi
MANUAL PUSH: bustage
2019-10-09 18:42:09 +02:00
Emilio Cobos Álvarez
ab7a52626a Bug 1587368 - Stop using -oldsyn bindgen version now that we pull newer syn and proc_macro versions anyway.
MANUAL PUSH: Cherry-picking upstream stuff, with reviewers that are not on phabricator.
2019-10-09 13:42:36 +02:00
Emilio Cobos Álvarez
95b0369470 Bug 1587368 - Fix servo build. 2019-10-09 13:35:51 +02:00
Emilio Cobos Álvarez
b5fdaa85be Bug 1587368 - Rustfmt recent changes. 2019-10-09 13:35:50 +02:00
Emilio Cobos Álvarez
5a6d7ed393 Bug 1587368 - Cherry-pick updates towards syn 1.
From: https://github.com/servo/servo/pull/24308
2019-10-09 13:35:48 +02:00
Emilio Cobos Álvarez
2c773522c0 Bug 1587368 - Use consistent naming and shared code for out-of-flow stuff. r=nox
Use the functions introduced in ee17eedf3a857f27ce2b6b775574a3a455df8aa3.
2019-10-09 13:35:48 +02:00
Anthony Ramine
c4a439d228 Bug 1587368 - servo: Update html5ever to 0.24. r=emilio 2019-10-09 13:35:46 +02:00
Simon Sapin
c1af5161a0 Bug 1587368 - servo: WebIDL codegen: Replace cmake with a single Python script. r=emilio
When playing around with Cargo’s new timing visualization:
https://internals.rust-lang.org/t/exploring-crate-graph-build-times-with-cargo-build-ztimings/10975/21

… I was surprised to see the `script` crate’s build script take 76 seconds.
I did not expect WebIDL bindings generation to be *that* computationally
intensive.

It turns out almost all of this time is overhead. The build script uses CMake
to generate bindings for each WebIDL file in parallel, but that causes a lot
of work to be repeated 366 times:

* Starting up a Python VM
* Importing (parts of) the Python standard library
* Importing ~16k lines of our Python code
* Recompiling the latter to bytecode, since we used `python -B` to disable
  writing `.pyc` file
* Deserializing with `cPickle` and recreating in memory the results
  of parsing all WebIDL files

----

This commit remove the use of CMake and cPickle for the `script` crate.
Instead, all WebIDL bindings generation is done sequentially
in a single Python process. This takes 2 to 3 seconds.
2019-10-09 13:35:45 +02:00
Simon Sapin
c00df807f7 Bug 1587368 - servo: Fix error message for invalid combination of style crate feature flags. r=emilio
Instead of ``cannot find value `engine` in this scope``
https://github.com/servo/servo/issues/24284
2019-10-09 13:35:44 +02:00
Anthony Ramine
42cb31df76 Bug 1587368 - servo: Uncomment more stuff related to box construction. r=emilio 2019-10-09 13:35:43 +02: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
Brian Birtles
8b913dca40 Bug 1586643 - Don't make visibility additive; r=boris
As per discussion here: https://github.com/web-platform-tests/wpt/pull/19160

This property type does not have a procedure for addition defined so it should
not be additive.

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

--HG--
extra : moz-landing-system : lando
2019-10-08 01:27:29 +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
Savo
be6805c792 Bug 1586068 - Replace #define NS_STYLE_FLEX_WRAP with enum class. r=emilio
MANUAL PUSH: Rebasing contributor patch.

Differential Revision: https://phabricator.services.mozilla.com/D48166
2019-10-07 00:42:12 +02: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
Morgan Reschenberg
05ad28e67c Bug 1539212: Add readability backplate for all elements containing text when HCM or a11y theme is active. r=dholbert,mattwoodrow,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D42979

--HG--
extra : moz-landing-system : lando
2019-10-04 16:44:49 +00:00
Emilio Cobos Álvarez
ea3d3a0084 Bug 1583736 - Don't allow negative radii in radial gradients. r=boris
Mostly renaming for clarity, as the gradient parsing code is a bit hairy.

This also changes -webkit- gradients, which is, I think, the right thing to do
(otherwise I need to give up on the type system and sprinkle parse_non_negatives
around, which would be unfortunate).

I filed https://bugs.chromium.org/p/chromium/issues/detail?id=1008112 on
Chromium still accepting negative radii for those, so will wait to submit the
patch for review until they reply there with their intentions.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 21:44:41 +00:00
Boris Chiou
01cd967fa8 Bug 1510486 - Set WillChangeBits::TRANSFORM for individual transform. r=hiro
We always check StyleWillChangeBits_TRANSFORM bit together with a
transform-like property set, so using WillChangeBits::TRANSFORM bit to
represent all transform-like properties is ok.

However, it seems the new test case works well even if we don't have this
patch. I still add it for individual transform properties to make sure
the test coverage is enough anyway.

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

--HG--
extra : moz-landing-system : lando
2019-09-30 21:52:30 +00:00
Mats Palmgren
b15d020bef Bug 1581106 part 3 - [css-grid-2] Implement 'repeat(auto-fill, <line-names>)' in subgridded axis. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D46895

--HG--
extra : moz-landing-system : lando
2019-09-30 17:32:52 +00:00
Emilio Cobos Álvarez
41ff579eac Bug 1583471 - Don't pull new syn / quote / etc. dependencies just yet. r=bbouvier
Transition to syn 1.0 is ongoing, but these take a long time to build.

Hopefully we already patch coreaudio-sys manually so all the crates dependent on
bindgen are effectively in-tree.

I published v0.51.1-oldsyn to avoid pulling all these dependencies for now.

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

--HG--
rename : third_party/rust/quote-0.6.11/tests/conditional/integer128.rs => third_party/rust/quote/tests/conditional/integer128.rs
rename : third_party/rust/unicode-xid-0.1.0/scripts/unicode.py => third_party/rust/unicode-xid/scripts/unicode.py
extra : moz-landing-system : lando
2019-09-25 09:50:10 +00:00
Benjamin Bouvier
e207459263 Bug 1583471: Update bindgen to 0.51.1 througout the tree; r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D46962

--HG--
rename : third_party/rust/quote/tests/conditional/integer128.rs => third_party/rust/quote-0.6.11/tests/conditional/integer128.rs
rename : third_party/rust/unicode-xid/scripts/unicode.py => third_party/rust/unicode-xid-0.1.0/scripts/unicode.py
extra : moz-landing-system : lando
2019-09-25 09:50:10 +00:00
Boris Chiou
470629b5d3 Bug 1567330 - Add offset shorthand. r=emilio,birtles
Also, update the serialization by the shorter perference because this is
a new feature and using older syntax doesn't make sense.

Besides, use `cssOffset` for web animation IDL attribute name.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 19:56:33 +00:00
Emilio Cobos Álvarez
e8cd2193b5 Bug 1579585 - Use fallible allocation for stylesheet invalidation. r=jwatt
If the sets get too big we cannot allocate anything else, we'll just empty them
and invalidate the whole document.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 19:08:22 +00:00
Brian Birtles
6bd2528448 Bug 1576866 - Make various border-image-* properties interpolable; r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D46724

--HG--
extra : moz-landing-system : lando
2019-09-23 02:07:56 +00:00
Brian Birtles
9108e5f393 Bug 1576866 - Parse '0' as a number for border-image-width; r=emilio
As per CSS Values & Units:

"However, if a 0 could be parsed as either a <number> or a <length> in a
property (such as line-height), it must parse as a <number>."

(https://drafts.csswg.org/css-values-4/#lengths)

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

--HG--
extra : moz-landing-system : lando
2019-09-23 02:07:16 +00:00
Emilio Cobos Álvarez
49baadd637 Bug 1582814 - Let the CSS use counter prefs be independent. r=boris
* Let layout.css.use-counters.enabled be independent from the unimplemented
   property counters.

 * Always count in the style system (that is, always create
   Document::mStyleUseCounters), so that the warning from bug 1582374 works
   irrespective of these prefs.

 * Add a pref check to the SVGElement code path so that the prefs properly
   reflect whether the histograms end up being recorded or not.

 * Make the pref checks consistent (check both when reporting telemetry, not
   earlier).

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

--HG--
extra : moz-landing-system : lando
2019-09-21 12:18:39 +00:00
Emilio Cobos Álvarez
732d7a819b Bug 1582627 - Always serialize aspect-ratio and font shorthand with spaces around the slash. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D46568

--HG--
extra : moz-landing-system : lando
2019-09-20 05:02:57 +00:00
Bogdan Tara
4ba431cc02 Backed out changeset 928b755ef57b (bug 1539212) for backplate-bg-image-006.html failures 2019-09-20 03:59:03 +03:00
Morgan Reschenberg
b20a6706d3 Bug 1539212: Add readability backplate for all elements containing text when HCM or a11y theme is active. r=dholbert,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42979

--HG--
extra : moz-landing-system : lando
2019-09-19 21:25:12 +00:00
Daniel Holbert
99952c0744 Bug 1580012: In css 'display' blockification codepath, leave -moz-box alone and promote -moz-inline-box to -moz-box (if a new pref is set). r=emilio
This is in the interests of allowing the frontend team to experiment with
switching from XUL grid to CSS grid, without inadvertently changing the
display values for the grid items via css-grid-item blockification.

This patch's new pref is not expected to remain in the codebase for long.
We're just adding it so that the behavior remains the same by default, because
we do currently have some XUL code that inadvertently depends on -moz-box
display values being blockified to 'block'.  The plan is for folks to remove
that dependency e.g. by adding explicit 'display:block' styling to frontend
code as-needed. After we've done that, we can tentatively flip the pref to true
by default, and then remove the pref entirely.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 03:58:53 +00:00
Ting-Yu Lin
977a6275d1 Bug 1582224 - Split SIDEWAYS bit in WritingMode. r=jfkthame,emilio
Currently, there's no way to tell whether the SIDEWAYS bit is set from
`writing-mode:sideways-*` or `writing-mode:vertical-*; text-orientation:sideways;`.
To be able to tell them apart, split SIDEWAYS bits into VERTICAL_SIDEWAYS
and TEXT_SIDEWAYS. This is needed by my proposed solution in bug 1102175.

Also, provide convenience methods related to sideways writing-mode, and replace
obscure checks in the codebase.

Note that we don't have the use cases to distinguish vertical-rl from
sideways-rl in layout, but for the completeness, IsSidewaysLR() is still
defined.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 02:37:14 +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
Boris Chiou
88285c24ba Bug 1480665 - Support ray() in offset-path and make it animatable. r=emilio,birtles
1. Add `generics::motion::OffsetPath`, and use specified `Angle` and
   computed `Angle` to define specified `OffsetPath` and computed `OffsetPath`.
2. Add `ray` function into `OffsetPath`.

We also tweak the degree from 150deg to 135deg in wpt (e.g.
offset-path-ray-001.html and others) to avoid floating point precision issues.
For example:
```
// offset-path: ray(150deg ...);
// offset-distance: 20px;
matrix:
{
  {0.500000 0.866025 0.000000 0.000000},
  {-0.866025 0.500000 0.000000 0.000000},
  {0.000000 0.000000 1.000000 0.000000},
  {10.000000 17.320509 0.000000 1.000000}
}

// rotate(60deg) translate(20px)
matrix:
{
  {0.500000 0.866025 0.000000 0.000000},
  {-0.866025 0.500000 0.000000 0.000000},
  {0.000000 0.000000 1.000000 0.000000},
  {10.000000 17.320507 0.000000 1.000000}
}
```
Their translate parts, 17.320509 vs 17.320507, are almost the same (only
tiny difference), which may cause the reftest failed.

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

--HG--
rename : testing/web-platform/tests/css/motion/offset-path-ray-ref.html => testing/web-platform/tests/css/motion/offset-path-ray-001-ref.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-001.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-002.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-003.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-004.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-005.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-006.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-007.html
extra : moz-landing-system : lando
2019-09-16 23:24:48 +00:00
Brindusan Cristian
4a840d4653 Backed out changeset f5b8fba989b4 (bug 1539212) for reftest failures on backplate-bg-image-001.html. CLOSED TREE 2019-09-17 00:01:04 +03:00
Morgan Reschenberg
8c4b2ed8ff Bug 1539212: Add readability backplate for all elements containing text when HCM or a11y theme is active. r=dholbert,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42979

--HG--
extra : moz-landing-system : lando
2019-09-16 18:26:04 +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
Emilio Cobos Álvarez
97509fc36a Bug 1315892 - Add a comment quoting the spec. r=me
MANUAL PUSH: Contributor didn't manage to add author information to lando + comment only follow-up.
2019-09-16 09:24:38 +09:00
fantasai
d9d30c73ad Bug 1315892 - 'text-orientation: upright' forces used 'direction' to LTR. r=jfkthame 2019-09-16 09:23:30 +09: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
d843925e5f Bug 1580908 - Part 7: Update serde_bytes to 0.11. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D45716

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:21 +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
a7c5dffa9c Bug 1580963 - Fix servo build and rustfmt recent changes.
Differential Revision: https://phabricator.services.mozilla.com/D45741

--HG--
extra : moz-landing-system : lando
2019-09-12 21:09:45 +00:00
Emilio Cobos Álvarez
5c93ac4bae Bug 1580963 - Cherry-pick style changes from servo's victor import.
https://github.com/servo/servo/pull/24165

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

--HG--
extra : moz-landing-system : lando
2019-09-12 21:09:39 +00:00
Emilio Cobos Álvarez
7617a0e6fe Bug 1580963 - Cherry-pick some servo changes from a rustc upgrade.
This cherry-picks from Servo commit 98e4a53b724.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 21:09:27 +00:00
Emilio Cobos Álvarez
78a7d864e6 Bug 1577139 - Remove LengthPercentage::was_calc. r=heycam
There should not be any behavior change between specifying a percentage using %
or calc(%) per the resolution of https://github.com/w3c/csswg-drafts/issues/3482.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 08:14:44 +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
Michael Woerister
77f7095cb5 Bug 1577171 - Remove duplicated logic from Stylo's Gecko wrapper. r=emilio
Stylo's Gecko wrapper duplicated some logic from the C++ side so
that the Rust compiler would be able to optimize better. Now that
we have xLTO, this kind of manual inlining should not be neccessary
anymore.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 17:23:20 +00:00
Boris Chiou
d9a0cd885d Bug 1574222 - Tweak the serialization of text-decoration. r=emilio
We are trying to not serialize `text-decoration-line: none` if there are other
non-default values for the longhands.

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

--HG--
extra : moz-landing-system : lando
2019-09-10 21:51:54 +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
Emilio Cobos Álvarez
a8acf7d61d No bug - Add a comment about a Send bound that may look confusing.
MANUAL PUSH: comment only, no bug
2019-09-02 13:53:55 +02: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
Emilio Cobos Álvarez
4505c339ab Bug 1576229 - Account for user stylesheets for Shadow DOM invalidation. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D43992

--HG--
extra : moz-landing-system : lando
2019-08-30 14:35:34 +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
Mats Palmgren
e45d08541b Bug 1576821 - [css-lists-3] Make 'none' invalid as a <counter-style> in counter()/counters(). r=emilio
CSSWG resolution:
https://github.com/w3c/csswg-drafts/issues/4163#issuecomment-521331100

Spec:
https://drafts.csswg.org/css-lists-3/#counter-functions

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

--HG--
extra : moz-landing-system : lando
2019-08-30 00:15:37 +00:00
Joel Olsson
00e5276301 Bug 1565562: Media Query - Enable single <number> and <number>/<number> for <aspect-ratio>. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D41557

--HG--
extra : moz-landing-system : lando
2019-08-29 10:48:52 +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
996cd73ea9 Bug 1576666 - Remove old warning allow which is no longer relevant. r=boris
-moz-appearance uses cbindgen since a long time ago.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 20:09:19 +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
611e05f178 Bug 1575608 - Avoid some signed -> unsigned conversions for box-ordinal-group. r=dholbert
This is consistent with the `order` property anyhow, and allows to simplify some
code.

Negatives are still not parsed, but rust uses a similar representation for all
CSS <integer> values and so should C++.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 18:35:31 +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
Emilio Cobos Álvarez
5ad7bad9b0 Bug 1575559 - Remove unused impl_coord_copy. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42857

--HG--
extra : moz-landing-system : lando
2019-08-21 18:25:21 +00:00
Mats Palmgren
acbd6a2b96 Bug 1574994 part 2 - Remove display:-moz-inline-grid/-moz-inline-stack. r=emilio
Depends on D42551

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00
Boris Chiou
03853a6e87 Bug 1574957 - Clamp negative values for font-size-adjust animations. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42586

--HG--
extra : moz-landing-system : lando
2019-08-20 01:30:43 +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
6a74af6652 Bug 1572738 - Don't clamp font-size calc() factors too early. r=manishearth
These two bugs (bug 1572738 and bug 1572451) are stylo regressions.

When font-family changes, we try to recompute the font-size with a length /
percentage combinations in case the generic family changes, so the user
preferences are kept.

When calc() is involved, we clamp to non-negative too early, via
NonNegativeLength::scale_by.

I think we should generally dump this "try to track font-size across calc()"
thingie, as as various comments note it is not quite perfect, and it's not clear
how it should work in presence of min()/max().

This patch fixes the issue and simplifies code a bit, I may consider removing
this altogether in a follow-up.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 19:59:48 +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
1f1f009b71 Bug 1574060 - Implement layout for 'display: flow-root list-item'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D42087

--HG--
extra : moz-landing-system : lando
2019-08-16 06:30:24 +00:00
Emilio Cobos Álvarez
4be851e345 Bug 1574148 - Update itertools in the style crate.
It was updated in Servo long ago.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 13:31:47 +00:00
Emilio Cobos Álvarez
3a60b58080 Bug 1574148 - Fix Servo build and unify display representation.
Differential Revision: https://phabricator.services.mozilla.com/D42130

--HG--
extra : moz-landing-system : lando
2019-08-15 13:31:44 +00:00
Emilio Cobos Álvarez
3fb09c923b Bug 1574148 - Fix formatting of recent changes.
Differential Revision: https://phabricator.services.mozilla.com/D42129

--HG--
extra : moz-landing-system : lando
2019-08-15 13:31:37 +00:00
Emilio Cobos Álvarez
7455082edb Bug 1574148 - Cherry-pick some Servo build/formatting fixes.
Differential Revision: https://phabricator.services.mozilla.com/D42128

--HG--
extra : moz-landing-system : lando
2019-08-15 13:31:36 +00:00
Mats Palmgren
c784db904f Bug 1557825 part 1 - Implement 'display:block ruby'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D40211

--HG--
extra : moz-landing-system : lando
2019-08-14 14:38:31 +00:00
Mats Palmgren
740cfc08a3 Bug 1105868 part 3 - Implement 'inline list-item' and 'inline flow-root list-item' values for the 'display' property. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39832

--HG--
extra : moz-landing-system : lando
2019-08-14 14:37:03 +00:00
Mats Palmgren
307e0a6d66 Bug 1569825 - Hide some 'display' values in devtools auto-completion that we want to discourage authors from using. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D39810

--HG--
extra : moz-landing-system : lando
2019-08-14 14:35:56 +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