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

71897 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 3d29b274ae Bug 1620359 - Don't clear the "uses viewport units" bit when a font that doesn't cause a style change loads. r=jfkthame
This is probably an old-ish bug made more frequent by the font loading
optimizations.

PostRebuildAllStyleData is a bit of a misnomer, but was always calling
ClearCachedData() on the style set, even if we weren't guaranteed to restyle
every element.

This means both wasted work and correctness issues (as the "uses <rare-feature>"
bits are cleared during this call, on the assumption that we'll then visit all
elements and that'd recompute it properly).

For now, unify a bit the different code paths and only clear these bits if we're
guaranteed to restyle all elements.

I should rename this to something better in a follow-up, and ideally also
decouple the ClearCachedData() calls a bit...

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

--HG--
extra : moz-landing-system : lando
2020-03-06 20:11:51 +00:00
Philipp Zech 75033d421b Bug 1620034 - Convert vector-effect #defines to an enum class. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D65718

--HG--
extra : moz-landing-system : lando
2020-03-06 14:40:50 +00:00
Boris Zbarsky c6c4a83796 Bug 1535530. Fix can-run-script analysis to not mishandle on-stack refs to RefPtrs. r=andi,masayuki
The key here is to test the type of the variable declaration for being a
smartptr type, instead of testing the type of the variable _use_.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 09:57:45 +00:00
Mirko Brodesser 3b935e0da5 Bug 1619617: part 2) Annotate `UnselectCells` with `MOZ_CAN_RUN_SCRIPT`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65512

--HG--
extra : moz-landing-system : lando
2020-03-06 12:03:30 +00:00
Mirko Brodesser 4be580237d Bug 1619617: part 1) Annotate `RemoveRangeAndUnselectFramesAndNotifyListeners` with `MOZ_CAN_RUN_SCRIPT`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65511

--HG--
extra : moz-landing-system : lando
2020-03-06 12:03:23 +00:00
Emilio Cobos Álvarez 5bba05d7c8 Bug 1620307 - Rename -moz-menulist-button to -moz-menulist-arrow-button. r=spohl
This should be less confusing. This is not supported outside of chrome:// or
user-agent stylesheets so we can name this however we want.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 21:13:46 +00:00
Sebastian Zartner d58c4c95ae Bug 1432250 - Updated tests for input image output for zero or negative radii for <feMorphology>. r=mstange
Depends on D63958

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

--HG--
extra : moz-landing-system : lando
2020-02-27 19:20:30 +00:00
Mike Shal 05e6591e3b Bug 1620035 - Convert GenerateComputedDOMStyleGenerated.py and GenerateCSSPropsGenerated.py to py3; r=firefox-build-system-reviewers,rstewart
Depends on D65379

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

--HG--
extra : moz-landing-system : lando
2020-03-05 17:04:53 +00:00
Mike Shal 1c8f1349ca Bug 1620035 - Convert generate_example_stylesheet.py to py3; r=firefox-build-system-reviewers,rstewart
Depends on D65378

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

--HG--
extra : moz-landing-system : lando
2020-03-05 17:05:11 +00:00
Mike Shal b67f808db2 Bug 1620035 - Convert GenerateFrameLists.py to py3; r=firefox-build-system-reviewers,rstewart
Depends on D65377

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

--HG--
extra : moz-landing-system : lando
2020-03-05 17:05:34 +00:00
Jonathan Watt 56e18a7319 Bug 1619403. Merge nsPrintJob's GetDisplayTitleAndURL and GetDocumentTitleAndURL. r=nordzilla
This also removes nsPrintJob::mFallbackDocTitle since there really is no point
in blindly calculating it ahead of time when we will virtually never use it,
and even if there was there's no reason to store in on the nsPrintJob given
that we create a new nsPrintJob every time we print!

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

--HG--
extra : moz-landing-system : lando
2020-03-03 20:08:53 +00:00
Kartikaya Gupta 3fe82f3ca4 Bug 1233272 - Suppress event retargeting for mouse events generated via longpress. r=snorp
Instead of just special-casing the eContextMenu and eMouseLongTap events in
PositionedEventTargeting, this adds a mechanism to suppress retargeting for
any events dispatched from a particular code block. This allows us to also
suppress retargeting the mousemove that precedes the eContextMenu, while still
retargeting any other mousemove events (e.g. the one that precedes a click).
Doing this is important because if the mousemove is retargeted, it can trigger
the hover pseudoclass CSS on an element when that element is not actually
going to be activated at all, and can be confusing to the user.

Depends on D65211

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

