These calls to GetPathToSpecialDir are performing some unnecessary IO
during early startup which we'd like to defer. Simply adding the
required ones to the list in osfile_async_front.jsm should mostly get
us there.
Differential Revision: https://phabricator.services.mozilla.com/D6079
--HG--
extra : moz-landing-system : lando
Firefox no longer supports Windows XP, so these test checks that allow for timeouts with 25 ms resolution can be removed. Also, rewrite some test logic and comments to make the test's intention clearer.
The 'getOSCPU' message handler can be removed from test_worker_performance_now.html because test_worker_performance_now.js no longer needs to check for Windows XP.
Stop setting the pref "privacy.reduceTimerPrecision" = false in test_performance_now.html. That pref removes performance.now()'s 1 ms resolution limit so the performance timer will run at full speed. By leaving the pref's default value, the test can assert that performance.now() is actually honoring the 1 ms limit.
I didn't remove "privacy.reduceTimerPrecision" = false for the worker test. The worker tests run an accelerated setTimeout() clock, so setTimeout(1) can time out in less than 1 ms. Leaving the pref "privacy.reduceTimerPrecision" = true causes hundreds of worker tests to run more slowly (in real time), which would increase test automation time.
Differential Revision: https://phabricator.services.mozilla.com/D6581
--HG--
extra : rebase_source : 371d474e556c6f2297286ec1e1f168168aeba0e6
extra : source : d9585d71e99f687b2e5c244d524ccf70096c96a4
WebGL canvases not composited (e.g. not added to the DOM) don't work in WebVR. WebGLContext::InitializeCanvasRenderer is only called when 2D compositor renders a WebGL canvas for the first time. I tried to mimic what InitializeCanvasRenderer does internally as a workaround.
Differential Revision: https://phabricator.services.mozilla.com/D6921
--HG--
extra : moz-landing-system : lando
If a class A is derived from a class B, then an instance of A can be
converted to an instance of class B via a static cast, so QI is not
needed. QIs are slower than static casts.
TestCallTemplates seems to be testing that CallQueryInterface compiles
even if the first argument's class is only ambiguously castable to
nsISupports, so I changed the second argument to be a class unrelated
to the concrete class.
I also removed some useless null checks on the return value of new.
Differential Revision: https://phabricator.services.mozilla.com/D6838
--HG--
extra : moz-landing-system : lando
With the addition of an explicit encryption enum for CDM10 input data, if a
sample has 0 encrypted bytes it must be marked as unencrypted. Historically we
could let the CDM figure out based on the unencrypted + encrypted bytes.
However, if we mark a sample as encrypted but it has 0 encrypted bytes, the CDM
will fail to decrypt.
This changeset adds a check to gracefully handle samples that are marked as
encrypted but with no encrypted ranges. In such cases we mark the data as
unencrypted and log that such data was encountered. This means we don't break
playback of encrypted media should we overlook such cases, but have better
detection via logging.
Differential Revision: https://phabricator.services.mozilla.com/D6873
--HG--
extra : moz-landing-system : lando
This also removes the (afaict, unused) stub implementation from TabParent. The netwerk header
inclusions were necessary because those files included TabParent.h and through it,
nsISecureBrowserUI, but now TabParent.h no longer does that.
Differential Revision: https://phabricator.services.mozilla.com/D6829
--HG--
extra : moz-landing-system : lando