In test0(), we use the callback of `requestAnimationFrame` to know in which
eventloop (i.e. `Tick()`) we are. However, we may not trigger the callback
of `requestAnimationFrame` if we are not visible. This is an optimization
in Bug 1145439.
Detail:
We use `Document::ShouldThrottleFrameRequests()` to check if we should throttle
the frame requests in the current `Tick()`. This function returns true if we
didn't get painted during the last paint, so we are not visible, so throttle
the frame requests. Note that because we have to paint this document at least
once to unthrottle it, we will drop one `requestAnimationFrame` frame when a
document that previously wasn't visible scrolls into view.
Therefore, we should make sure we got the first paint before running test0().
Using onload is not perfect, but we don't have other better choose for now.
Differential Revision: https://phabricator.services.mozilla.com/D29772
--HG--
extra : moz-landing-system : lando
Add multicol-width-004.html and multicol-width-005.html to test "width:
min-content" and "width: max-content" with column-span:all children.
There's no size containment in these tests.
Note it may be worth to reuse nsBlockFrame's mCachedMinISize and
mCachedPrefISize to cache intrinsic size for ColumnSetWrapperFrame, but
this can be done separately.
Differential Revision: https://phabricator.services.mozilla.com/D29616
--HG--
extra : moz-landing-system : lando
If column-span is enabled, nsColumnSetFrame becomes an inner frame under
ColumnSetWrapperFrame, and that outer frame is then where we should be
handling size containment.
This patch doesn't change the logic but make the logic easier to
simplify once we start eliminating column-span pref.
Differential Revision: https://phabricator.services.mozilla.com/D29615
--HG--
extra : moz-landing-system : lando
The functions move to ColumnUtils will be used by ColumnSetWrapperFrame
to implement GetPrefISize() and GetMinISize().
Also, I verify locally that non-unified build is still working by
s/UNIFIED_SOURCES/SOURCES/ in layout/generic/moz.build.
Differential Revision: https://phabricator.services.mozilla.com/D29614
--HG--
extra : moz-landing-system : lando
This ensures that the iframe is loaded by the time we query its visual viewport size.
Differential Revision: https://phabricator.services.mozilla.com/D30417
--HG--
extra : moz-landing-system : lando
This causes some scrollbar-related assertions to fail on desktop because
scrollbar behaviour with desktop zooming is not correct yet.
Differential Revision: https://phabricator.services.mozilla.com/D30415
--HG--
extra : moz-landing-system : lando
1. Add new tests with an extra argument of "content-box"/"border-box" in
observe(), and test contectBoxSize and borderBoxSize.
2. Add a new test for changing the writing mode. Changing writing mode makes
the element change the orientation, but the logical box size is still
the same, so we shouldn't fire the event.
Differential Revision: https://phabricator.services.mozilla.com/D28739
--HG--
extra : moz-landing-system : lando
I think it's better to make sure each test is independent from others, so we
create elements inside each test function. (Only change observe.html
because I touch only this file in this bug.)
Differential Revision: https://phabricator.services.mozilla.com/D29889
--HG--
extra : moz-landing-system : lando
In this patch, we support
1. content-box (default)
2. border-box
And let ResizeObserverEntry expose these box sizes.
Besides, we store the mLastReportedSize as the logical size.
Differential Revision: https://phabricator.services.mozilla.com/D28737
--HG--
extra : moz-landing-system : lando
GetNodeDepth() is a special version for ResizeObserver to get the depth
of node (across Shadow DOM). Based on the comment in D27615, it's better
to move it into ResizeObserver.cpp.
Differential Revision: https://phabricator.services.mozilla.com/D28736
--HG--
extra : moz-landing-system : lando
An assert occurs while calculating durations whenever we reach the end of the event list and we didn't encounter the TraceLogger_Stop events for events that were still active when the profiler stopped. The fix is to use the last event as the end event for any remaining events on the stack.
Differential Revision: https://phabricator.services.mozilla.com/D29926
--HG--
extra : moz-landing-system : lando
Most of the script->resetWarmUpCounter() calls are heuristics to delay Ion compilation.
This patch adds resetWarmUpCounterToDelayIonCompilation to make that more explicit.
This method does nothing if the script is not warm enough for Baseline compilation, to
ensure scripts never get stuck in the (Baseline) interpreter.
Differential Revision: https://phabricator.services.mozilla.com/D29990
--HG--
extra : moz-landing-system : lando
This seems to be regression by bug 1362858.
Actually, single quotation mark is always separator for spellchecker after
landing bug 1462858. When user tries to input "doesn't", "'" becomes separator
for spellchecker. Then "doesn" will be misspell word.
So we shouldn't mark single quotation mark as separator if user is inputting
word.
Differential Revision: https://phabricator.services.mozilla.com/D29153
--HG--
extra : moz-landing-system : lando
It'd be better to change copy constructor of `EditorDOMPointBase` to explicit,
but it'd require too many changes in editor code. So, this patch just changes
each method callers only.
Differential Revision: https://phabricator.services.mozilla.com/D30054
--HG--
extra : moz-landing-system : lando
This patch fixes a race condition where we could request that a content page's
JS be cancelled during navigation in `HangMonitorChild::InterruptCallback`,
but the new page has already started loading by the time the JS is cancelled in
`XPCJSContext::InterruptCallback`, thus cancelling the JS of the new page. To
fix this, we now handle everything in `HangMonitorChild::InterruptCallback`,
making sure to only do anything for *content* scripts (to avoid inadvertently
cancelling the browser's JS).
Differential Revision: https://phabricator.services.mozilla.com/D30272
--HG--
extra : moz-landing-system : lando
Changes:
- reduced `linux64/debug` chunking to 14 (from 16)
- reduced `linux64-ccov/debug` to 14 (from 16)
- increased `windows64-ccov` to 16 (from 10)
- maintain all non-ccov debug to 8
- maintain all asan to 8
- reduce everything else to 5
Differential Revision: https://phabricator.services.mozilla.com/D30303
--HG--
extra : moz-landing-system : lando