Commit Graph

663219 Commits

Author SHA1 Message Date
Barret Rennie
c32eee8ff0 Bug 1566915 - Do not ref count the CompositionRecorder r=mstange
Now that there is only ever a single handle to the `CompositionRecorder`, it no
longer needs to be ref-counted. And since the `WebRenderCompositionRecorder` is
owned exclusively by the `RenderThread`, it no longer needs a mutex. All the
code that resulted from having handles to the `WebRenderCompositionRecorder` on
two different threads is now no longer necessary.

Differential Revision: https://phabricator.services.mozilla.com/D39791

--HG--
extra : moz-landing-system : lando
2019-07-31 18:28:47 +00:00
Barret Rennie
629a2f0b5d Bug 1566915 - Do not keep a handle to the composition recorder in the CompositorBridgeParent r=mstange
Since we are not writing frames to disk from the `CompositorBridgeParent` in
the WebRender case, we do not actually need a handle to the
`(WebRender)CompositionRecorder` there. Instead, the `HostLayerManager` and
`RenderThread` can maintain exclusive handles to these objects. This will allow
us to use unique pointers for these objects and delete code in a follow up
patch.

Differential Revision: https://phabricator.services.mozilla.com/D39790

--HG--
extra : moz-landing-system : lando
2019-07-31 18:28:38 +00:00
Barret Rennie
4374f75f51 Bug 1566915 - Write collected frames from the composition recorder on the render thread r=kvark
On macOS, if we try to write the collected frames from the
`CompositorBridgeParent` we will not have an active GL context, resulting in a
crash. Writing the frames from the `RenderThread` solves this problem.

Differential Revision: https://phabricator.services.mozilla.com/D39789

--HG--
extra : moz-landing-system : lando
2019-07-31 18:28:34 +00:00
Barret Rennie
0ea4a2cbed Bug 1569258 - Ensure we have a CompositionRecorder before attempting to write frames r=kvark,mstange
Instead of blindly attempting to write frames to disk, we now ensure that the
`CompositionRecorder` exists. In the case where we have not allocated one,
calling `windowUtils.setCompositionRecording(false)` will instead print an
error message to the browser console.

In addition, attempting to call `windowUtils.setCompositionRecording(true)`
while a `CompositionRecorder` exists will also result in an error message.

Differential Revision: https://phabricator.services.mozilla.com/D39584

--HG--
extra : moz-landing-system : lando
2019-07-31 20:21:03 +00:00
Irakli Gozalishvili
7bc070b022 Bug 1271553 - Add known dweb protocols and ext+ to the standard list r=kershaw
Fix for the Bug 1536744 removed abiliti for nsIProtocolHandler to parse URLs of the
custom protocols & broke libdweb. In order to fix followup change for Bug 1559356 introduced a
whitelist for dweb: and dat: protocols to parse those as nsIStandardURLs. This change extends
whitelist with ipfs: ipns: ssb: schemes and ext+ prefix scheme.

This would allow Bug 1271553 to progress until better more general solution can be implemnted.

Differential Revision: https://phabricator.services.mozilla.com/D39463

--HG--
extra : moz-landing-system : lando
2019-07-31 19:52:30 +00:00
Boris Zbarsky
4694cad683 Bug 1570350. Refactor ConstructJSImplementation to make consumers a bit simpler. r=mccr8
We could get rid of the need to specify the impl class at the callsite by
taking a T** instead of returning an already_AddRefed<T>, but I'm not sure
which is uglier...

The change from `globalHolder->GetGlobalJSObject()` to `global.Get()` is OK,
because `globalHolder` was coming from the nsISupports attached to
`global.Get()` anyway, so those are the same global JS object.

Differential Revision: https://phabricator.services.mozilla.com/D40060

--HG--
extra : moz-landing-system : lando
2019-07-31 21:38:00 +00:00
Gurzau Raul
a86cf65c2c Backed out changeset f5f5cbb377ac (bug 1563358) for eslint failure at /marionette/reftest.js on a CLOSED TREE. 2019-08-01 00:23:04 +03:00
Erica Wright
e9fbe40bae Bug 1561336 - Move existing strings to an ftl file. r=fluent-reviewers,mtigley,flod
Differential Revision: https://phabricator.services.mozilla.com/D39028

--HG--
extra : moz-landing-system : lando
2019-07-31 19:24:53 +00:00
Alexandre Poirot
a7fb7812f4 Bug 1567210 - Use Thread actor reference to distinguish the event loops. r=loganfsmyth
Use thread actor reference instead of target's actor URL *and* connection
to distinguish the currently paused event loop from the other ones which
may be on-pause from another thread actor on another connection/tab.
This happens when connecting more than one client against the same tab.

