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

12898 Коммитов

Автор SHA1 Сообщение Дата
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