ProfileAge now returns a promise that resolves to an instance that has already
loaded its times.json. This makes multiple attempts to update data in times.json
safer.
Differential Revision: https://phabricator.services.mozilla.com/D8463
--HG--
extra : moz-landing-system : lando
Flash analyzes the parents of the path to its appdata folder on Windows using GetFileAttributesW. If it runs into an error, it makes some internal decisions that cause it to break DRM video. Our new sandbox hardening causes GetFileAttributesW to return an error for some components of the path. This patch alters the behavior of GetFileAttributesW so that it always reports FILE_ATTRIBUTE_DIRECTORY for any path that both 1) would otherwise return an error and 2) is an ancestor of the appdata folder. This may not always be 100% accurate (for instance, if the folder is a reparse point) but restores video functionality.
Depends on D7532
Differential Revision: https://phabricator.services.mozilla.com/D7533
--HG--
extra : moz-landing-system : lando
Behavior changes:
- added method for ADBDevice class called chown
- when initializing ADBDevice class, check if recursive flag is supported (similar to chmod -R)
Other changes:
- handling for situation where recursive is desired but -R flag is not supported is in place
- changed behavior above situation to mirror chmod (creation of temporary file based on `self.ls` output, then executing script on device using adb
Unit Tests:
- unit tests to exercise attributes and common paths created. Would need further expansion of tests at some point.
- additional mocking fixtures created.
Differential Revision: https://phabricator.services.mozilla.com/D8128
--HG--
extra : moz-landing-system : lando
When using globs in exclude directorives, FileFinder will return every *file*
that gets matched. This is can be thousands of files in the case of an objdir.
While we now collapse these files down to highest possible directories, this
collapse operation can still take a noticeable amount of time (0.6s). This
simply scans topsrcdir for files that start with 'obj' to avoid the glob.
This also moves the '_activate_virtualenv' call to the top of the function
because in CI, this will cause an objdir to be created (to store the
virtualenv). If this happens *after* calculating the global excludes, we won't
catch it since it doesn't exist yet. This will result in the objdir's
virtualenv being linted and erroneous failures.
Depends on D7739
Differential Revision: https://phabricator.services.mozilla.com/D7740
--HG--
extra : moz-landing-system : lando
Often we specify globs in our exclude patterns, e.g:
exclude:
- **/node_modules
- obj*
However, these globs get expanded out to *every* file that matches them. This
can sometimes be thousands or even tens of thousands of files.
We then pass these paths on to the underlying linters and tell them to
exclude them all. This causes a lot of overhead and slows down performance.
This commit implements a "collapse" function. Given a set of paths, it'll
collapse them into the smallest set of parent directories that contain the
original set, and that don't contain any extra files.
For example, given a directory structure like this:
a
-- foo.txt
-- b
-- bar.txt
-- baz.txt
-- c
-- ham.txt
-- d
-- spam.txt
Then the following will happen:
>>> collapse(['a/foo.txt', 'a/b/bar.txt', 'a/c/ham.txt', 'a/c/d/spam.txt'])
['a/foo.txt', 'b/bar.txt', 'c']
Since all files under directory 'c' are specified by the original set (both
'c/ham.txt' and 'c/d/spam.txt'), we can collapse it down to just 'c'. However
not all files under 'b' are specified (we're missing 'a/b/baz.txt'), so we
can't collapse 'b' (and by extension also can't collapse 'a').
If we had included 'a/b/baz.txt':
>>> collapse(['a/foo.txt', 'a/b/bar.txt', 'a/b/baz.txt', 'a/c/ham.txt', 'a/c/d/spam.txt'])
['a']
In both cases, the smallest set of paths that contains the original set (and
only the original set) is computed.
The collapse function has a little bit of overhead but it's not too bad.
For example collapsing all files matched by '**/node_modules' takes ~0.015s.
Collapsing two full objdirs, takes ~0.6s. But a follow up commit is planned to
make sure we stop using 'obj*' to reduce that overhead.
Depends on D7738
Differential Revision: https://phabricator.services.mozilla.com/D7739
--HG--
extra : moz-landing-system : lando
The sandbox blocks GetTempFileName's prior response, causing the system to end up searching a number of (inaccessible) folders to use as a replacement for the temp folder. This patch provides a path to a new folder on the command line for the plugin process. This new temp folder, specific to this plugin process instance, is then communicated to the system via the TEMP/TMP environment variables. This is similar to what is done for the content process but avoids nsDirectoryService, which doesn't exist in plugin processes.
Differential Revision: https://phabricator.services.mozilla.com/D7532
--HG--
extra : moz-landing-system : lando
Probably not the most reliable test to catch this (as it depends on
the font and such) but still fails here and I'd like WPT to have a test-case
for this. I'm looking into adding a WR test-case ATM, though fighting with
it way too much.
Differential Revision: https://phabricator.services.mozilla.com/D8438
--HG--
extra : moz-landing-system : lando
Bug 1478694 - Ensure that WebExtensions alarms set in the past are fired immediately.
Differential Revision: https://phabricator.services.mozilla.com/D7287
--HG--
extra : moz-landing-system : lando
Without this, the user must manually install fennec with expanded permissions with `adb install -g <apk>`.
With this patch, `./mach wpt` on its own handles everything from emulator setup to test running.
Differential Revision: https://phabricator.services.mozilla.com/D8333
--HG--
extra : moz-landing-system : lando
The separate Activity Stream content process is currently pref-able, and I'd like to make sure
that the tree is green with it enabled and disabled. This patch makes it so that tests that
browse from about:home/about:newtab to some other page or back work properly even if there
are process flips.
Based on work originally by Jay Lim (:imjching) <jay@imjching.com>.
Differential Revision: https://phabricator.services.mozilla.com/D8265
--HG--
extra : moz-landing-system : lando
Since nsDocShell is no longer created when nsComponentManagerImpl is
on the stack we now expose leaks tracked in Bug 1495659.
Depends on D7400
Differential Revision: https://phabricator.services.mozilla.com/D7401
--HG--
extra : moz-landing-system : lando
Add the property lsan-max-stack-depth to enable configuring how many
stack frames we allow LSANLeaks to record.
Differential Revision: https://phabricator.services.mozilla.com/D8192
--HG--
extra : moz-landing-system : lando
This matches all other browsers, and the spec.
Added an explicit test for this, and a test that tests what
cssstyledeclaration-mutationrecord-002.html wanted to test, which is that
changing an existing declaration doesn't generate a mutation record.
Differential Revision: https://phabricator.services.mozilla.com/D8500
--HG--
rename : testing/web-platform/tests/css/cssom/cssstyledeclaration-mutationrecord-002.html => testing/web-platform/tests/css/cssom/cssstyledeclaration-mutationrecord-005.html
extra : moz-landing-system : lando
This gets accessed in beta simulations since xperf has been enabled on Windows 10.
Differential Revision: https://phabricator.services.mozilla.com/D8516
--HG--
extra : moz-landing-system : lando
Removes the addLivemark call from distribution.js, instead creates a bookmark pointing to the site uri.
Note, bookmarks in distribution are not tested, as such this one doesn't have a test as well.
Fixes a possible intermittent failure in test_distribution.js.
Removes a livemarks test that was no more run.
Differential Revision: https://phabricator.services.mozilla.com/D8523
--HG--
extra : moz-landing-system : lando