--HG--
extra : moz-landing-system : lando
2020-03-04 20:24:55 +00:00
Kartikaya Gupta 2112e26256 Bug 1233272 - Modernize log statement. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D65211

--HG--
extra : moz-landing-system : lando
2020-03-04 20:24:57 +00:00
Emilio Cobos Álvarez 2b3403744f Bug 1615026 - Annotate new test as failing on Mac.
MANUAL PUSH: Preventing tree closure in advance :^)
2020-03-05 02:52:25 +01:00
Emilio Cobos Álvarez b4bdc39333 Bug 1615026 - Ensure that non-native theme doesn't stroke outside of its rect. r=mstange
...and properly pixel-snap while at it, as otherwise my test would fail fuzzily.

Stroke() paints a stroke from the middle of the path, so it'll paint
one-half-of-the-width outside of the rect.

We need to deflate it by half the border width so that the stroke covers exactly
the area we want.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 00:25:31 +00:00
Erik Nordin 8e777fed4b Bug 1608489 - Add relative semantics for baseURL r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D65373

--HG--
extra : moz-landing-system : lando
2020-03-04 23:39:33 +00:00
Erik Nordin 8fe2efa8d6 Bug 1608489 - Add baseURL constructor option for CSSStyleSheet r=emilio
- Add baseURL constructor option for CSSStyleSheet WebIDL
- Resolve baseURL in CSSStyleSheet WebIDL Constructor
- Add WPTs for custom URL, default URL, invalid URL

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

--HG--
extra : moz-landing-system : lando
2020-03-04 18:34:35 +00:00
Brian Birtles 905f2e1beb Bug 1619516 - Flush styles for getTiming and getComputedTiming for an effect associated with a CSS animation; r=boris
As per [1] we should return the fully-updated result here.

[1] https://drafts.csswg.org/css-animations-2/#requirements-on-pending-style-changes

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

--HG--
extra : moz-landing-system : lando
2020-03-04 19:02:47 +00:00
Cameron McCormack a1ff54a54f Bug 1607356 - Move OTS sanitization to background thread. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D65267

--HG--
extra : moz-landing-system : lando
2020-03-04 18:25:08 +00:00
Emilio Cobos Álvarez 1febc27ba3 Bug 1619701 - Respect the cascade properly when in high-contrast mode. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D65345

--HG--
extra : moz-landing-system : lando
2020-03-04 21:25:24 +00:00
Ting-Yu Lin 31ab1ffd57 Bug 1614101 - Add a crashtest. r=dbaron
Depends on D63385

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

--HG--
extra : moz-landing-system : lando
2020-03-04 17:47:33 +00:00
Ting-Yu Lin aa8db6ce2d Bug 1614101 - Make sure ColumnSet does not split in the last reflow if ColumnSetWrapper's available block-size is unconstrained. r=dbaron
Checking ColumnSet's available block-size [1] makes no sense nowadays
because ColumnSet is an inner frame under ColumnSetWrapper. We should
check ColumnSetWrapper's available block-size instead.

Also, bump assertions count for 1015844.html on Android, which is a
crashtest having multicols.

[1] The comment was also misleading, which said it was checking
ColumnSet's "block-size", but it actually was checking available
block-size.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 18:21:01 +00:00
Csoregi Natalia f57c04f7ff Backed out changeset 5ecd70faa23f (bug 1614101) for crashtest failures on 1015844.html. CLOSED TREE 2020-03-04 19:41:38 +02:00
Ting-Yu Lin bf48011278 Bug 1614101 - Make sure ColumnSet does not split in the last reflow if ColumnSetWrapper's available block-size is unconstrained. r=dbaron
Checking ColumnSet's available block-size [1] makes no sense nowadays
because ColumnSet is an inner frame under ColumnSetWrapper. We should
check ColumnSetWrapper's available block-size instead.

[1] The comment was also misleading, which said it was checking
ColumnSet's "block-size", but it actually was checking available
block-size.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 13:07:40 +00:00
Simon Giesecke dce1e48caf Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65288

--HG--
extra : moz-landing-system : lando
2020-03-04 15:39:20 +00:00
Tim Huang 04d44bae12 Bug 1616570 - Part 1: Rename CookieSettings to CookieJarSettings. r=Ehsan
Given that we are going to add ContentBlockingAllowList in
CookieSettings, so CookieSettings will be responsible for more stuff than the
cookie behavior and cookie permission. We should use a proper name to
reflect the purpose of it. The name 'CookieSettings' is misleading that
this is only for cookie related stuff. So, we decide to rename
'CookieSettins' to 'CookieJarSettings' which serves better meaning here.

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

