Commit Graph

679350 Commits

Author SHA1 Message Date
Csoregi Natalia
6ba30843e8 Backed out 15 changesets (bug 1500049, bug 1172394, bug 1546756, bug 1302379) for failures on browser_disabledForMediaStreamVideos.js. CLOSED TREE
Backed out changeset 355f090421a6 (bug 1500049)
Backed out changeset 306341d0b586 (bug 1302379)
Backed out changeset 3ff0d72d23a2 (bug 1546756)
Backed out changeset a4f256e68cef (bug 1172394)
Backed out changeset d0aa43657e8c (bug 1172394)
Backed out changeset edff95b6f724 (bug 1172394)
Backed out changeset 94bd21d9b396 (bug 1172394)
Backed out changeset 7e7baa73e1ef (bug 1172394)
Backed out changeset c3bd415507e8 (bug 1172394)
Backed out changeset 1c45b135318d (bug 1172394)
Backed out changeset c57c41e8c39e (bug 1172394)
Backed out changeset a796541fe5ef (bug 1172394)
Backed out changeset 89ad0b553b0f (bug 1172394)
Backed out changeset 744fb77a5833 (bug 1172394)
Backed out changeset afb4b226ff04 (bug 1172394)
2019-11-14 00:32:51 +02:00
Csoregi Natalia
6db46a2b36 Backed out 4 changesets (bug 1588142) for failures on browser_canvasframe_helper_02.js. CLOSED TREE
Backed out changeset 2284a535c8bc (bug 1588142)
Backed out changeset 939b6b3922c2 (bug 1588142)
Backed out changeset 1a5f2b044f82 (bug 1588142)
Backed out changeset 87336cc7f8a1 (bug 1588142)
2019-11-14 00:18:21 +02:00
Tim Nguyen
2bba3053b9 Bug 1596176 - Add missing linux and windows rule for badge positioning. r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D52890

--HG--
extra : moz-landing-system : lando
2019-11-13 20:11:07 +00:00
J.C. Jones
121d80b553 Bug 1592007 - land NSS 87f35ba4c82f UPGRADE_NSS_RELEASE, r=keeler
2019-11-13  J.C. Jones  <jjones@mozilla.com>

	* lib/softoken/pkcs11c.c:
	Bug 1591363 - Fixup double-free of params in nsc_SetupPBEKeyGen
	r=keeler

	Caused in commit 7ef8d2604494.

	[87f35ba4c82f] [tip]

2019-11-07  Makoto Kato  <m_kato@ga2.so-net.ne.jp>

	* lib/freebl/ctr.c:
	Bug 1592869 - Use NEON for ctr_xor. r=kjacobs

	Using NEON for ctr_xor, aes_ctr can improve 30%-40%i decode/encode
	time on Cortex-A72.

	[d244c7287908]

2019-11-12  Marcus Burghardt  <mburghardt@mozilla.com>

	* gtests/pk11_gtest/pk11_pbkdf2_unittest.cc, lib/pk11wrap/pk11pbe.c,
	lib/pk11wrap/pk11skey.c, lib/softoken/pkcs11c.c:
	Bug 1591363 - PBKDF2 memory leaks in NSC_GenerateKey. r=jcj

	A memory leak was reported and confirmed in this bug. However,
	during the "manual" analysis of the flow, another possible leak was
	found. I created a patch for both leaks, added gtests for unexpected
	keySizes and adjusted the general syntax of the gtest file.

	[7ef8d2604494]

2019-11-11  Tom Prince  <mozilla@hocat.ca>

	* automation/taskcluster/graph/src/extend.js,
	automation/taskcluster/windows/setup.sh:
	Bug 1594891 - Use tc-proxy for nss tooltool; r=dustin,jcj

	[c33b214b2ec8]

2019-11-08  Daiki Ueno  <dueno@redhat.com>

	* gtests/ssl_gtest/ssl_dhe_unittest.cc,
	gtests/ssl_gtest/ssl_ecdh_unittest.cc,
	gtests/ssl_gtest/tls_connect.h, lib/ssl/ssl3con.c:
	Bug 1566131, check policy against hash algorithms used for
	ServerKeyExchange, r=mt

	Summary: This adds necessary policy checks in
	`ssl3_ComputeCommonKeyHash()`, right before calculating hashes. Note
	that it currently doesn't check MD5 as it still needs to be allowed
	in TLS 1.1 or earlier and many tests fail if we change that.

	Reviewers: mt

	Reviewed By: mt

	Bug #: 1566131

	[c08947c6af57]