Differential Revision: https://phabricator.services.mozilla.com/D39705

--HG--
extra : moz-landing-system : lando
2019-07-31 15:52:30 +00:00
Alexandre Poirot
82ff0428d0 Bug 1567210 - Ensure resuming page execution when the toolbox closes. r=loganfsmyth
pre and post nest functions are rather something specific to the thread actor
or the event loop classes. The only reason it is today on the target actors
is that the list of targetted windows can be different based on the target.
But we can figure out, from the thread actor's debuggees, the list of these
windows that are inspected by the thread actor.
I think that it is better that was as it better reflect what actual final
globals, the thread actor is interacting with. The previous code could possibly
introduce differences between globals for which we pauses the timeouts and events
versus the globals being inspected by the thread actor.

Differential Revision: https://phabricator.services.mozilla.com/D39186

--HG--
extra : moz-landing-system : lando
2019-07-31 15:55:53 +00:00
Alexandre Poirot
7ad86ca18d Bug 1567210 - Better handle non-javascript exception in thread actor. r=loganfsmyth
Exceptions can be something else than `Error`.
An example could be `Cu.Exception()`, but native code can probably throw
unexpected things. It is also possible to throw any kind of object in JS...

Differential Revision: https://phabricator.services.mozilla.com/D39185

--HG--
extra : moz-landing-system : lando
2019-07-31 15:52:21 +00:00
Andrew Swan
a8770d2f8f Bug 1564077 Fix protection panel height issue r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D40048

--HG--
extra : moz-landing-system : lando
2019-07-31 21:10:36 +00:00
Hiroyuki Ikezoe
2d61e340d1 Bug 1520096 - Enable reftests related to meta viewport tags on WebRender. r=botond
The reason of failures has been solved by bug 1563717.

Differential Revision: https://phabricator.services.mozilla.com/D39637

--HG--
extra : moz-landing-system : lando
2019-07-31 21:00:31 +00:00
James Graham
7334076e31 Bug 1563358 - Report pixel differences as part of message in wpt reftests, r=maja_zf
Instead of reporting the pixel differences in a logger info message,
put it in the text that's returned to the harness. This has a notable
advantage on android where this will cause it to be logged as part of
the harness logs rather than ending up in the logcat from the
device. It also makes these messages more accessible in other
consumers of the logs e.g. wpt.fyi.

Differential Revision: https://phabricator.services.mozilla.com/D40064

--HG--
extra : moz-landing-system : lando
2019-07-31 17:02:36 +00:00
Jared Wein
aba6e8ac10 Bug 1566115 - Apply the sort of login list items by just rearranging the DOM nodes as needed. r=Gijs,MattN
Differential Revision: https://phabricator.services.mozilla.com/D39123

--HG--
extra : moz-landing-system : lando
2019-07-31 20:49:44 +00:00
Jared Wein
0ab8a0d8fa Bug 1566115 - Only add/remove login-list-items when they are removed from the internal list, and update the remaining ones instead of clearing the whole list and rebuilding it on each render. r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D39122

--HG--
extra : moz-landing-system : lando
2019-07-31 20:49:45 +00:00
Jared Wein
716f2f3fb3 Bug 1566115 - Store references to the logins in a map keyed on their GUID and a separate sorted array of GUIDs. r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D39385

--HG--
extra : moz-landing-system : lando
2019-07-31 20:49:38 +00:00
Nick Thomas
8b16772af0 Bug 1567235 - notarize 5 partner & eme-free builds per task instead of individually, r=aki
Differential Revision: https://phabricator.services.mozilla.com/D39482

--HG--
extra : moz-landing-system : lando
2019-07-31 20:39:49 +00:00
Johann Hofmann
25bbe02e77 Bug 1561384 - Extend expiration of COOKIE_BEHAVIOR histogram to never. r=chutten
This was already approved in the original data review, see https://bug1484251.bmoattachments.org/attachment.cgi?id=9012124 and https://bugzilla.mozilla.org/show_bug.cgi?id=1484251#c10, but I forgot to make it permanent.

Differential Revision: https://phabricator.services.mozilla.com/D39355

--HG--
extra : moz-landing-system : lando
2019-07-31 20:34:03 +00:00
Matthew Gaudet
e576d2fe8d Bug 1567579 - Use a FunctionBoxVector type to clarify code r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D40098