--HG--
rename : netwerk/cookie/CookieSettings.cpp => netwerk/cookie/CookieJarSettings.cpp
rename : netwerk/cookie/nsICookieSettings.idl => netwerk/cookie/nsICookieJarSettings.idl
extra : moz-landing-system : lando
2020-03-04 08:59:08 +00:00
Makoto Kato 6279258383 Bug 1503656 - Part 7. Notify of safe area insets changed. r=smaug
Since safe area insets uses on content, we need send it from chrome process to
content process.

SafeAreaInsetsChanged will be called per window position/size change (Next
patch is Android implementation for it), we have to calculate safe area insets
on widget/window per change.

Current implementation is that this value is top level document only like Blink
since https://github.com/w3c/csswg-drafts/issues/4670 isn't resolved yet.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 08:16:31 +00:00
Makoto Kato e3d1ff0f27 Bug 1503656 - Part 6. Rebuild CSS environment when safe area insets are changed. r=emilio
Safe area insets can be changed dynamically (i.e. window is fullscreen and etc), so if it is updated, we have to re-parse CSS.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 08:15:37 +00:00
Makoto Kato 5e7416a046 Bug 1503656 - Part 5. Get safe area insets from Gecko. r=emilio
Add binding to get safe area insets from Gecko.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 08:15:17 +00:00
Csoregi Natalia aa5b814fee Backed out 6 changesets (bug 1503656) as per request. CLOSED TREE
Backed out changeset 27faa3b167a9 (bug 1503656)
Backed out changeset 7111f9b5ad06 (bug 1503656)
Backed out changeset 43fdc889beac (bug 1503656)
Backed out changeset 332ceea26151 (bug 1503656)
Backed out changeset f31efa4ea2ec (bug 1503656)
Backed out changeset 91b847efe591 (bug 1503656)
2020-03-04 10:07:42 +02:00
Makoto Kato 00949ff265 Bug 1503656 - Part 7. Notify of safe area insets changed. r=smaug
Since safe area insets uses on content, we need send it from chrome process to
content process.

SafeAreaInsetsChanged will be called per window position/size change (Next
patch is Android implementation for it), we have to calculate safe area insets
on widget/window per change.

Current implementation is that this value is top level document only like Blink
since https://github.com/w3c/csswg-drafts/issues/4670 isn't resolved yet.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 07:28:04 +00:00
Makoto Kato f9309f0f41 Bug 1503656 - Part 6. Rebuild CSS environment when safe area insets are changed. r=emilio
Safe area insets can be changed dynamically (i.e. window is fullscreen and etc), so if it is updated, we have to re-parse CSS.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 07:27:15 +00:00
Makoto Kato e4d96be526 Bug 1503656 - Part 5. Get safe area insets from Gecko. r=emilio
Add binding to get safe area insets from Gecko.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 07:26:42 +00:00
Morgan Reschenberg c1431063a6 Bug 1617678: Modify background image styling to only apply URL-sourced images when backplate is enabled. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D64200

--HG--
extra : moz-landing-system : lando
2020-03-04 01:19:41 +00:00
Emilio Cobos Álvarez 46d1624d9d Bug 1619664 - Rename and don't null-check nsPresContext::GetTheme as it can't return null. r=dholbert
There were some callers in nsRangeFrame that were already not-null-checking.

All platforms have a native theme and should we add new ones they could use
nsBasicNativeTheme.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 01:58:30 +00:00
Emilio Cobos Álvarez 741c54ae79 Bug 1619664 - Decide which theme to use per document, not per-process. r=mstange,spohl
This allows testing much more easily.

