Commit Graph

20368 Commits

Author SHA1 Message Date
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
L. David Baron
a08b5323cb Bug 1576972 - Keep lastRealFrame up-to-date even when we skip empty text frames. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D43885

--HG--
extra : moz-landing-system : lando
2019-08-29 10:14:08 +00:00
Tom Ritter
7f0055c7a2 Bug 1577243 - Unconditionally clamp the requestAnimationFrame timestamp (and clamp/jitter it in RFP mode) r=birtles
In Bug 1387894 we created a mode for Firefox where it unconditionally clamps all timestamps to 20 microseconds. This happens if you disable privacy.reduceTimerPrecision (which is on by default) and is so we don't inadvertently leak super-high-resolution (nanosec) timestamps.

As part of that patch, we started clamping animation timestamps - which are exempted from privacy.reduceTimerPrecision because it was too difficult to get them working at the time. (We should still fix that though.)

This caused new test failures, and one of those was a comparison between document timelines and the timestamp in requestAnimationFrame. we were not clamping the timestamp in requestAnimationFrame under the logic that it fires in predictable intervals.

However discussions about the WPT change we made to 'fix' the now-broken comparison https://github.com/web-platform-tests/wpt/pull/18172 and https://github.com/web-platform-tests/wpt/pull/18357 showed me that document.timeline is supposed to be slaved to the requestAnimationFrame timestamp (or vice versa.)

The correct fix is therefore to unconditionally clamp the requestAnimationFrame timestamp AND the document.timeline timestamp. In doing so we also start clamping/jittering the requestAnimationFrame timestamp in Resist Fingerprinting mode, so that might cause some new/unexpected behaviors for that mode we should watch out for.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 23:44:07 +00:00
Emilio Cobos Álvarez
0ec0984d05 Bug 1577258 - early-return for noop resizes. r=botond
This avoids doing wasted work and sending spurious resize
events if this case would be hit.

In practice, it cannot be hit yet, I think, because
callers do check for this and bail out earlier. But
there's no assertion to that respect so this shouldn't
hurt.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 22:03:26 +00:00
Andrew Creskey
7134be5031 Bug 1575938 Convert dom/JSEnvironment GC timing constants to StaticPref r=edgar
Converted the following to StaticPrefs so that we can easily test variations:

NS_GC_DELAY
NS_SHRINK_GC_BUFFERS_DELAY
NS_FIRST_GC_DELAY
NS_FULL_GC_DELAY
NS_INTERSLICE_GC_DELAY

NS_USER_INTERACTION_INTERVAL

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

--HG--
extra : moz-landing-system : lando
2019-08-26 15:51:01 +00:00
Mats Palmgren
9adf43a616 Bug 1576355 - Don't try to optimize position style changes for rel.pos. grid items. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D43387

--HG--
extra : moz-landing-system : lando
2019-08-26 20:00:35 +00:00
Ting-Yu Lin
40da910325 Bug 1575106 Part 4 - Add reftests, crashtests, and adjust test expectations. r=dbaron
1346454-1.html and 1346454-2.html are moved to keep the list sorted.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 06:10:34 +00:00
Jonathan Kew
39041986c7 Bug 1575908 - Remove spurious code trying to reinitialize a propertyProvider. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D43261

--HG--
extra : moz-landing-system : lando
2019-08-23 15:49:28 +00:00
Emilio Cobos Álvarez
a3278b6dad Bug 1575806 - Cleanup a bit preference-stylesheet-related code. r=heycam
Some of it was dead code, another was inlining a not very useful function (and
in one case redundant, since EnsureInitialized() happened right after
Refresh()).

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

--HG--
extra : moz-landing-system : lando
2019-08-22 23:15:13 +00:00
Botond Ballo
52a4f25b4b Bug 1573014 - Early-exit ShrinkToDisplaySizeIfNeeded() in reader mode. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42967

