This removes the old TRACKING_PROTECTION_EVENTS probe and replaces it with new
Telemetry events that record basic user interaction in the identity popup.
We are now measuring interaction with more elements than before, not just block/unblock.
We're also dropping the old way of measuring updates to onSecurityChange,
since with the recent changes to content blocking it would just record most page loads.
Differential Revision: https://phabricator.services.mozilla.com/D6895
--HG--
extra : moz-landing-system : lando
This probe was always supposed to measure TP enabled status for a session, not a window.
Differential Revision: https://phabricator.services.mozilla.com/D6893
--HG--
extra : moz-landing-system : lando
Adds a timout that will resolve the promise to return even if we did not get an answer from
all children.
MozReview-Commit-ID: FFLwAUkkYos
Differential Revision: https://phabricator.services.mozilla.com/D7265
--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
Previously, the test never waited for the notification to actually fire.
Differential Revision: https://phabricator.services.mozilla.com/D8249
--HG--
extra : moz-landing-system : lando
This patch also changes how pdbs for the ASAN job are copied:
we relax restrictions so that pdbs if present) are always copied out
and add an environment variable MOZ_COPY_PDBS to indicate when we
want to produce pdbs for copying.
--HG--
extra : rebase_source : ae91be712f9fdc2e897f4cf92b601e39494e6e57
* Change to isValidNumber to allow any number length in the range. This also removes 9 as a valid payment card number length
* Amend form autocomplete test for sensitive 9 digit numbers. We no longer consider them valid cc numbers, test for 19 digit numbers instead
* Fix intermittent issue in a session restore test. It turns out Date.now().toString() can sometimes pass the Luhn algorithm and look like a valid credit card number. I believe this could lead to it being treated as sensitive data which is not saved and restored, failing the test
Differential Revision: https://phabricator.services.mozilla.com/D8271
--HG--
extra : moz-landing-system : lando
RemoteWebNavigation is expected to pass a serialized principal, so the
default null principal should be serialized as well.
Differential Revision: https://phabricator.services.mozilla.com/D7784
--HG--
extra : moz-landing-system : lando
This is unrelated to the other changesets in the bug, just a cleanup based on
patterns that have emerged in other attributeChangedCallbacks like in progressmeter
Differential Revision: https://phabricator.services.mozilla.com/D8174
--HG--
extra : moz-landing-system : lando
As outlined by MozXULElement, we:
- delay connectedCallback logic until after parse
- wait for isConnectedAndReady before running attributeChangedCallbacks;r=paolo
Differential Revision: https://phabricator.services.mozilla.com/D8150
--HG--
extra : moz-landing-system : lando
This commit replaces incoming synced livemarks with tombstones, and
reuploads the tombstone and updated parent to the server. Existing
livemarks are left untouched to minimize data loss; we'll either
delete them during migration, or when another client runs a full sync.
Differential Revision: https://phabricator.services.mozilla.com/D7084
--HG--
extra : rebase_source : db78efc696cce13cf596d2ab0906f049a2cbe12f
The addition of UPDATE_DOWNLOAD_CODE_UNKNOWN was missed in bug 1137447
Passed data collection review
Differential Revision: https://phabricator.services.mozilla.com/D8124
--HG--
extra : moz-landing-system : lando
nsIBrowserSearchService::currentEngine and nsIBrowserSearchService::defaultEngine are the same thing.
The use of defaultEngine makes more sense and thus we are phasing out the use of currentEngine and replace it with defaultEngine.
Differential Revision: https://phabricator.services.mozilla.com/D7972
--HG--
extra : moz-landing-system : lando
There are two significant parts to this commit. The first avoids
scanning for duplicates in the omnijar when packaging locally. The
Fennec/GeckoView local development edit-test-compile loop _always_
includes packaging, so these developers always pay to scan for
duplicates. And, for historical reasons (Bug 1351000), we build both
a Fennec and a GeckoView omnijar, so these developers pay to scan
twice! Since scanning for duplicates isn't something that local
developers are likely to act on, let's not do this at all (rather
than, say, only once for Fennec).
The second avoids stripping and XZ compressing Fennec/GeckoView asset/
libraries twice. A little path hacking allows to exploit the fact
that the executable processing is idempotent, saving a significant
amount of time during |mach package|.
The final part of this commit just reduces the verbosity of a
`zipalign` invocation.
Depends on D7314
Differential Revision: https://phabricator.services.mozilla.com/D7315
--HG--
extra : moz-landing-system : lando
Update documentation to reflect that dynamic events are no longer sent in 'main' pings.
Differential Revision: https://phabricator.services.mozilla.com/D7907
--HG--
extra : moz-landing-system : lando
gfritzsche asked me to use this method to add compatibility to measure the time in seconds.
At the moment we are forced to clone `devtools/client/shared/TelemetryStopwatch.jsm` so that we can get it working the way we need.
The problem is that it measure time in ms when using start() finish() etc. and that creates too many entries in our charts and makes them next to impossible to read.
It would be much better if we could measure the time in seconds instead.
Differential Revision: https://phabricator.services.mozilla.com/D4936
--HG--
extra : moz-landing-system : lando
Adding a test to check whether the wakelock state is correct under different situations. However,
the lock state of power manager doesn't equal to the actual platform lock. Now we don't have any
way to detect whether platform lock is set correctly or not, but we can at least make sure the
specific topic's state in power manager is correct.
Differential Revision: https://phabricator.services.mozilla.com/D7355
--HG--
extra : moz-landing-system : lando
There are two reasons for this:
1) It's faster than running the connectedCallback in the middle of document parse, at least for
<radiogroups> in about:preferences
2) It provides a construction sequence more similar to XBL, so the translation from XBL <constructor>
to CE connectedCallback is more likely to be correct. This is because when there is markup like:
<parent-ce><child-ce></child-ce></parent-ce>
the parent-ce node is empty during the first connectedCallback. If we wait for DOMContentLoaded
then the parent-ce has the child-ce node below it.
Differential Revision: https://phabricator.services.mozilla.com/D7944
--HG--
extra : moz-landing-system : lando
This patch enables the HCT init promise to reject even for Firefox
versions (before 63) that do not have the required chrome code
to communicate back to the library the lack of privileges or that
HCT is disabled. It introduces a timeout that rejects the promise
after 3 seconds.
Differential Revision: https://phabricator.services.mozilla.com/D7693
--HG--
extra : moz-landing-system : lando
The connectedCallback fires after it's already in the DOM, so without this attribute setting [hidden]
will animate it closed.
Differential Revision: https://phabricator.services.mozilla.com/D7930
--HG--
extra : moz-landing-system : lando
This reduces the size of a HistogramInfo instance from 56 byte down to 40 bytes.
At currently ~1770 histogram that saves a total of 28,000 byte of static data.
Differential Revision: https://phabricator.services.mozilla.com/D7866
--HG--
extra : moz-landing-system : lando
Changed the validation function for PageInfo to use a more general validateItemProperties.
This changes the error message being thrown. Changed the respective test cases to accomodate the change.
Differential Revision: https://phabricator.services.mozilla.com/D5831
--HG--
extra : moz-landing-system : lando
For simplicity, we do not support remote-to-non-remote or non-remote-to-remote
nsIWebProgressListener persistence.
Differential Revision: https://phabricator.services.mozilla.com/D7936
--HG--
extra : moz-landing-system : lando
This patch removes linux64-jsdcov from the available builds on taskcluster along with any hacks used to run it. It also removes any 'coverage' entries that were added to skip tests.
Differential Revision: https://phabricator.services.mozilla.com/D7919
--HG--
extra : moz-landing-system : lando
This duplicates all the mochitest, based tests except with
dom.serviceWorkers.parent_intercept set to true. For now they are only run on
mozilla-central with linux64/debug.
Differential Revision: https://phabricator.services.mozilla.com/D7641
--HG--
extra : moz-landing-system : lando
There are two significant parts to this commit. The first avoids
scanning for duplicates in the omnijar when packaging locally. The
Fennec/GeckoView local development edit-test-compile loop _always_
includes packaging, so these developers always pay to scan for
duplicates. And, for historical reasons (Bug 1351000), we build both
a Fennec and a GeckoView omnijar, so these developers pay to scan
twice! Since scanning for duplicates isn't something that local
developers are likely to act on, let's not do this at all (rather
than, say, only once for Fennec).
The second avoids stripping and XZ compressing Fennec/GeckoView asset/
libraries twice. A little path hacking allows to exploit the fact
that the executable processing is idempotent, saving a significant
amount of time during |mach package|.
The final part of this commit just reduces the verbosity of a
`zipalign` invocation.
Depends on D7314
Differential Revision: https://phabricator.services.mozilla.com/D7315
--HG--
extra : moz-landing-system : lando
This activates by default the new about:performance page and its underlying
counters in Firefox
MozReview-Commit-ID: LccL6zBHUHm
Differential Revision: https://phabricator.services.mozilla.com/D7884
--HG--
extra : moz-landing-system : lando
This duplicates all the mochitest, based tests except with
dom.serviceWorkers.parent_intercept set to true. For now they are only run on
mozilla-central with linux64/debug.
Differential Revision: https://phabricator.services.mozilla.com/D7641
--HG--
extra : moz-landing-system : lando
This duplicates all the mochitest, based tests except with
dom.serviceWorkers.parent_intercept set to true. For now they are only run on
mozilla-central with linux64/debug.
Differential Revision: https://phabricator.services.mozilla.com/D7641
--HG--
extra : moz-landing-system : lando
The two standard reparse data buffer structs (SymbolicLinkReparseBuffer and
MountPointReparseBuffer) both contain one UTF-16 array called PathBuffer which
contains two paths, the "print name" and the "substitute name", with no
separator between them. There are also fields in the struct that provide the
offset and the length of both those paths (in bytes).
I had originally missed that these were separate paths and that the print name
will typically not match the substitute name for file system links. This patch
corrects that oversight and uses the offsets to correctly check only the
substitute name.
Differential Revision: https://phabricator.services.mozilla.com/D7645
--HG--
extra : moz-landing-system : lando
Bug 1282866 removed the only configuration where it did something.
Since then, using it only leads to a configure error.
Differential Revision: https://phabricator.services.mozilla.com/D7691
--HG--
extra : moz-landing-system : lando
This brings us into line with Chrome's behavior. Like Chrome, we check the
32-bit view first and check HKEY_CURRENT_USER before HKEY_LOCAL_MACHINE.
This patch only adds code affecting HKEY_LOCAL_MACHINE because the registry
does not use a 32-bit view in the HKEY_CURRENT_USER\Software key.
Differential Revision: https://phabricator.services.mozilla.com/D7779
--HG--
extra : moz-landing-system : lando
This method does very little, and is called in only a few places, so
just inline it. The error variant is not called at all. Simplifying
this makes it easier for me to change do_QueryInterface.
Differential Revision: https://phabricator.services.mozilla.com/D7527
--HG--
extra : moz-landing-system : lando
refactor some code into the search service. This is necessary to
allow the searchservice to pull multiple locales or regions from a single
extension, based on data the searchservice maintains.
Differential Revision: https://phabricator.services.mozilla.com/D7632
--HG--
extra : moz-landing-system : lando
mkaply for overall search engine api changes
adw for searchservice changes. note that a small part of it will be removed in favor of the fix from bug 1485508
aswan for webextension side. note that I want to do better with the distribution signal, that can be in bug 1488517
Differential Revision: https://phabricator.services.mozilla.com/D4473
--HG--
extra : moz-landing-system : lando
Move the implementation of the XBL tooltip to C++ so the element can safely
be created during native anonymous content creation. The 'mouseover' and
'mouseout' event handlers were not moved as they appear to be legacy code
that is no longer needed.
A number of tests started perma-failing after this patch. Most failures
were caused by a timing change where plugins sometimes load after the
document "load" event. Many of the failures had intermittents associated
with them and the tests were not waiting for plugins to load before
starting. The test "test_weakmap_keys_preserved2.xul" had a bug where it
was possible for it to finish before all the tests were run.
Differential Revision: https://phabricator.services.mozilla.com/D5065
--HG--
extra : moz-landing-system : lando
This merely centralizes logic that was formerly used at multiple sites
into the single remaining use site.
None of the JAVA* flags have been used for a long time.
Differential Revision: https://phabricator.services.mozilla.com/D7313
--HG--
extra : moz-landing-system : lando
This moves UAWidgetsChild.jsm from browser to toolkit so that
Fennec and Reftest could pick it up.
Differential Revision: https://phabricator.services.mozilla.com/D5085
--HG--
rename : browser/actors/UAWidgetsChild.jsm => toolkit/actors/UAWidgetsChild.jsm
extra : moz-landing-system : lando
This fixes a regression caused by bug 1493525 and detectable by
the reftest added in bug 1367875.
The width sizing of <audio> is still broken, see bug 1495821.
Differential Revision: https://phabricator.services.mozilla.com/D7534
--HG--
extra : moz-landing-system : lando
Previously, the <radio> constructor just nulled out the _radioChildren of the <radiogroup>.
This leads to some issues that existed before the Custom Element migration to <radiogroup>,
in which state wouldn't get synchronized between an already-appended radiogroup and a newly
add radio (i.e. the [disabled] attribute on the radiogroup wouldn't copy down to the new radio,
and the [value] attribute wouldn't get moved up onto the radiogroup if the new radio is [selected]).
In addition to that, the Custom Element migration introduced a worse bug, in which the
XBL constructors on radio elements sometime haven't run when the radio is connected. This
means the radiogroup doesn't recognize any children, and the selectedItem / value is wrong.
This patch makes it so that the radio will notify the radiogroup when it is constructed,
and if necessary, the radiogroup can make sure all the state is consistent.
Differential Revision: https://phabricator.services.mozilla.com/D7760
--HG--
extra : moz-landing-system : lando
This commit initially exposes the drawSnapshot API off of <browser>. This
is done by adding a WebIDL binding to FrameLoader and wrapping it in
browser.xml.
Differential Revision: https://phabricator.services.mozilla.com/D6791
--HG--
extra : rebase_source : 9f819b13c102edf42ab2bb2466578751a7a2f647
For compositor animations, we don't guarantee the finished promise callback
to run in the first frame after the animation finishes. By setting
fill: both, we set the animation to fill until the main thread has a chance
to catch up.
A filling animation has to be cancelled explicitly, otherwise the
value of the animating style will be locked at the last frame of the animation.
Differential Revision: https://phabricator.services.mozilla.com/D7317
--HG--
extra : moz-landing-system : lando
This also "fixes" what appears to be some broken checks by switching
them to todo()'s. I filed bug 1492885 to investigate these busted
checks, and re-enable them.
Depends on D6970
Differential Revision: https://phabricator.services.mozilla.com/D6971
--HG--
extra : moz-landing-system : lando
Calls to do_QueryInterface to a base class can be replaced by a static
cast, which is faster.
Differential Revision: https://phabricator.services.mozilla.com/D7224
--HG--
extra : moz-landing-system : lando
If class A is derived from class B, then an instance of class A can be
converted to B via a static cast, so a slower QI is not needed.
Differential Revision: https://phabricator.services.mozilla.com/D6861
--HG--
extra : moz-landing-system : lando
r?njn for the profiler parts
r?jrmuizel for the ELF parsing parts
Depends on D7020
Differential Revision: https://phabricator.services.mozilla.com/D7021
--HG--
extra : moz-landing-system : lando
This will be used to conditionally compile the rust code for ELF binary parsing,
which will be used by the profiler to dump symbols from system libraries on
Android.
Ideally I'd like to make this only apply to Nightly + Beta configurations, and
not to Release, but there doesn't seem to be an easy way to differentiate
between Beta and Release and doing so might be frowned upon. So now it's going
to be built on all channels on Android, even Release, even though developers
won't be profiling Release channel builds much, and the extra code size isn't
all that valuable for our users.
We definitely need this code to be included on the Beta channel, though, because
Firefox Focus Nightly uses GeckoView from the Beta channel, and we want to get
good profiling information from Focus.
Differential Revision: https://phabricator.services.mozilla.com/D7020
--HG--
extra : moz-landing-system : lando
In the origin query, the SELECT is aggregate due to both the TOTAL(frecency) column and the GROUP BY, but bookmarkedFragment is not aggregate. So it ends up looking only at whatever moz_place ends up first in its result set. If that moz_place's foreign_count is zero, then the whole bookmarkedFragment is zero, even if there are moz_places in the result set that are bookmarked.
Change bookmarkedFragment to use TOTAL.
Differential Revision: https://phabricator.services.mozilla.com/D6867
--HG--
extra : moz-landing-system : lando
r?njn for the profiler parts
r?jrmuizel for the ELF parsing parts
Depends on D7020
Differential Revision: https://phabricator.services.mozilla.com/D7021
--HG--
extra : moz-landing-system : lando
This will be used to conditionally compile the rust code for ELF binary parsing,
which will be used by the profiler to dump symbols from system libraries on
Android.
Ideally I'd like to make this only apply to Nightly + Beta configurations, and
not to Release, but there doesn't seem to be an easy way to differentiate
between Beta and Release and doing so might be frowned upon. So now it's going
to be built on all channels on Android, even Release, even though developers
won't be profiling Release channel builds much, and the extra code size isn't
all that valuable for our users.
We definitely need this code to be included on the Beta channel, though, because
Firefox Focus Nightly uses GeckoView from the Beta channel, and we want to get
good profiling information from Focus.
Differential Revision: https://phabricator.services.mozilla.com/D7020
--HG--
extra : moz-landing-system : lando
This is faster. It does drop support for skipping non-XUL-namespaced radiogroup
tags, but we don't have or plan to have HTML namespaced radiogroups in the same
document as a XUL-namespaced radiogroup.
Differential Revision: https://phabricator.services.mozilla.com/D7255
--HG--
extra : moz-landing-system : lando
They are unnecessary for most every element, and we load multiple dummy.xul
documents even in clean profiles.
Differential Revision: https://phabricator.services.mozilla.com/D7112
--HG--
extra : moz-landing-system : lando
We need to sign parts of the contents of the archives, so the mar's that we
ship get built as part of the repackage task. Thus, there is no reason to also
create and upload as part of the build, just to throw them away.
Differential Revision: https://phabricator.services.mozilla.com/D6213
--HG--
extra : moz-landing-system : lando
Our current prioritization mechanism doesn't account for tab
warming, or for the fact that the current tab should be
deprioritized. This corrects that.
Differential Revision: https://phabricator.services.mozilla.com/D7205
--HG--
extra : moz-landing-system : lando