--HG--
extra : moz-landing-system : lando
2019-07-31 20:09:19 +00:00
Gurzau Raul
bcc3fa9613 Backed out 15 changesets (bug 1014393) for build bustage at TestMuxer.cpp on a CLOSED TREE.
Backed out changeset e6d834f3786e (bug 1014393)
Backed out changeset 2d880ea6e67c (bug 1014393)
Backed out changeset 9a087b7459cc (bug 1014393)
Backed out changeset 0dd76879ff03 (bug 1014393)
Backed out changeset b88188e0d590 (bug 1014393)
Backed out changeset 24f244ea8fff (bug 1014393)
Backed out changeset 0e85d193f8ff (bug 1014393)
Backed out changeset 12f932aeb3e9 (bug 1014393)
Backed out changeset 8bcbc931942b (bug 1014393)
Backed out changeset a16bcc633362 (bug 1014393)
Backed out changeset bf46f2a2e519 (bug 1014393)
Backed out changeset aa508d83a2c3 (bug 1014393)
Backed out changeset 085fb3e97aaa (bug 1014393)
Backed out changeset e872361b9f3b (bug 1014393)
Backed out changeset b4fb228c8624 (bug 1014393)

--HG--
rename : dom/media/encoder/EncodedFrame.h => dom/media/encoder/EncodedFrameContainer.h
2019-07-31 23:28:47 +03:00
Matt Woodrow
8a6d6da9ef Bug 1569974 - Don't try to deference an empty Maybe when starting CrossProcessPaint with a rect. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D39964

--HG--
extra : moz-landing-system : lando
2019-07-31 19:01:05 +00:00
Robert Strong
41519774d1 Bug 1570021 - Fix intermittent browser_elevationDialog.js by reloading the Update Manager data at the start of the test. r=bytesized
Differential Revision: https://phabricator.services.mozilla.com/D39915

--HG--
extra : moz-landing-system : lando
2019-07-31 16:19:01 +00:00
Robert Strong
613550c9a5 Bug 1567077 - don't try to update when the update.status file is read only. r=bytesized
When checking for an update during startup, open the update.status file with read and write access so repeated update attempts are prevented when there is only read access to the update.status file.
When loading the active-update.xml file after startup, open it with both read and write access so the active-update.xml isn't loaded when there is only read access and the client will still receive manual update notifications.
On Windows, when opening the active-update.xml file with both read and write access fails attempt to fix the update directory permissions.
When checking if it is possible to apply updates, first check for write access to the update directory so OS X no longer always returns true and Windows no longer always returns true when the maintenance service can be used.
Sets security.turn_off_all_security_so_that_viruses_can_take_over_this_computer to true in the app update xpcshell tests so Cu.isInAutomation is true when running the tests.

Differential Revision: https://phabricator.services.mozilla.com/D39601

--HG--
rename : toolkit/mozapps/update/tests/unit_base_updater/marAppApplyUpdateSuccess.js => toolkit/mozapps/update/tests/unit_base_updater/marAppApplyUpdateSkippedWriteAccess_win.js
extra : moz-landing-system : lando
2019-07-31 16:15:27 +00:00
Dan Minor
97c5db53eb Bug 1561923 - Remove expired WebRTC telemetry; r=drno,bwc
Differential Revision: https://phabricator.services.mozilla.com/D37757

--HG--
extra : moz-landing-system : lando
2019-07-31 19:57:55 +00:00
Matthew Gaudet
f94b0ec315 Bug 1569315 - Create FunctionFlags class to allow recycling function flag queries elsewhere r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D39773

--HG--
extra : moz-landing-system : lando
2019-07-31 19:30:27 +00:00
Matthew Gaudet
026ae43909 Bug 1569315 - Sink prototype fetching into AllocNewFunction r=tcampbell
GetFunctionPrototype already returns null for 'normal' functions. Eventually
the real %FunctionPrototype% is provided based on the class proto key.

Differential Revision: https://phabricator.services.mozilla.com/D39770

--HG--
extra : moz-landing-system : lando
2019-07-31 19:30:27 +00:00
Matthew Gaudet
bfc4e3b9b5 Bug 1567579 - Store inner FunctionBoxes instead of inner functions r=tcampbell
This is a good preparation fo deferred function allocation (Bug 1569315),
but also removes some awkward rooting / type issues in deferred lazyscript
allocation

Differential Revision: https://phabricator.services.mozilla.com/D39745

