Add a wpt ensuring the VideoColorSpace can be constructed from all kinds
of VideoColorSpaceInit values. The new wpt is modified from an existing
mochitest and it will replace the old mochitest.
Differential Revision: https://phabricator.services.mozilla.com/D162525
When constructing a VideoFrame from the buffer data, the given
VideoColorPrimaries passed through VideoFrame's Constructor should be
set to PlanarYCbCrData's mColorPrimaries.
Depends on D161225
Differential Revision: https://phabricator.services.mozilla.com/D161226
This allows failing early for reftests that would otherwise timeout waiting
for a screenshot. It assumes that replacing the body with an error message
and taking a screenshot will never match the reference.
Differential Revision: https://phabricator.services.mozilla.com/D162553
Currently we use a `static volatile int` as a monotonically
incrementing counter from which we calculate handles for
GeckoSurfaceTextures. During a previous patch, the code which reads
and increments this counter was moved out of a synchronized block,
meaning it can potentially race. We are now seeing crashes due to
attempting to allocate different GeckoSurfaceTextures with the same
handle, and this could be the cause.
To fix this, we replace the counter with an AtomicInt, which has an
atomic getAndIncrement() function.
Differential Revision: https://phabricator.services.mozilla.com/D162556
- Remove nsDragService::CreateURIList() and replace it by nsDragService::SourceDataGetUriList().
It reads all items from nsITransferable and put them to uri list.
If data drop is performed to another application which doesn't have access to internal data storages (mailbox:// for instance),
request download and save referenced items to /tmp directory.
- Implement SourceDataAppendURLItem() which read one item from nsITransferable and append it to uri list.
Download and store internal files in /tmp directory.
- Make CreateTempFile() to block native events processing. nsIOutputStream/nsIInputStream read and write operations run
event loop and can abort D&D operation before we write all data to /tmp. Use nsAppShell to block native event processing
during read/write to prevent it.
Differential Revision: https://phabricator.services.mozilla.com/D162473
So that APZ can wait to handle the event to do overscrolling until the browser
responds that the event wasn't used for gestures.
Differential Revision: https://phabricator.services.mozilla.com/D160438
And rename mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection to
mMayTriggerSwipe.
So basically once after the flag is set, we should use it.
Differential Revision: https://phabricator.services.mozilla.com/D160436
And initialized it only in ctors so that in the next change we can use it to
tell whether this pan event may trigger swipe or not without calling
SwipeTracker::CanTriggerSwipe every time.
There's an unintuitive change in a GTest sending a horizontal pan-start event.
With this changeset, all incomming pan-start events on desktop platforms
basically set mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection
to true even if the event is generated in GTests. So the pan start event runs
into the short circuit path for swipe-to-navigation. This is a good thing because
it means the GTest replicates what our browser does properly.
Differential Revision: https://phabricator.services.mozilla.com/D160435
There's a bug (bug 1800022) that wheel event listeners in the browser process
badly interact with overscroll even so we'd avoid the bug here.
Differential Revision: https://phabricator.services.mozilla.com/D161752
Otherwise prefs set in the previous test case will persist. In fact
some of test cases were lacking "browser.swipe.navigation-icon-move-distance".
Differential Revision: https://phabricator.services.mozilla.com/D161751