I think our behavior here is correct, actually.
Briefly, the site is using two different masking techniques at once -- "mask-box" vs "mask-image" -- and the former CSS is active in Chrome whereas the latter CSS is active in Firefox. These two techniques should produce different renderings, as you can see if you selectively activate one or the other in Chrome (and add a -webkit prefixed version of the mask-image styling).
Firefox used to render the site's "mask-image" markup the same way that Chrome renders the site's "box" markup, which made Chrome and Firefox agree on the site's rendering as a whole -- but I suspect that that was a bug, which was fixed in 1524901. Now Firefox has adjusted its "mask-image" rendering such that we're consistent with Chrome's "-webkit-mask-image" rendering (which differs from Chrome's "mask-box" rendering)
The element in question is an
<a> element with
class="tm-mask-default", which applies these styles:
-webkit-mask-box-image-slice: 50 fill;
mask-size: 100% 100%;
The interesting things about this CSS is:
- Chrome only supports the top half of the CSS (specifically the webkit-prefixed parts) --
-webkit-mask-box-*. Firefox rejects this part of the CSS.
- Firefox only supports the bottom 2 lines (
mask-size). Chrome rejects this CSS.
- Neither browser supports the unprefixed
So, completely different chunks of this CSS are active in Firefox vs. in Chrome, which means there's a different filtering technique being used in each browser --
Interestingly, Chrome does actually support a webkit-prefixed version of the bottom two lines (the two lines that are active in Firefox), and if I adjust the site to use those prefixed features in Chrome (
-webkit-mask-size instead of the
-webkit-mask-box), then Chrome agrees with Firefox's square rendering here. So that suggests that Firefox is treating that styling correctly, and the only reason we disagree with Chrome on the site-as-a-whole is that the site uses a different masking technique for Chrome.
So, the "regression" here was actually us changing in the direction of correctness, and the reason we differ with Chrome is that Chrome is honoring the "-webkit-mask-box" properties (which Firefox doesn't support, see bug 877294 and bug 1244492), whereas Firefox is honoring the "mask-image" properties (which Chrome doesn't support except via a prefixed syntax that the site doesn't currently use).