--HG--
extra : moz-landing-system : lando
2019-08-21 23:33:14 +00:00
Randall E. Barker
f906c88052 Bug 1575694 - Short circuiting the refresh driver in WebVR immersive mode on Android break the MediaRecorder r=mstange
Rather than short circuit the refresh driver, this instead only bypasses painting on
Android when WebVR is in immersive mode.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 22:41:56 +00:00
Mike Hommey
66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Kristen Wright
b94d261b88 Bug 1572529 - Remove vsync.parentProcess.highPriority . r=smaug
Removes vsync.parentProcess.highPriority pref and stores BrowserTabsRemoteAutostart() directly into sHighPriorityEnabled.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 21:54:58 +00:00
Botond Ballo
9d1532ac71 Bug 1575093 - Ensure initial-scale in a meta viewport tag is respected. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42949

--HG--
extra : moz-landing-system : lando
2019-08-21 22:00:43 +00:00
Dan Glastonbury
41fff20f69 Bug 1571612 - P2: Collect flush req and flush telemetry. r=heycam
Collect telemetry for the number of pending style and layout flush requests per
flush and the number of style and layout flushes per nsRefreshDriver::Tick.  A
style flush reports only style requests, but a layout flush reports style and
layout requests since flushing layout implies a style flush also.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 01:43:30 +00:00
Dan Glastonbury
d87e8fd612 Bug 1571612 - P1: Split FlushType::Style and FlushType::Frame. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40755

--HG--
extra : moz-landing-system : lando
2019-08-07 03:51:20 +00:00
Mats Palmgren
dd5a04bc1d Bug 1574552 - Push float/abs.pos. CB for 'block ruby' as needed. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D42701

--HG--
extra : moz-landing-system : lando
2019-08-20 21:28:01 +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
Mats Palmgren
2525944e34 Bug 1574994 part 1 - Remove/replace display:-moz-inline-grid and -moz-inline-stack in tests. r=emilio
I replaced the values with -moz-inline-box in the crashtests
rather than removing them.  I think they are still valuable
after replacing the display value.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00
Botond Ballo
4232079a25 Bug 1565525 - Add helper functions to make working with Maybe<Matrix> easier. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D42564

--HG--
extra : moz-landing-system : lando
2019-08-20 06:36:01 +00:00
Emilio Cobos Álvarez
bfcf9b881b Bug 1574544 - Remove now-unnecessary condition that makes the frame constructor get confused with editor anonymous nodes. r=mats
This condition was needed when FindInsertionPrevSibling and co didn't understand
display: contents.

Editor is pretty broken (and calls into PresShell::ContentRemoved directly, and
incorrectly, using anonymous nodes).

In this case we were taking the XBL path because of display: contents, which
means that we tried to seek to the editor anonymous node, and crash (since it's
not an explicit kid).

Editor needs to get fixed, but this is technically more correct and fixes the
crash, so we may as well take it in the interim.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 12:16:28 +00:00
Masayuki Nakano
cf0604278c Bug 1564639 - Make BrowserParent use nsPresContext::GetRootWidget() when handling IME related messages r=hsivonen
When contents notify IME or requests something to IME, they need to use
an `nsIWidget` instance which may have focus if active, and handles
native keyboard/IME events since that knows correct native IME context.

Currently, such widget exactly matches with the result of
`nsPresContext::GetRootWidget()`.  However, this is unclear for most developers.
Therefore, this patch creates a wrapper method of it named
`nsPresContext::GetTextInputHandlingWidget()`.  Then, also adds
`BrowserParent::GetTextInputHandlingWidget()` wraps it.  Finally, makes
`IMEStateManager` call `GetTextInputHandlingWidget()` of them.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 08:27:32 +00:00
Emilio Cobos Álvarez
ac2f80304e Bug 1568536 - Don't propagate viewport styles from display: none or display: contents elements. r=dholbert
Resolution is at:

 * https://github.com/w3c/csswg-drafts/issues/3779#issuecomment-481762912

Tests are at https://chromium-review.googlesource.com/c/chromium/src/+/1547974,
I'll make sure to wait until they're in the tree and ensure they're passing.