--HG--
extra : moz-landing-system : lando
2019-07-31 19:27:57 +00:00
Matthew Gaudet
1d698eb2f7 Bug 1567579 - Set the toStringEnd on the lazyScript directly during construction. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D39681

--HG--
extra : moz-landing-system : lando
2019-07-31 19:31:40 +00:00
Andrei Oprea
061101f9e1 Bug 1561547 - Use Messaging System to badge the FxA accounts toolbar button r=r1cky
Differential Revision: https://phabricator.services.mozilla.com/D37879

--HG--
extra : moz-landing-system : lando
2019-07-31 19:39:34 +00:00
Andreas Pehrson
e69b4c4e72 Bug 1499572 - Use default keyframe interval when no timeslice (aka 0) was passed. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D40043

--HG--
extra : moz-landing-system : lando
2019-07-31 15:37:27 +00:00
Andreas Pehrson
0123e701dd Bug 1014393 - Use undef-after-def pattern in MediaRecorder and related files. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D37700

--HG--
extra : moz-landing-system : lando
2019-07-31 11:30:26 +00:00
Andreas Pehrson
b6a479c75e Bug 1014393 - Minor mochitest fixes. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D35311

--HG--
extra : moz-landing-system : lando
2019-07-31 11:30:11 +00:00
Andreas Pehrson
b8ebc73ff9 Bug 1014393 - Add Blob::CreateEmptyBlob. r=baku
I needed empty blobs in MediaRecorder and seeing that there was no
Blob::CreateEmptyBlob, nor an export of EmptyBlobImpl, I thought
Blob::CreateEmptyBlob would be the cleaner solution, so here it is.

Differential Revision: https://phabricator.services.mozilla.com/D35310

--HG--
extra : moz-landing-system : lando
2019-07-31 11:30:08 +00:00
Andreas Pehrson
da4fea8db5 Bug 1014393 - Unify MediaRecorder session shutdown paths and fix event timing when stopping per spec. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D17814

--HG--
extra : moz-landing-system : lando
2019-07-31 11:30:01 +00:00
Andreas Pehrson
b0373ad9e6 Bug 1014393 - Remove MediaRecorder::GetParentObject. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D35308

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:54 +00:00
Andreas Pehrson
e8685eab05 Bug 1014393 - Remove MediaRecorder::Session::PushBlobRunnable. r=bryce
This moves the impl of PushBlobRunnable from a runnable to MozPromise, which
let's us more easily modularize it's parts (gather the blob, fire dataavailable)
to make individual code paths more explicit.

Differential Revision: https://phabricator.services.mozilla.com/D17813

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:47 +00:00
Andreas Pehrson
e22277134b Bug 1014393 - Add gtests for the standalone muxer. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D35307

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:37 +00:00
Andreas Pehrson
de0e63f0ea Bug 1014393 - Break out muxing and queueing of track data from MediaEncoder to new Muxer class. r=bryce
This first of all does some refactoring of how metadata is encoded in
MediaEncoder. This is now guided by the new Muxer class. If we're ready to pass
data to the muxer and it does not have metadata yet, we provide metadata before
giving it any media data. This metadata is passed to the muxer in a single call.
The metadata provided in this call must stay valid for the entire recording.
This removes MediaEncoder::GetEncodedMetadata().

This also removes the ctor argument from the WebMWriter since it can now rely on
the single SetMetadata() instead.
To comply with the ContainerWriter::SetMetadata() docs,
WebMWriter::SetMetadata() will now also sanity check metadata.

ContainerWriter instances are updated somewhat, to accommodate these changes.

Lastly, and most important, the new Muxer class manages muxing of the (up to)
two tracks into a single container, ensuring that timestamps increase
monotonically throughout a recording.

Differential Revision: https://phabricator.services.mozilla.com/D35306

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:34 +00:00
Bryce Van Dyk
152dffdfc5 Bug 1014393 - Move AudioGenerator to its own files so it can be used in more media gtests. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D35389

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:24 +00:00
Bryce Van Dyk
3218ee4ded Bug 1014393 - MediaEncoder better orders frames passed to the muxer. r=pehrsons
Update MediaEncoder to pass frames to the muxer in order of their time stamps.
This should prevent the currently possible scenario where audio and video
frames are written with non-monotonically increasing timestamps (in violation
of the webm spec).

Differential Revision: https://phabricator.services.mozilla.com/D35388

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:22 +00:00
Bryce Van Dyk
3ffe22391b Bug 1014393 - Use MediaQueue to store frames pending write to muxer in MediaEncoder. r=pehrsons
MediaQueue provides a better interface for interleaving frames when writing to
the muxer (this change will follow in another changeset). The queue interface
provides a nicer abstraction than manually managing a nsTArray.