2019-11-08  Kai Engert  <kaie@kuix.de>

	* coreconf/coreconf.dep:
	Dummy change, trigger a build to test latest NSPR commits.
	[e766899c72a5]

	* automation/taskcluster/graph/src/extend.js:
	Bug 1579836 - Execute NSPR tests as part of NSS continuous
	integration. r=jcj
	[46bfbabf7e75]

2019-11-08  Dustin J. Mitchell  <dustin@mozilla.com>

	* automation/taskcluster/graph/npm-shrinkwrap.json,
	automation/taskcluster/graph/package.json,
	automation/taskcluster/graph/src/image_builder.js,
	automation/taskcluster/graph/src/queue.js,
	automation/taskcluster/scripts/tools.sh,
	automation/taskcluster/windows/gen_certs.sh,
	automation/taskcluster/windows/run_tests.sh:
	Bug 1594891 - Updates to run correctly on the new TC deployment
	r=jcj

	* Update the Taskcluster client used in the decision task to one
	that understands Taskcluster rootUrls.
	* Update scripts that fetch content to use the TASKCLUSTER_ROOT_URL
	  * the absence of this variale signals an "old" worker so we use an
	"old" URL

	[67d630e7cb7c]

2019-11-07  Tom Prince  <mozilla@hocat.ca>

	* .taskcluster.yml, automation/taskcluster/graph/src/extend.js,
	automation/taskcluster/graph/src/queue.js:
	Bug 1591275: Switch workers to use AWS Provder; r=kjacobs

	[a2bebaad41dd]

2019-11-06  Daiki Ueno  <dueno@redhat.com>

	* gtests/pk11_gtest/pk11_module_unittest.cc:
	Bug 1577803, clang-format, a=bustage
	[c9014b2892d5]

	* gtests/pk11_gtest/pk11_module_unittest.cc,
	gtests/pkcs11testmodule/pkcs11testmodule.cpp,
	lib/pk11wrap/debug_module.c, lib/pk11wrap/pk11obj.c,
	lib/pk11wrap/pk11slot.c, lib/pk11wrap/secmodti.h,
	lib/util/pkcs11t.h:
	Bug 1577803, pk11wrap: set friendly flag if token implements
	CKP_PUBLIC_CERTIFICATES_TOKEN, r=rrelyea

	Summary: This makes NSS look for CKO_PROFILE object at token
	initialization time to check if it implements the [[ https://docs
	.oasis-open.org/pkcs11/pkcs11-profiles/v3.0/pkcs11-profiles-v3.0.pdf
	| Public Certificates Token profile ]] as defined in PKCS #11 v3.0.
	If it is found, the token is automatically marked as friendly so no
	authentication attempts will be made when accessing certificates.

	Reviewers: rrelyea

	Reviewed By: rrelyea

	Subscribers: reviewbot

	Bug #: 1577803

	[b39c8eeabe6a]

2019-11-06  Martin Thomson  <mt@lowentropy.net>

	* lib/freebl/blinit.c, lib/freebl/gcm-ppc.c:
	Bug 1566126 - clang-format, a=bustage
	[6125200fbc88]