Note that we need to ensure in the frame constructor that the document element
is styled _before_ calling UpdateViewportScrollStylesOverride(). This saves
duplicated work (since ResolveStyleLazily throws away the style).

ResolveStyleLazily already returns out of date styles, unless the element is not
styled yet, or is in a `display: none` subtree, in which case it computes and
returns a new (up-to-date) style.

So the switch to the FFI call only should change behavior for the display: none
subtree case (since we ensure the unstyled case isn't hit by styling the
document earlier). But that case is one of the cases we're interested in
changing, conveniently.

Depends on D40080

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

--HG--
extra : moz-landing-system : lando
2019-08-16 11:43:36 +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
Emilio Cobos Álvarez
6779b66f01 Bug 1571530 - Remove various bool arguments in sheet loader APIs. r=heycam
They're bad, specially if they do vastly different thing in overloaded
functions, like aUseSystemPrincipal and aIsPreload. :)

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

--HG--
extra : moz-landing-system : lando
2019-08-16 10:56:05 +00:00
Emilio Cobos Álvarez
2353359865 Bug 1571530 - Make Loader APIs return a Result. r=heycam
On the fence on this one, but I do think it's nicer.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 10:56: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
d8298290d7 Bug 1574101 - Use the right parent frame for block ruby if it's out of flow. r=mats
I should've caught this when reviewing, in fairness.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 22:21:35 +00:00
Daniel Holbert
0a772dbcbb Bug 1574310: clang-reformat the layout directory. (no review, just doing automated reformatting)
This patch is auto-generated by the following command:
./mach clang-format -p layout/

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

--HG--
extra : moz-landing-system : lando
2019-08-15 22:13:49 +00:00
Noemi Erli
7244716bb5 Backed out changeset 4d8eb840fc2e (bug 1574101) so it can reland without unrelated reformatting changes r=dholbert CLOSED TREE 2019-08-16 01:00:14 +03:00
Emilio Cobos Álvarez
ad39790be6 Bug 1574101 - Use the right parent frame for block ruby if it's out of flow. r=mats
I should've caught this when reviewing, in fairness.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 21:14:34 +00:00
Ting-Yu Lin
206960605d Bug 1569701 Part 2 - Use ColumnSetWrapper's effective computed content block-size to impose constraint for ColumnSet. r=dbaron
Run broken-column-rule-1.html with column-span enabled because it was
regressed by Bug 1548100 Part 2, but fixed by this patch.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:59:13 +00:00
Emilio Cobos Álvarez
4f6b095d76 Bug 1573907 - Make non-list-items not increment the start value for <ol reversed>. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D42084

--HG--
extra : moz-landing-system : lando
2019-08-15 09:54:21 +00:00
Emilio Cobos Álvarez
7a80495d54 Bug 1573907 - Fix interaction of <li value> inside <ol reversed>. r=mats
The counting code was incrementing the start counter twice for <li value>, as it
generates both an increment and a reset.

We should instead only increment it once per list-item, that is, once per
increment.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 09:52:28 +00:00
Timothy Nikkel
2a4e690cf4 Bug 1574016. Fix logic error in patch from bug 1547277. r=bradwerth
The fixed still worked because we get another SetBounds call right after with the same bounds. But it does mean we are doing some useless invalidation.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 01:28:11 +00:00
Kristen Wright
87723c635c Bug 1573268 - Convert layout.css.outline-style-auto.enabled to static pref. r=njn
Converts layout.css.outline-style-auto.enabled to a static pref and removes nsLayoutUtils::isOutlineStyleAutoEnabled().

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