There are some edge cases with native theme changes and such (ThemeChanged and
co assume there's only one theme per process). But I don't think they matter
much for our use cases.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 19:46:41 +00:00
Emilio Cobos Álvarez 4f5e083311 Bug 1619664 - Remove nsBox::gTheme. r=dholbert
The boxes can just poke at the prescontext theme like literally everything else.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 23:39:07 +00:00
Brad Werth 4c4fadb3ed Bug 1593756 Part 1: Add a new method GetBoxQuadsFromWindowOrigin. r=emilio,hiro
Window space is not a sensible space for CSS points, as returned by
getBoxQuads, since the CSS points are relative to window origin and not the
layout origin. This new method is useful in paired calling patterns, where
the returned quads are further translated by the position of the document
node relative to the window origin. Later parts of this patch demonstrate
this calling pattern in a test.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 00:45:38 +00:00
Brian Birtles 21f07a041a Bug 1459536 - Replace CSSAnimation interaction with animation-play-state with a simpler "once overridden always overridden" approach; r=boris
This corresponds to the approach outlined in https://github.com/w3c/csswg-drafts/issues/4822

Specifically:

* Calling play() / pause() always triggers the "animation play state is being
  overridden by the API" behavior (unless the method throws an exception).

* Setting the startTime or calling reverse() only triggers this override
  behavior if it results in a change between a playState that is paused and a
  playState that is not paused.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 00:38:30 +00:00
Brian Birtles 0d27d97f36 Bug 1459536 - Allow CSS animation properties to be overridden by replacing the effect; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D65099

--HG--
extra : moz-landing-system : lando
2020-03-04 00:37:39 +00:00
Brian Birtles ef42e66fc8 Bug 1459536 - Allow CSS animation timing properties to be overridden using the Web Animations API; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D65098

--HG--
extra : moz-landing-system : lando
2020-03-04 00:36:46 +00:00
Brian Birtles c6444a7c4f Bug 1459536 - Ignore subsequent changes to @keyframes after calling setKeyframes; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D65097

--HG--
extra : moz-landing-system : lando
2020-03-04 00:35:52 +00:00
Jan Henning a231c232c9 Bug 1540176 - Ensure input elements don't become font inflation containers. r=emilio
Previously, text input controls weren't font inflation containers simply by
virtue of being "display:inline" by default, which automatically makes them in-
eligible for becoming an inflation container.
As of bug 1539469 this has changed however - those <input> elements are now
"display:inline-block" by default, which with the current font inflation logic
turns them into font inflation containers.

This leads to a few problems:
1. The logic from bug 708175 (stop inflation if there is a size-constrained non-
   inline frame in the chain from the current frame to their font inflation
   container) is built on the assumption that the (possibly size-constrained)
   form control itself isn't a font inflation container.
2. When form controls end up as font inflation containers themselves, they no
   longer size themselves properly to match the size of their inflated
   contents, because they are now subject to the AutoMaybeDisableFontInflation/
   mInflationDisabledForShrinkWrap logic which ends up disabling font inflation
   during the size calculation of the form control.

1.) means that we now inflate some text inputs that we didn't use to inflate
previously and 2.) means that every time we attempt to inflate a text input, we
end up with the text content being inflated, but the containig box being not and
therefore too small.

Because of this, as well as because
1. The introductory comment in nsFrame::IsFontSizeInflationContainer itself
   mentions that form controls aren't expected to be inflation containers.
2. There is the precedent from bug 786946, where <select> elements were
   specifically excluded from becoming font inflation containers when their
   default display style was changed from "inline" to "inline-block".

all of this points towards having to specifically preclude <input> elements
from becoming font inflation containers as well.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 21:47:21 +00:00
Jan Henning d1a5485cf9 Bug 1619150 - Include font inflation info when dumping frame data. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D64907

--HG--
extra : moz-landing-system : lando
2020-03-03 21:47:01 +00:00
Hiroyuki Ikezoe f0b17ecc30 Bug 1510120 - Block running background-color animation on the compositor if there is any current-color keyframe. r=boris,flod
Differential Revision: https://phabricator.services.mozilla.com/D63629

--HG--
extra : moz-landing-system : lando
2020-03-03 21:48:01 +00:00
Razvan Maries 0b474b2251 Backed out changeset dc3ad7ffa787 (bug 1617678) for perma failures on bg-image-div-001.html. CLOSED TREE 2020-03-03 23:16:37 +02:00
Emilio Cobos Álvarez d9d7f09456 Bug 1619428 - Make the overlay scrollbars check work in all platforms. r=mstange
Reuse the AddXULMinSize logic which already deals with all the widget stuff,
non-themed scrollbars, etc.

Remove some useless margin declarations and such in GeckoView scrollbars code
now that AddXULMinSize does look at the min-width/height properties.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 20:30:52 +00:00
shindli b961822146 Backed out changeset be3b005bfc6d (bug 1619428) for causing reftest failure in contain-size-select-elem-002-ref.html CLOSED TREE 2020-03-03 22:15:47 +02:00
Morgan Reschenberg 11e8355a59 Bug 1617678: Modify background image styling to only apply URL-sourced images when backplate is enabled. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D64200

--HG--
extra : moz-landing-system : lando
2020-03-03 19:16:30 +00:00
Emilio Cobos Álvarez cdad6a0be8 Bug 1619428 - Make the overlay scrollbars check work in all platforms. r=mstange
Reuse the AddXULMinSize logic which already deals with all the widget stuff,
non-themed scrollbars, etc.

Remove some useless margin declarations and such in GeckoView scrollbars code
now that AddXULMinSize does look at the min-width/height properties.

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

--HG--
extra : moz-landing-system : lando
2020-03-03 18:50:07 +00:00