2019-11-06  Lauri Kasanen  <cand@gmx.com>

	* lib/freebl/Makefile, lib/freebl/altivec-types.h,
	lib/freebl/blapii.h, lib/freebl/blinit.c, lib/freebl/freebl.gyp,
	lib/freebl/gcm-ppc.c, lib/freebl/gcm.c, lib/freebl/gcm.h:
	Bug 1566126 - freebl: POWER GHASH Vector Acceleration, r=mt

	Implementation for POWER8 adapted from the ARM paper:
	https://conradoplg.cryptoland.net/files/2010/12/gcm14.pdf

	Benchmark of `bltest -E -m aes_gcm -i tests/aes_gcm/plaintext10 \
	-v tests/aes_gcm/iv10 -k tests/aes_gcm/key10 -5 10` on POWER8 3.3GHz.

	NSS_DISABLE_HW_CRYPTO=1 mode in symmkey opreps cxreps context op
	time(sec) thrgput aes_gcm_e 309Mb 192 5M 0 0.000 10000.000 10.001
	30Mb

	 mode in symmkey opreps cxreps context op time(sec) thrgput
	aes_gcm_e 829Mb 192 14M 0 0.000 10000.000 10.001 82Mb

	Notable operf results, sw: samples % image name symbol name 226033
	59.3991 libfreeblpriv3.so bmul 80606 21.1824 libfreeblpriv3.so
	rijndael_encryptBlock128 28851 7.5817 libfreeblpriv3.so
	gcm_HashMult_sftw

	hw: 213899 56.2037 libfreeblpriv3.so rijndael_encryptBlock128 45233
	11.8853 libfreeblpriv3.so gcm_HashMult_hw

	So the ghash part is ~5.6x faster.

	Signed-off-by: Lauri Kasanen <cand@gmx.com>
	[3d7e509d6d20]

2019-11-05  Marcus Burghardt  <mburghardt@mozilla.com>

	* lib/certdb/certdb.c, lib/util/secport.h:
	Bug 1589073 - Use of new PR_ASSERT_ARG in certdb.c. r=mt

	Bug 1588015 introduced in NSPR a new way to ASSERT values where the
	arguments are always used avoiding "unused variable" errors. This
	was implemented in NSS, at certdb.c.

	[73c28cad3dbb]

2019-11-05  Daiki Ueno  <dueno@redhat.com>

	* cpputil/nss_scoped_ptrs.h, gtests/manifest.mn,
	gtests/pk11_gtest/manifest.mn, gtests/pk11_gtest/pk11_gtest.gyp,
	gtests/pk11_gtest/pk11_module_unittest.cc,
	gtests/pkcs11testmodule/Makefile, gtests/pkcs11testmodule/config.mk,
	gtests/pkcs11testmodule/manifest.mn,
	gtests/pkcs11testmodule/pkcs11testmodule.cpp,
	gtests/pkcs11testmodule/pkcs11testmodule.def,
	gtests/pkcs11testmodule/pkcs11testmodule.gyp,
	gtests/pkcs11testmodule/pkcs11testmodule.rc, nss.gyp:
	Bug 1577803, gtests: import pkcs11testmodule from Firefox, r=rrelyea

	Summary: This adds a mock PKCS #11 module from Firefox and add basic
	tests around it. This is needed for proper testing of PKCS #11 v3.0
	profile objects (D45669).

	Reviewers: rrelyea

	Reviewed By: rrelyea

	Subscribers: reviewbot

	Bug #: 1577803

	[0a86945adf74]

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

--HG--
extra : moz-landing-system : lando
2019-11-13 19:44:56 +00:00
Edwin Takahashi
c43a1bb5e8 Bug 1595220 - streamline and sanitize output of distro/platform linux_distribution call in mozinfo r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D52440

--HG--
extra : moz-landing-system : lando
2019-11-13 19:42:41 +00:00
Drew Willcoxon
28e518c9d3 Bug 1595985 - Add browser.urlbar.closeView webextension API. r=mak,mixedpuppy
This is based on D52612

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

--HG--
extra : moz-landing-system : lando
2019-11-13 17:59:08 +00:00
Geoff Brown
8c26b2ef56 Bug 1594735 - Upgrade android emulator used for x86_64 xpcshell tests; r=aerickson
Upgrade the emulator used by xpcshell tests to 29.2.1, the same version used
by all other android tests.
We have delayed this upgrade because of intermittent failures seen on the new
emulator not seen previously - bug 1568063. After the packet.net upgrade to
Ubuntu 18.04, try runs with the new emulator show that bug 1568063 persists
but has less impact than the intermittent failures it resolves: More tests
pass consistently with the new emulator than with the old.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 17:46:02 +00:00
Markus Stange
4c5a3f3272 Bug 1594950 - Remove unused SurfaceRegistry API. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D51758