Differential Revision: https://phabricator.services.mozilla.com/D35387

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:15 +00:00
Bryce Van Dyk
472dabf14c Bug 1014393 - Update EncodedFrame class to more closely resemble MediaData class. r=pehrsons
This changes EncodedFrame to behave more like MediaData, so that EncodedFrame
can be used with the MediaQueue data structure. It also provides a somewhat
more consistent interface across media data types.

Differential Revision: https://phabricator.services.mozilla.com/D35386

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:07 +00:00
Bryce Van Dyk
7ad3574edc Bug 1014393 - Shift responsibility of adjusting packets with opus codec delay to MediaEncoder. r=pehrsons
Move the responsibility of adjusting opus frame timestamps to the MediaEncoder.
This was previously done by the EbmlComposer, but doing so in the MediaEncoder
means we can have greater control over handling of time codes and interleaving
of frames.

Differential Revision: https://phabricator.services.mozilla.com/D35385

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:00 +00:00
Bryce Van Dyk
22b3ebdfe5 Bug 1014393 - Remove EncodedFrameContainer. r=pehrsons
Remove EncodedFrameContainer and clean up areas where it was used.
EncodedFrameContainer provided a wrapper around an
nsTArray<RefPtr<EncodedFrame>>, but it simplifies the code to simply expose
this array. Also clean up unused enums in EncodedFrame, and clean up some of
the outdated comments for our encoded frame handling.

Differential Revision: https://phabricator.services.mozilla.com/D35384

--HG--
rename : dom/media/encoder/EncodedFrameContainer.h => dom/media/encoder/EncodedFrame.h
extra : moz-landing-system : lando
2019-07-31 11:28:53 +00:00
Bryce Van Dyk
9eba1b4c92 Bug 1014393 - Separate MediaEncoders encode and mux steps. r=pehrsons
Separating the encode and mux steps allows for better control over interleaving
audio and video data. If encode and mux are done in a single step it's possible
to mux large amounts of audio or video data which should have been interleaved
with the other data type to give correctly ordered time stamps in the target
container.

Differential Revision: https://phabricator.services.mozilla.com/D35383

--HG--
extra : moz-landing-system : lando
2019-07-31 11:28:46 +00:00
Tim Huang
6125b93a6e Bug 1555231 - Part 5: Update the test browser_protections_UI.js. r=nhnt11
Differential Revision: https://phabricator.services.mozilla.com/D39696

--HG--
extra : moz-landing-system : lando
2019-07-31 15:27:56 +00:00
Tim Huang
d61b2affbb Bug 1555231 - Part 4: Implement the number of blocked tracker in the footer section. r=nhnt11
This patch replaces the fake tracker numbers with the real data from the
TrackingDBService. We will pre-fetch the counter while hovering on the
shield icon in order to avoid a flicker on updating the counter. And we
make the tracker counter be hidden by default, then display it when
there is at least one record. We also add a css transition for
avoiding the flicker.

In addition, we rename some member variable in gProtectionsHandler.

Differential Revision: https://phabricator.services.mozilla.com/D39695

--HG--
extra : moz-landing-system : lando
2019-07-31 15:27:34 +00:00
Tim Huang
a8b409f68e Bug 1555231 - Part 3: Add the tooltip for showing the earliest record of the blocked tracker. r=nhnt11
This patch implements the tooltip for showing the earliest date of the
block tracker record. The tooltip will be set during the initiation
gProtectionHandler module. And it will be updated if history has been
cleared. If there is no record, we won't do anyhting since the tracker
counter will be hidden entirely.

We also add an event handler for the hovar and focus state on the shield
icon in order to pre-fetch the data from tracking database. And we will
update the date here in case that there is no record during initition
but a new record comes later. The focus event is for the keyboard
navigation feature.

Differential Revision: https://phabricator.services.mozilla.com/D39694

--HG--
extra : moz-landing-system : lando
2019-07-31 15:27:12 +00:00
Tim Huang
e9f6c8adee Bug 1555231 - Part 2: Add strings for protections panel footer section. r=nhnt11,flod
This patch adds two strings, one for the blocked tracker counter and
another for the tooltip.

Differential Revision: https://phabricator.services.mozilla.com/D39693

--HG--
extra : moz-landing-system : lando
2019-07-31 15:26:43 +00:00