Closed Bug 1366434 Opened 7 years ago Closed 7 years ago

mask-mode and mask-composite CSS properties aren't auto-repeated for layered mask-image

Categories

(Core :: CSS Parsing and Computation, defect)

54 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: amelia.bellamy.royds, Assigned: u459114)

Details

Attachments

(2 files, 1 obsolete file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36

Steps to reproduce:

Create a test for CSS masking (`mask` or `mask-image` properties) using multiple image layers (e.g., layered gradients).

Set either the `mask-mode` or `mask-composite` property to a single, non-default value.  (e.g., mask-mode: luminance, or mask-mode: extract)


Test case:
https://codepen.io/AmeliaBR/pen/0698690e9eadcd708a9709b73ebb7d89/?editors=1100


Actual results:

The specified `mask-mode` or `mask-composite` value is only applied to the top layer from `mask-image`.  The remaining layers have their default values.


Expected results:

The values in the long-hand properties should automatically be repeated to match the number of layers specified for `mask-image`.

The test case includes versions where the list has been manually repeated, to show the expected appearance.  It also includes a single `mask-size` value, to demonstrate that it is auto-repeated correctly.  I haven't tested thoroughly, but I assume things are also fine for all the mask-* longhands that directly correspond to CSS layered backgrounds longhands.
Filed a bug on the spec for extra clarification: https://github.com/w3c/fxtf-drafts/issues/171

But I really don't think there is a spec debate here.  Standard behavior for layered backgrounds and so on is that if any longhand doesn't have enough values for all the layers, you repeat its list to cover all the images.
Component: Untriaged → Layout: Images
Product: Firefox → Core
Status: UNCONFIRMED → NEW
Component: Layout: Images → CSS Parsing and Computation
Ever confirmed: true
Flags: needinfo?(cku)
Assignee: nobody → cku
Flags: needinfo?(cku)
Attachment #8870333 - Flags: review?(cam)
Attachment #8870389 - Flags: review?(ethlin)
Attachment #8870389 - Flags: review?(cam)
Attachment #8870390 - Flags: review?(ethlin)
Attachment #8870389 - Flags: review?(ethlin)
Comment on attachment 8870333 [details]
Bug 1366434 - Part 1. Automatically repeat mask-mode and mask-composite to match the number of mask layers.

https://reviewboard.mozilla.org/r/141786/#review145486

Looks good, thanks.  (And thanks (and hi!) Amelia for the bug report.)

::: commit-message-5bc1c:1
(Diff revision 1)
> +Bug 1366434 - Part 1. Automatically repeat mask-mode and mask-compisite to match the number of mask layers.

mask-composite
Attachment #8870333 - Flags: review?(cam) → review+
Comment on attachment 8870389 [details]
Bug 1366434 - Part 2. Reftest of mask-mode/mask-composite automatic fill.

https://reviewboard.mozilla.org/r/141838/#review145488

I didn't check the tests closely for correctness.

::: layout/reftests/w3c-css/submitted/masking/mask-composite-1d.html:19
(Diff revision 2)
> +        top:10px;
> +

Nit: space after the ":" (although I see it's like that in the other mask-composite-* tests), and drop the blank line.

::: layout/reftests/w3c-css/submitted/masking/mask-composite-1d.html:44
(Diff revision 2)
> +                    url(support/blue-100x50-transparent-100x50.svg)
> +                    ;

Nit: semicolon on previous line.
Attachment #8870389 - Flags: review?(cam) → review+
Attachment #8870390 - Attachment is obsolete: true
Attachment #8870390 - Flags: review?(ethlin)
Pushed by cku@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/68f9c5c2f5bb
Part 1. Automatically repeat mask-mode and mask-composite to match the number of mask layers. r=heycam
https://hg.mozilla.org/integration/autoland/rev/62933e0dc2c9
Part 2. Reftest of mask-mode/mask-composite automatic fill. r=heycam
https://hg.mozilla.org/mozilla-central/rev/68f9c5c2f5bb
https://hg.mozilla.org/mozilla-central/rev/62933e0dc2c9
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: