IsSameOrAncestor used to accidentally do this when it walked the parent chain
using docshells rather than BrowsingContexts.
Differential Revision: https://phabricator.services.mozilla.com/D84237
Non-WebRender calls ChooseImageIndex multiple times per frame, and only calls
FinishRendering if it actually rendered the video. This makes some of the
bookkeeping here a bit annoying.
This patch introduces a behavior difference as to when mLastFrameID is updated.
It is now updated during the first ChooseImageIndex inside of a composition,
rather than from FinishRendering. But the bias is still updated from
FinishRendering. I don't think this will make an actual difference in practice.
Differential Revision: https://phabricator.services.mozilla.com/D84072
I got this wrong when I added non-WebRender support in the patch that added
the CompositionOpportunityId counter. I forgot that EndTransaction is not only
called when we composite, but also, who would have thought, when we process a
transaction.
We only want to increment mCompositionOpportunityId when we're actually about
to composite.
Differential Revision: https://phabricator.services.mozilla.com/D84111
In the current state this also counts frame drops while the video is offscreen,
but this will be fixed in a later patch in the series.
This patch also adjusts the time delta check: It now compares floored milliseconds.
In 60fps WebM videos, the video frame durations are 16.0, 17.0, 17.0, 16.0, 17.0, 17.0, ...
so we need to consider frames with 16.0ms as displayable even when the target
frame duration is 16.67ms, otherwise we gloss over one third of the frames when
counting potentially dropped frames.
Differential Revision: https://phabricator.services.mozilla.com/D82635
All the correspond test files are using `font: 1.25em/1 Ahem`, so this
patch sets the same rule to all their references to prevent default font
from resulting a line-height larger than 20px.
Differential Revision: https://phabricator.services.mozilla.com/D83589
There doesn't seem to be any need to have this per stacking context, as
the device pixel ratio is always the same during scene building (the
previous code just clones this object as each stacking context is
pushed).
Differential Revision: https://phabricator.services.mozilla.com/D84113
The code that was previously in `new-regexp` has been moved into `irregexp`, and the code in `irregexp` has been deleted. Update the license file accordingly.
Depends on D77732
Differential Revision: https://phabricator.services.mozilla.com/D77733
Avoid using a separate list of pointer-to-pointers to the members to hold the
functions. Also use a macro to actually invoke this, which will be useful when
we allow having a hard-dependency on CUPS for OS X.
Differential Revision: https://phabricator.services.mozilla.com/D84022
It's not immediately obvious to me why we limit this check based on target;
I guess once upon a time there was no ELF or Mach-O support, so we wanted to
ensure people didn't shoot themselves in the foot. If that's the case,
testing indicates that Mach-O support isn't quite ready for prime-time and
we haven't got all the bits straightened out for our normal Linux builds.
So we're just going to enable it for Android here.
Differential Revision: https://phabricator.services.mozilla.com/D83560
When links to specific tasks in treeherder was added to the description in
Bug 1630710, This caused the descriptions for several derived tasks to include
the `{'task-reference': '...'}` wrapper in the derived description. This is
in addition to the already duplicate links to treeherder those tasks had.
To ameliorate this issue, keep track of the original description without the
treeherder link and use that in derived tasks.
Differential Revision: https://phabricator.services.mozilla.com/D84047