--HG--
extra : moz-landing-system : lando
2019-11-13 18:33:24 +00:00
Markus Stange
ba013d0f42 Bug 1594950 - Change NextSurface APIs to accept a dirty region, and remove the public method InvalidateRegionThroughoutSwapchain. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50878

--HG--
extra : moz-landing-system : lando
2019-11-13 18:55:18 +00:00
Markus Stange
04f678adc4 Bug 1594950 - Track the nsChildView invalid region inside nsChildView, rather than on the layer. r=jrmuizel
This allows us to move the call to InvalidateRegionThroughoutSwapchain to just before the call to
NextSurface, which makes it easier to merge the two calls.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 18:33:20 +00:00
Markus Stange
80c235777f Bug 1594950 - Bake the layer size and its opaqueness into the layer, don't allow mutating it. r=jrmuizel
These settings are now supplied during layer creation and never change.
Consumers must now create new NativeLayer objects if they want to change size or toggle opaqueness.
This aligns the NativeLayer API with DirectComposition's capabilities. It also simplifies swap chain
management.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 18:46:02 +00:00
Dana Keeler
a841102f18 bug 1412438 - add preference to disable HPKP by default r=jcj
As Chrome has removed support for the HPKP (HTTP Public Key Pinning) header,
continuing to support it in Firefox is a compatibility risk. This patch adds
the preference "security.cert_pinning.hpkp.enabled" and sets it to false by
default. As such, the platform will no longer process the HPKP header nor
consult any cached HPKP information for certificate pins.
Preloaded (statically-compiled) pins are still enabled in Firefox by default.
This patch also disables dynamically setting pins via our remote security
settings infrastructure, as it uses the same backend and represents similar
compatibility risk.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 18:35:35 +00:00
Emilio Cobos Álvarez
ad56e58826 Bug 1595212 - Use MaybeUninit in nsString tests. r=SimonSapin
Differential Revision: https://phabricator.services.mozilla.com/D52824

--HG--
extra : moz-landing-system : lando
2019-11-13 12:39:23 +00:00
Emilio Cobos Álvarez
2c2c3c23dd Bug 1595285 - Fix TestUtils.waitForCondition to not use setInterval. r=mak
The test that is timing out with these patches does something relatively simple:

  await TestUtils.waitForCondition(async function() {
    let color = await ContentTask.spawn(browserWindow, async function() {
      /* Do stuff... */
    });
    return color == something;
  });

  await closeWindow(browserWindow);

Turns out that this can intermittently leak the window due to waitForCondition
using setInterval. setInterval can schedule multiple tasks while awaiting for
the inner ContentTask.

What this means, is that we may still have a ContentTask awaiting us when we get
to close the window. Closing the window makes the ContentTask not finish, and
thus we leak a promise keeping alive the window in gPromises:

  https://searchfox.org/mozilla-central/rev/6566d92dd46417a2f57e75c515135ebe84c9cef5/testing/mochitest/BrowserTestUtils/ContentTask.jsm#24

Which means that we keep alive the window all the way until shutdown.

Fix it by ensuring that we only run one task at a time.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 18:24:02 +00:00
Kirk Steuber
b77ab540b1 Bug 1588142 - Prevent internal pages from flashing the URL on reload r=Gijs
Converting about:preferences's root from a xul:window to an html:html involves moving the Fluent-translated title attribute to a title tag, which starts empty and is populated by Fluent. The initially-empty title tag causes the title bar to flash "about:preferences" on reload.

This patch ignores empty title updates via DOMTitleChanged events to prevent this. This is only done for internal pages (i.e. pages with a system principal).

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

--HG--
extra : moz-landing-system : lando
2019-11-12 18:01:01 +00:00
Kirk Steuber
9af965c669 Bug 1588142 - Test fixes r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D51714

--HG--
extra : moz-landing-system : lando
2019-11-12 18:00:28 +00:00
Kirk Steuber
f28fdd0bc0 Bug 1588142 - Move Fluent about:preferences title attribute to a title tag r=fluent-reviewers,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D51713

