Since merging stencils is a read-only operation for the source delazification
stencil and we already have a borrowed stencil at caller, it is more
consistent with our conventions to pass a CompilationStencil& instead of an
ExtensibleCompilationStencil&.
Differential Revision: https://phabricator.services.mozilla.com/D107014
Also add XDRStencilEncoder for non-incremental case, and
cleanup XDRStencilDecoder.
StencilDelazificationSet and gcOutputForDelazification become unused,
and will be removed by later patches.
Differential Revision: https://phabricator.services.mozilla.com/D105154
Since WebRender doesn't need texture array support anymore, neither does SWGL.
This is a massive simplification which should benefit both performance and
simplicity. This patch pretty much just removes functionality but doesn't
change any functionality that is already used and relied upon.
Differential Revision: https://phabricator.services.mozilla.com/D106718
The new method is mandatory because mozStorageTransaction constructor no longer
starts the transaction. It must be started explicitely.
All consumers have been adjusted, but only dom/quota, dom/indexedDB, dom/cache,
dom/localstorage and dom/storage handle the error. Other components like
netwerk/cache, netwerk/cookie and toolkit/components currently only warn on
failure to start a transaction. Bug 1696129, 1696130 and 1696133 have been
filed for proper handling of transaction start failures in those components.
Differential Revision: https://phabricator.services.mozilla.com/D106893
This implements the simple approach advocated for in
https://bugzilla.mozilla.org/show_bug.cgi?id=1120863#c26.
It's not easy to lift the duplicated chrome document URL to a shared
location, so we instead annotate both locations.
I've provided an environment variable that will allow a process that did
not itself process updates to witness that fact and used it to add a test.
Differential Revision: https://phabricator.services.mozilla.com/D106993
I lean really hard into using the precise variable names and language
from the spec here. Previously I had more qualitative/descriptive names,
but I found this to mostly cause confusion. When we're up to our waists
in spec edge cases like we are here, descriptive qualitative names can
just be deceptive, and lead to incorrect intuitions.
Differential Revision: https://phabricator.services.mozilla.com/D107016
This removes some polymorphism and makes it easier to understand what's actually going on.
The explicit if checks added in this patch will go away once nsMenuX and nsMenuItemX are unified.
Differential Revision: https://phabricator.services.mozilla.com/D106376
This is simple typo when payload is nothing.
Also, we should add unit tests for this since we don't run mochitest in
dom/push/test. The mochitest requires mock's implementation, but we doesn't
have it.
Differential Revision: https://phabricator.services.mozilla.com/D107067
I assume nsIFrame::IsAbsolutelyPositioned()'s callers really want to
check whether a frame is a real abspos frame, not just check a frame has
a abspos style. This could potentially change the behavior, but I feel
its the right thing to do.
Differential Revision: https://phabricator.services.mozilla.com/D106580
When `aElement` is a <table>, `styleFrame` is the inner table frame. It
has the abspos style, but not the `NS_FRAME_OUT_OF_FLOW bit`. The bit is
set on the table wrapper frame in the `frame` variable.
When determining whether the <table> is absolutely positioned, we should
check `frame` instead of `styleFrame`. Otherwise we'll break <table>
element's offsetParent property after applying Part 2.
Without this patch, running `./mach test dom/html/test/test_bug375003-1.html`
can generate the following exception.
dom/html/test/test_bug375003-1.html | uncaught exception -
TypeError: can't access property "id", p is null at
t3@http://mochi.test:8888/tests/dom/html/test/test_bug375003-1.html:39:3
Differential Revision: https://phabricator.services.mozilla.com/D106746
IsFontSizeInflationContainer() is a helper of nsIFrame::Init(). That is,
when it is called from a caller like
nsCSSFrameConstructor::CreateFloatingLetterFrame(), the
`NS_FRAME_OUT_OF_FLOW` bit is not set yet. There is also a hint at the
call site
https://searchfox.org/mozilla-central/rev/362676fcadac37f9f585141a244a9a640948794a/layout/generic/nsIFrame.cpp#770
To fix it, we need to change the condition to check only the
floating style.
layout/reftests/bidi/with-first-letter-2b.html is one of the testcases
that can trigger the following assertion without this patch.
###!!! ASSERTION: should not be container for font size inflation
Differential Revision: https://phabricator.services.mozilla.com/D106579