This code doesn't seem to be working correctly and was broken
accidentally before. Intentionally break it for now to avoid the
regression.
Differential Revision: https://phabricator.services.mozilla.com/D110347
Depends on D110368
Both the flag and the event are not used.
The only thing which matters from the framework perspective is to wait for panel.open to resolve.
Differential Revision: https://phabricator.services.mozilla.com/D110369
Firefox and Chrome support setting `src` with an `ObjectURL`. This is
technically a URL and should be treated as such. Firefox recently changed to
return `""` when a `MediaSource` is playing, and this is wrong, because even
though it's playing a from a "Media Provider Object", it got loaded from the
`src` attribute, so should have a non-null `currentSrc`, which should be the
blob url (`blob:origin/<an uuid>`). In this case, `currentSrc` is a string that
is opaque and doesn't allow introspection but refers to the "real" `MediaSource`
or `Blob`.
If the same `MediaSource` is loaded via the `srcObject` attribute (that Firefox
and Chrome don't support), then `currentSrc` should return `""` and `srcObject`
still has the object set to it to understand what the HTMLMediaElement is
playing. We'll implement and test this later.
Differential Revision: https://phabricator.services.mozilla.com/D110290
Ideally nsDateTimeControlFrame should / could inherit from
nsTextControlFrame, but this should do for now.
Test also covers the previous patch.
Differential Revision: https://phabricator.services.mozilla.com/D110076
Mostly a cosmetic change but this makes the layout more consistent with
other form controls.
This is the only thing that I think could cause something like comment 0
is describing, though I couldn't reproduce. But I think it's an
improvement regardless.
Differential Revision: https://phabricator.services.mozilla.com/D110062
Ideally, the method itself should be refactored. I'll need to think
about how to properly do that. For now, the new name reflects more
clearly what the method does.
Depends on D110242
Differential Revision: https://phabricator.services.mozilla.com/D110243
This test tries to take a snapshot 200ms after it starts, during the first
iteration of its 'scale' animation.
Before this patch, the test isn't quite valid -- its scale animation repeats
every second, and the test's rendering *does not match the reference case* for
the 10ms time-period (0%-1%) at the start of each iteration. If the screenshot
happens to delayed beyond 200ms (which is allowed) and happens to capture the
rendering during that 10ms time period, then the test would fail, despite the
browser not having done anything wrong.
Also: before this patch, the test usually times out in Firefox. I think this
is because of the repeating animation causes the testcase to often have a
pending paint, which prevents the test harness from ever thinking the test is
ready for its screenshot.
This patch addresses both of these issues by making the test freeze its
animation after the first iteration (at 1 second).
This change shouldn't impact the test's intended operation. Note that the test
tries to take its reftest snapshot at 200ms (which is 20% into the animation's
first iteration). If that snapshot is actually captured at ~200ms, the test
will still operate as it always has; this patch doesn't change any behavior
during that part of the test's life cycle. And if the snapshot is delayed
beyond the 1-second mark (e.g. due to waiting for pending paints to flush),
then it will now capture a reliably predictable page state (with the animation
frozen), instead of having a 1% chance of capturing an incorrect page state at
the very beginning of some animation iteration.
Differential Revision: https://phabricator.services.mozilla.com/D110297
This scenario is encountered when the same menu is opened again while it's already open:
nsMenuPopupFrame::InitializePopupAsNativeContextMenu overwrites mNativeMenu with a newly-created
NativeMenu, destroying the old one before it had a chance to fire its popuphiding/popuphidden events.
One place where we do this is if you right-click in the bookmarks bar and then, while the menu is
open, right-click again on the bookmarks bar in a different place.
Since we weren't dispatching popuphiding/popuphidden events for the first menu in this scenario
before this patch, some menu items would be duplicated because their old versions were never removed.
Depends on D110141
Differential Revision: https://phabricator.services.mozilla.com/D110142
This copies some of the basic diagnostic reporting logic from SimpleTest to
TestRunner so that it can report timeout errors without an unnecessary
async roundtrip, and moves timeout handling to use a "message" event which
works in both in-process and out-of-process modes.
Differential Revision: https://phabricator.services.mozilla.com/D110326
The other navigation that allows focus moves (window.open) already goes
through the popup blocker, so that one is fine.
I think given how weird yet conservative other browsers are, this should
be a good trade-off to avoid false positives.
Differential Revision: https://phabricator.services.mozilla.com/D110196
Previously, a transform with a negative scale would result in a
new coordinate system being created when updating the spatial
tree.
This meant that a primitive in that space with a clip in a parent
space would create a clip mask (and was thus unable to be promoted
to a compositor surface).
This change allows negative scales to be part of the same coord
system (since they are still axis-aligned with the parent) and
avoid a clip mask in this case.
Differential Revision: https://phabricator.services.mozilla.com/D109580
WalkTheStack* is the function that is being called to print stacks to
the user on e.g. MOZ_CRASH on debug builds. Until bug 1699375, some
cases weren't covered, which now cause unwanted side-effects with e.g.
fuzzing. At least as a stop-gap, allow to runtime-disable the behavior
via an environment variable.
Other uses of the stack-walker, like the profiler's, are not affected
when setting the environment variable.
Differential Revision: https://phabricator.services.mozilla.com/D110199