--HG--
extra : moz-landing-system : lando
2019-11-12 18:00:05 +00:00
Kirk Steuber
66fd9b08ff Bug 1588142 - about:preferences - migrate the root xul:window element to an html:html element r=Gijs,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D51712

--HG--
extra : moz-landing-system : lando
2019-11-13 17:46:30 +00:00
Christoph Kerschbaumer
515d2c1cdb Bug 1595762: Make type object loads subject to CSP frame ancestors. r=jkt,annevk
Differential Revision: https://phabricator.services.mozilla.com/D52806

--HG--
extra : moz-landing-system : lando
2019-11-13 14:52:55 +00:00
James Willcox
0eaca3ad9b Bug 1595145 - Allow GeckoInputStream#read() to timeout. r=geckoview-reviewers,agi,esawin
Differential Revision: https://phabricator.services.mozilla.com/D52382

--HG--
extra : moz-landing-system : lando
2019-11-13 15:38:51 +00:00
James Willcox
baca91376b Bug 1595144 - Throw IOException when trying to read a closed GeckoInputStream r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D52381

--HG--
extra : moz-landing-system : lando
2019-11-13 15:38:38 +00:00
Greg Tatum
44d9c9a431 Bug 1582741 - Add values to the native allocation payload; r=gerald
This commit adds the memory address of the allocation and the thread id
of the allocation to the payload. These both are required for properly
processing the balanced allocations on the front-end. All of the native
allocation payloads are now stored on the main thread, and so are
disassociated from the thread where they were generated.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 16:19:16 +00:00
Greg Tatum
9edf1442b6 Bug 1592625 - All threads' allocation markers get stored on the main thread; r=gerald
This change makes it so that all allocations (from any thread in a
process) are stored on the main thread in the profile. This way it's
easy to balance allocations with frees. Memory happens more in a
per-process model, than a per-thread model. The front-end can then
process the information and display it in more interesting ways.

Before allocations and deallocations were only stored on the
thread where they were being generated. It was easy to miss
deallocations with the old model.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 16:19:11 +00:00
Greg Tatum
ca92c2e288 Bug 1582741 - Create a test for balanced native allocation; r=canaltinova
This file adds coverage for the balanced native allocations feature from the
previous commit. It asserts that a de-allocation will have a matching allocation.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 16:19:07 +00:00
Greg Tatum
6d997950d6 Bug 1582741 - Balance the frees to the allocations in native allocation tracking; r=njn,gerald
This patch creates a HashSet that tracks the allocations that are tracked by the profiler.
This way, we only collect markers for deallocations that have a matching allocation. A
following commit makes it so that all of the markers are collected on the main thread, but
for now this is still done on a per-thread basis.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 16:17:38 +00:00
Greg Tatum
2e113971f3 Bug 1582741 - Rewrite native allocations test as an xpcshell test; r=canaltinova
The bloat log was not compatible with the native allocations, and is always on
for debug builds of mochitests. We had no native allocation coverage on debug
builds because of it.

This commit rewrites the test as an xpcshell test which is both faster and simpler.
I don't think we need the added complexity of running the test in the full browser
environment. An xpcshell test fully excercises the code in a simpler fashion.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 16:17:21 +00:00
Greg Tatum
e4d043f0aa Bug 1593318 - De-duplicate head.js files in profiler tests; r=canaltinova
The tests for xpcshell and mochitests were pretty similar, and need to
do similar things. This commit creates a shread-head.js file where those
functions can be shared. This patch also renames a few shared functions
to give them more clarity in their current usage.

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

--HG--
rename : tools/profiler/tests/xpcshell/head_profiler.js => tools/profiler/tests/xpcshell/head.js
extra : moz-landing-system : lando
2019-11-13 16:17:06 +00:00
Andreas Pehrson
4c3bf72271 Bug 1500049 - Wait for MediaCacheStreams to close properly before finishing MediaDecoder shutdown. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D52052