--HG--
extra : moz-landing-system : lando
2019-08-14 00:26:02 +00:00
Kristen Wright
6bfb2c7c85 Bug 1573268 - Convert two layout.idle-period.* prefs to static prefs. r=njn
Converts layout.idle_period.required_quiescent_frames and layout.idle_period.time_limit to static prefs. These are the last prefs in nsLayoutUtils::initialize(), but since the function still calls nsComputedDOMStyle::RegisterPrefChangeCallbacks() the commit retains it.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 19:36:46 +00:00
Kristen Wright
61d69ccebf Bug 1573268 - remove the varcache definition for svg.transform-box.enabled. r=njn
svg.transform-box.enabled is already a static pref, so I removed the varcache definition of it in nsLayoutUtils.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 00:17:04 +00:00
Kristen Wright
e1e114c69d Bug 1573268 - Convert layout.interruptible-reflow.enabled to static pref. r=njn
Converts layout.interruptible-reflow.enabled to a static pref and updates its usage.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 00:01:27 +00:00
Kristen Wright
0766a7b011 Bug 1573268 - Convert nglayout.debug.invalidation to static pref. r=njn
Converts nglayout.debug.invalidation to a static pref. Retains the old getter function from the old static bool, because it makes an additional comparison.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 23:47:48 +00:00
Kristen Wright
49185e9481 Bug 1573268 - Convert zoom.maxPercent and zoom.minPercent to static prefs. r=njn
Converts zoom.maxPercent and zoom.minPercent to static prefs, which creates a new "zoom" category on StaticPrefList.yaml.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 18:29:55 +00:00
Kristen Wright
1e91da4122 Bug 1573268 - Convert font.size.systemFontScale to static pref. r=njn
Converts font.size.systemFontScale to a static pref. Removes the function in nsLayoutUtils and does the float division directly in PresShell.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 18:27:11 +00:00
kriswright
cccb97beb8 Bug 1573268 - Convert two font.size.inflation.* prefs to static prefs. r=njn
Converts font.size.inflation.forceEnabled and font.size.inflation.disabledInMasterProcess to static prefs. Like previous revisions, I retained the member variables in PresShell and set them to the static prefs.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 20:15:52 +00:00
kriswright
1774881905 Bug 1573268 - Convert font.size.inflation.lineThreshold to a static pref. r=njn
Converts font.size.inflation.lineThreshold varcache pref to a static pref. Like previous revisions, this retains the member variable in PresShell.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 18:23:54 +00:00
kriswright
6a396a8167 Bug 1573268 - Convert 3 font.size.inflation.* prefs to static prefs. r=njn
Converts font.size.inflation.minTwips, font.size.inflation.emPerLine, and font.size.inflation.mappingIntercept to static prefs and removes their associated functions from nsLayoutUtils. There are associated member variables in PresShell, but since documentation specified that these variables are set specifically to prevent changes to the cache from being read until page reload, I made the decision to leave these and set them to the static prefs.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 18:19:33 +00:00
kriswright
c562d89e13 Bug 1573268 - Convert font.size.inflation.maxRatio to static pref. r=njn
Creates the new 'font' category in StaticPrefList.yaml and adds font.size.inflation.maxRatio to the category. Removes the old static uint in nsLayoutUtils and the function that returns it.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 00:07:32 +00:00
kriswright
2809ff7952 Bug 1573268 - Convert layout.css.ruby.intercharacter.enabled to static pref. r=njn
Converts layout.css.ruby.intercharacter.enabled to a static pref and removes the associated function nsLayoutUtils::IsInterCharacterRubyEnabled(). Also removes the macro INTERCHARACTER_RUBY_ENABLED_PREF_NAME, since it was only being used to add the varcache pref.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 22:52:38 +00:00
kriswright
6c57b2f2a8 Bug 1573268 - Convert layout.animated-image-layers.enabled to static pref. r=njn
Converts layout.animated-image-layers.enabled to a static pref and removes the nsLayoutUtils::AnimatedImageLayersEnabled() function, replacing it with the static pref.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 00:03:38 +00:00
kriswright
8c68307d03 Bug 1573268 - Convert two layers.offmainthreadcomposition.* prefs to static prefs. r=njn
Converts layers.offmainthreadcomposition.async-animations and layers.offmainthreadcomposition.log-animations to their respective static prefs. Since all IsAnimationLoggingEnabled() did was create a pref and return the variable sShouldLog, this function is removed and replaced with the static pref.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 00:02:12 +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