--HG--
extra : moz-landing-system : lando
2019-11-13 08:58:34 +00:00
Andreas Pehrson
b59f1080f0 Bug 1302379 - Remove FinishedOnInactive hack from DOMMediaStream. r=jib
It is no longer needed with captured tracks' lifetimes spanning across seek
operations.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 08:58:32 +00:00
Andreas Pehrson
fad6dff679 Bug 1546756 - Update WPT expectations following bug 1172394. r=padenot
mediaElementAudioSourceToScriptProcessorTest creates an AudioContext at sample
rate 44100, but that might not be the default cubeb rate on some platforms. If
it isn't, we end up with two MediaTrackGraphs for the same window, with one
being fed by the media element, and the other running the script processor node.
It's when this happens that we only get 0 on the output. We force the preferred
cubeb rate to 44100 for this test, so we at least keep the test coverage of the
media element source node.

This became permafail with bug 1172394, whereas before it was intermittent.
Unclear why.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 08:58:30 +00:00
Andreas Pehrson
7e0c927800 Bug 1172394 - Always mark a MediaStreamAudioSourceNode attached to a live track as active. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D52049

--HG--
extra : moz-landing-system : lando
2019-11-13 08:58:25 +00:00
Andreas Pehrson
2eaffe564d Bug 1172394 - Ignore video tracks in autoplay checks in MediaStreamAudioSourceNode. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D52048

--HG--
extra : moz-landing-system : lando
2019-11-13 08:58:21 +00:00
Andreas Pehrson
af96d72e5f Bug 1172394 - Hinge UpdateReadyStateInternal off watchables instead of direct updates. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D52047

--HG--
extra : moz-landing-system : lando
2019-11-13 08:56:44 +00:00
Andreas Pehrson
8343246e20 Bug 1172394 - Use tail dispatching instead of mSrcStreamTracksAvailable. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D52046

--HG--
extra : moz-landing-system : lando
2019-11-13 08:56:31 +00:00
Andreas Pehrson
3efa27a8dd Bug 1172394 - Update test_streams_element_capture_reset.html per new seeking behavior. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D52045

--HG--
extra : moz-landing-system : lando
2019-11-13 08:56:22 +00:00
Andreas Pehrson
6cb5619e52 Bug 1172394 - Modernize test_streams_element_capture_reset.html. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D52044

--HG--
extra : moz-landing-system : lando
2019-11-13 08:56:12 +00:00
Andreas Pehrson
82611c9705 Bug 1172394 - Simplify MediaSink somewhat. r=padenot
This patches does several minor things:
- Moves SetSink (from setSinkid) to automatic coalescing of multiple calls
  through a Canonical/Mirror setup instead of a manual atomic counter.
- Simplifies the logic for when to update the sink in SetSink.
- Removes PlaybackParams as a general MediaSink property, as it only contains
  audio params.
- Makes PlaybackParams an internal AudioSink concept, that AudioSinkWrapper
  knows about.
- Ensures mMediaSink is only accessed on the decoder TaskQueue, to allow
  accessing mirrored members when creating it.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 08:55:54 +00:00
Andreas Pehrson
53d52cde4e Bug 1172394 - Refactor how DecodedStream is set up. r=padenot
This patch removes the responsibility of js-facing MediaStreamTracks from the
MediaDecoder stack, and moves the machinery for setting up DecodedStream to
higher order functions like state mirroring and watchables.

OutputStreamManager is completely gone, since it was designed to manage
MediaStreamTracks across multiple output streams for a single decoder,
on main thread. HTMLMediaElement took over its task in the previous patch.

The MediaDecoderStateMachine now has three control points for capturing:
- mOutputCaptured, which, if true, will capture all decoded data into
  mOutputTracks. If this is set, but mOutputTracks is empty, we are still
  waiting for tracks, and DecodedStream will not play any data. When tracks are
  set, a new DecodedStream is created that will play data through
  SourceMediaTracks piped into mOutputTracks.
- mOutputTracks, which is the set of tracks data is captured into, for
  forwarding to all the output tracks the media element is managing. This set of
  tracks is managed by the MediaDecoder owner, and must contain one audio track
  if the decoder is decoding audio, and one video track if the decoder is
  decoding video. It may be empty since output can be captured before metadata
  is loaded, or playback has ended.
- mOutputPrincipal, which is the principal of the decoded data. All data sent
  into SourceMediaTracks is tagged with this principal.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 08:55:39 +00:00
Andreas Pehrson
5b1bea60b3 Bug 1172394 - Merge MediaStream and MediaDecoder track sources. r=padenot
This reworks how media element captureStream works by removing the differences
between MediaStream and MediaDecoder capture. MediaDecoder capture will be
refactored so that ownership of MediaStreamTracks lies with the media element
instead of the OutputStreamManager. The internal MediaDecoder parts happen in a
later patch.

The new API for capturing a MediaDecoder involves a boolean on/off toggle, the
output tracks the decoder pipes data to, and the principal that data is tagged
with. If capturing is on but there are no output tracks, playback will not
happen, to ensure that no data gets accidentally skipped in the output tracks
while captured.

This also changes the logic for setting up MediaElementTrackSources in
HTMLMediaElement so it's triggered by the WatchManager and thus run in tail
dispatched runnables.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 08:55:29 +00:00
Andreas Pehrson
ed705988de Bug 1172394 - Make dom::MediaTrack lifetime spec compliant. r=bryce
This makes us forget tracks at the right times. The spec also says no
removetrack events should be fired because of this, yet it seems to be something
other user agents do:
https://wpt.fyi/results/media-source/mediasource-avtracks.html

This is of low importance however, since MediaTracks are prefed off by default.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 08:48:16 +00:00
Andreas Pehrson
9112bdefc4 Bug 1172394 - Don't remove dom::MediaTracks on chained metadata updates. r=padenot
HTMLMediaElement avoid creating new tracks in MetadataLoaded when it has already
created some, so there should be no side effect to this patch.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 08:48:03 +00:00
Andreas Pehrson
baa9f1296f Bug 1172394 - Perform some forgotten Stream -> Track renaming in DecodedStream. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D52036

--HG--
extra : moz-landing-system : lando
2019-11-13 08:47:48 +00:00
Tom Schuster
a5780f4f42 Bug 1589895 - Add default JavaScript MIME type for .mjs used for ES modules. r=bzbarsky
Seems like this is the recommended MIME type for the JavaScript module system:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#Basic_example_structure

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

--HG--
extra : moz-landing-system : lando
2019-11-13 19:12:02 +00:00
Victor Porof
7ef335726f Bug 1594995 - Part 5: Use a safe-mode database for test_cert_storage_preexisting.js, r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D52320

--HG--
extra : moz-landing-system : lando
2019-11-13 18:52:37 +00:00
Victor Porof
66c8eaefc1 Bug 1594995 - Part 4: Update cert_storage to use RKV in safe mode, r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D52319

--HG--
extra : moz-landing-system : lando
2019-11-13 11:53:03 +00:00
Victor Porof
e6fd5300ec Bug 1594995 - Part 3: Vendor newly added rust dependencies, r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D52318

--HG--
rename : third_party/rust/rkv/Cargo.lock => third_party/rust/rkv-0.10.2/Cargo.lock
extra : moz-landing-system : lando
2019-11-13 11:52:46 +00:00
Victor Porof
6e245fe362 Bug 1594995 - Part 2: Update RKV dependency to our safe-mode feature branch, r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D52317

--HG--
extra : moz-landing-system : lando
2019-11-13 11:52:28 +00:00
Victor Porof
3f5b086638 Bug 1594995 - Part 1: Update neqo dependencies to specify a rev instead of a version, and run ./mach vendor rust on a clean central tip, r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D52316

--HG--
extra : moz-landing-system : lando
2019-11-13 11:52:15 +00:00
Matthew Noorenberghe
a3e4e2346e Bug 1590622 - Prefer a domain match over a scheme match when deduping logins. r=sfoster
On an https: page it's more important to use the login was from the same hostPort than to use an https: login from a different subdomain.

This fixes autocomplete to show "From this website" and also fixes autofill in the event that there was a duplicate username+password combo saved on an different https: subdomain while previously saving that combo on the http: version of the same hostPort.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 18:53:33 +00:00
Emilio Cobos Álvarez
019f75cee4 Bug 1595285 - Do not track TRANSITION_EMBED visits for link-coloring purposes. r=mak
Other browsers don't, plus it blocks work I want to do to query multiple links
at the same time.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 16:36:09 +00:00