Граф коммитов

760345 Коммитов

Автор SHA1 Сообщение Дата
Julian Descottes abc180d3a7 Bug 1715969 - [devtools] Fix devtools try preset to include macos jobs r=bomsy
macos jobs moved from macosx1014 to macosx1015. Use a more generic string to match osx jobs

Differential Revision: https://phabricator.services.mozilla.com/D117524
2021-06-11 12:55:31 +00:00
Dorel Luca 5e16d5b3ba Backed out changeset c66a53cd194f (bug 1709838) for Browser-chrome failures in toolkit/components/antitracking/test/browser/browser_PBMCookieBehavior.js. CLOSED TREE 2021-06-11 16:48:32 +03:00
Dorel Luca 2190a59721 Backed out changeset c30c8b8dc0b5 (bug 1715902) on Dev's request. CLOSED TREE 2021-06-11 15:48:11 +03:00
Frederik Braun d2731c3acc Bug 1715684 - block port 989 and 990 for ftps-data and ftps r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D117504
2021-06-11 12:35:02 +00:00
Andrew Osmond 330727f6e8 Bug 1715902 - Refuse WebRender on Linux if backed by software driver. r=jrmuizel
When trying to create a GLContextEGL or GLContextGLX, we should check to
see what our display is backed by. If using a software driver, we should
fail to create the context for WebRender, so that it can fallback to
Software WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D117473
2021-06-11 12:16:36 +00:00
Christoph Kerschbaumer e62dbaedd3 Bug 1709838: Enable HTTPS-First Mode in PBM Mode in Nightly r=arthuredelstein
Differential Revision: https://phabricator.services.mozilla.com/D114500
2021-06-11 12:11:31 +00:00
Dimi Lee 32e7bc465a Bug 1708455 - P10. Add signon.usernameOnlyForm.enabled preference r=sfoster,tgiles
Differential Revision: https://phabricator.services.mozilla.com/D116238
2021-06-11 11:56:05 +00:00
Dimi Lee b3902dc5a9 Bug 1708455 - P9. Add telemetry probe to measure the performance of detecting username-only forms. r=sfoster,tgiles
This patch adds two telemetry to measure the performance impact after adding
multi-page login support.

Telemtry PWMGR_IS_USERNAME_ONLY_FORM gives us an idea among
all forms that contain a possible username input (type is email or text), the propotion
of those forms that are considered as a username-only form by our heuristic. We can
use this data as a hint of whether the username-only form heuristic works properly.

Telemetry PWMGR_NUM_FORM_HAS_POSSIBLE_USERNAME_EVENT_PER_DOC gives us an
idea how many forms contain a possible username input per page. If the data shows that there are a
lot of pages that contain multiple forms with a possible username input, which
triggers the new code path added in this bug, we might need to pay more attention to see whether the
change introduces performance overhead for page load.

Ex. A doc has 4 forms
<form><input type=email autocomplete=username/></form>  <!-- This is a form with a possible username input, and it is a username-only form-->
<form><input type=text autocomplete=username/></form>   <!-- This is a form with a possible username input, and it is a username-only form-->
<form><input type=email/></form>                        <!-- This is a form with a possible username input, but it is NOT a username-onlyc form -->
<form><input type=urk/></form>                          <!-- This is a form WITHOUT a possible username input -->

PWMGR_IS_USERNAME_ONLY_FORM records
bucket[0] = 1  // 1 form with a possible username input but not a username-only form
bucket[1] = 2  // 2 forms are username-only form.

PWMGR_NUM_FORM_HAS_POSSIBLE_USERNAME_EVENT_PER_DOC records
bucket[0] = 0
bucket[1] = 1  // 1 doc has 1 or more than 1 form with a possible-username input
bucket[2] = 1  // 1 doc has 2 or more than 2 form with a possible-username input
bucket[3] = 1  // 1 doc has 3 or more than 3 form with a possible-username input
bucket[4] = 0  // 0 doc has 4 or more than 4 form with a possible-username input

Depends on D113802

Differential Revision: https://phabricator.services.mozilla.com/D116237
2021-06-11 11:56:05 +00:00
Dimi Lee 4b3fa3554b Bug 1708455 - P8. Add AutoFillResult.FILLED_USERNAME_ONLY_FORM to record autofill in username-only forms. r=sfoster,tgiles
Depends on D113801

Differential Revision: https://phabricator.services.mozilla.com/D113802
2021-06-11 11:56:05 +00:00
Dimi Lee c79fee63b8 Bug 1708455 - P7. Support login capture for multipage login forms. r=sfoster,tgiles
This patch saves the username field in a username-only form when the form is submitted.
When another form in the same document is submitted after that, if the form doesn't
have a username field, we then use the username field found in the username-only form to capture login.

This fits the case that in a multipage sign-in form, the first form is
usually a username-only form and the second form is usually a password-only form.

However, in the current approach, if in the second form, there is an input field before the
password field, we will use the input field in the second form as the username field, not the username field
in the first form. For example, in a multipage registration form, the first form is a username-only form to
enter your email, and the second form has an input field to enter the last name and a password field. With the
current approach, we will save "last name" + "password" instead of "username" + "password".

An alternate is always using the username field in the first form or coming up with a heuristic
to "compare" the two username fields. But since I haven't found a real-world example of the above scenario,
using the current approach seems a safer way to introduce the feature.

Depends on D113800

Differential Revision: https://phabricator.services.mozilla.com/D113801
2021-06-11 11:56:04 +00:00
Dimi Lee 604e31d5d3 Bug 1708455 - P6. Support autocomplete in a username-only form. r=sfoster,tgiles
In the previous patch to support autofill, a username field in a
username-only form is marked as a login manager field in '_fillForm'.
So this patch only makes autocomplete highlight work when autocomplete a username field.

This patch calls '_highlightFilledField' in 'onUsernameAutoCompleted'
when the autocompleted field is the username field in a username-only
form.
This is because when we autocomplete a username field in a form with password fields,
the highlight is done in '_fillForm'. However, in the case of a username-only
form, we don't have to call '_fillForm' anymore due to no password to fill.

Depends on D113799

Differential Revision: https://phabricator.services.mozilla.com/D113800
2021-06-11 11:56:04 +00:00
Dimi Lee c03a1fd348 Bug 1708455 - P5. Support autofilling a username-only form. r=sfoster,tgiles
This patch does two things:
1. Checks whether a form is a username-only form after receiving 'DOMFormHasPossibleUsername' event.
   If it is, fetch logins from the parent to trigger form autofill.
2. Makes LoginManagerChild._fillForm compatible with an empty password field when there is an username field.

Depends on D113798

Differential Revision: https://phabricator.services.mozilla.com/D113799
2021-06-11 11:56:03 +00:00
Dimi Lee a8a701a4a6 Bug 1708455 - P4. Add DOMFormHasPossibleUsernameField event to notify the password manager when a form has a text input or an email input. r=sfoster,tgiles,smaug
Right now, we limit the type of a username field in username-only forms to be either text or email.
This is different from what the password manager currently support in LoginHelper.isUsernameFieldType.
This is because text and email type are the most common cases for a username field, and we want to focus
on the cases that are more likely a username field.

This patch adds "DOMFormHasPossibleUsername" event to notify the password manager when a form has a possible
username field (text or email). The event works similar to the existing "DOMFormHasPassword" event.

Depends on D113797

Differential Revision: https://phabricator.services.mozilla.com/D113798
2021-06-11 11:56:03 +00:00
Dimi Lee bb8bb066b1 Bug 1708455 - P3. Support showing password manager items in context menu for username fields that are in a username-only form. r=sfoster,tgiles
Before the patch, we don't show password manager items when there is no password fields found in a form.

In this patch, we do two things to support a username-only form in the context menu:
1. Add "other" category to fieldname hints. "other" is used for fields that are
   in a form but are neither "current-password", "new-password", nor "username".
   With the change, the "username" hint is now only used for fields that are considered a username field by the password manager.

2. When there is no password field in a form, ContextMenu also treat a
   form as a login form when the active field is a username field, which means it is a username-only form.

Depends on D113796

Differential Revision: https://phabricator.services.mozilla.com/D113797
2021-06-11 11:56:02 +00:00
Dimi Lee 8d762cf0e6 Bug 1708455 - P2. Support username-only forms in _getFormFields r=sfoster,tgiles
Before this patch, '_getFormFields' doesn't support forms without password fields.
In this patch, when a form doesn't have a password field, we use the
heuristic added in the previous patch to determine whether the form is a
username-only form. If it is, return the username field.

Depends on D113795

Differential Revision: https://phabricator.services.mozilla.com/D113796
2021-06-11 11:56:02 +00:00
Dimi Lee 28a04bb7a6 Bug 1708455 - P1. Add a heuristic to detect username-only login forms r=sfoster,tgiles
Differential Revision: https://phabricator.services.mozilla.com/D113795
2021-06-11 11:56:02 +00:00
Kagami Sascha Rosylight 74760a9a0e Bug 1713491 - Return std::pair from nsIFrame::GetOffsets r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D117520
2021-06-11 11:37:11 +00:00
Marian-Vasile Laza 1710dd4296 Backed out changeset a722491ae6b3 (bug 1713491) on devs request
CLOSED TREE
2021-06-11 14:31:46 +03:00
Kagami Sascha Rosylight 2d398fce26 Bug 1713491 - Remove return type of nsIFrame::GetOffsets r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D117485
2021-06-11 10:59:12 +00:00
Jon Coppeard e19f735ced Bug 1714141 - Remove unused 'producer' condition variable r=sfink
This is unused since the internal thread pool has its own now.

Differential Revision: https://phabricator.services.mozilla.com/D117162
2021-06-11 10:34:43 +00:00
Jon Coppeard 77bd390b78 Bug 1714141 - Use dispatch callback for internal thread pool r=sfink
We can use the dispatch task callback for the internal thread pool too,
removing some code specific to the latter.

Differential Revision: https://phabricator.services.mozilla.com/D117161
2021-06-11 10:34:43 +00:00
Jon Coppeard 7e55771b96 Bug 1714141 - Move internal thread pool into a new class r=sfink
Mostly this moves the code over to a new InternalThreadPool class in a new
source file. The initialization and shutdown code had to change a little
to make this work.

Differential Revision: https://phabricator.services.mozilla.com/D117160
2021-06-11 10:34:43 +00:00
Jon Coppeard 7c8a777970 Bug 1714141 - Make helper thread accessors private and remove only external use r=sfink
These are going to be removed.

Differential Revision: https://phabricator.services.mozilla.com/D117159
2021-06-11 10:34:42 +00:00
Gabriele Svelto 7cf5a3af6f Bug 1711418 - Record the OOM allocation size in WER crashes r=KrisWright
This patch adds a new field to the structures that WER reads from a
crashed process. This field contains a pointer to the global variable
that records the size of the last failed annotation.

When WER intercepts a crash it will use this address to read the
variable. If it's not zero it will add the corresponding annotation
to the crash report.

Depends on D116449

Differential Revision: https://phabricator.services.mozilla.com/D116450
2021-06-11 09:59:51 +00:00
Gabriele Svelto 910fd19b94 Bug 1711418 - Factorize the code that reads/writes memory to/from other processes r=KrisWright
Depends on D116017

Differential Revision: https://phabricator.services.mozilla.com/D116449
2021-06-11 09:59:50 +00:00
Gabriele Svelto 4bdb354ea7 Bug 1703761 - Flag crash reports intercepted by WER with a special annotation r=KrisWright
Since this added the new flag to the crash ping I also took the time to update
the crash ping documentation with all the flags that have been added and
removed over the last few versions of Firefox.

Depends on D115380

Differential Revision: https://phabricator.services.mozilla.com/D116017
2021-06-11 09:59:50 +00:00
Gabriele Svelto 74d553df16 Bug 1682518 - Add minidump generation for child processes in the WER module r=KrisWright
This also notifies the main process after the minidump has been generated.
I refactored the code a bit so the patch is probably larger than it should be
but the code should be a bit more readable overall.

With this change the minidump generation flow works like this:
- When the callback gets invoked in the WER process we read the structure that
  is stored in every process' to figure out if it's the main process or a child
  one. This is done by reading said process' memory, the pointer has been
  passed to the runtime exception module when it was registered.
- If the main process crashed everything works like it used to.
- If it was a child process then we first capture a minidump of it.
- Then we read the structure representing it in the main process:
  WindowsErrorReportingData. The address of this structure was passed into the
  child process' command-line so we need to parse that first, then we read it
  from the main process memory.
- We fill the structure and write it back into the main process memory.
- At this point if everything went fine we create a new thread in the main
  process just to execute the WerNotifyProc function that will inform the main
  process to the presence of the new minidump.

There's one important tidbit that's worth keeping in mind: the synchronization
between the main process and the WER process is implicit. The
WindowsErrorReportingData structure in the main process is kept alive until the
child process dies, the main process will destroy it only after that point. As
long as we're in the runtime exception module the crashed process is kept alive
so this will prevent the main process from touching that structure.
We explicitly terminate the crashed process **after** we're done with the
structure so nothing bad could happen... unless someone makes a change to
Gecko that breaks the previous assumption.

Another important thing to keep in mind: we wait for the newly created thread
to inform the main process but only for 5 seconds. We don't want to wait
indefinitely because the function that we're calling is taking a lock and if
it blocks for some reason WER will get stuck waiting for it, so it will never
kill the crashed process which in turn will prevent the main process from
moving ahead. In principle this should never happen but better be safe than
sorry.

Depends on D115379

Differential Revision: https://phabricator.services.mozilla.com/D115380
2021-06-11 09:59:50 +00:00
Gabriele Svelto a7c337103a Bug 1697895 - Register the WER runtime exception module in child processes r=KrisWright
This patch sets up a few different things that will be used by the WER runtime
exception module when it needs to notify the main process of a child process
crash.

For every child process we allocate a structure in the main process called
WindowsErrorReportingData that contains three things:
- The address of the function used to notify the main process that there's a
  pending minidump for a given child process
- The PID of said child process
- The name of the minidump that has been generated

The first field is filled up by the main process and will be read by the WER
process when running the runtime exception module, the second and third fields
on the other hand start empty and will be written into by the runtime exception
module after it has generated a minidump.

I know this sounds scary. It is. But bear with me please.

When we register the runtime exception module we can pass it a single
pointer-sized parameter but we need to pass it at least another pointer that
includes data coming from the child process itself (this one is called
InProcessWindowsErrorReportingData). This data currently includes only the
process type but will also include certain annotations in the future
(e.g. bug 1711418). So here's what we do: we store a pointer to the parent
data structure in the child process command-line (cringe) and we read it
from the runtime exception module by reading the crashed process command-line
arguments and parsing them (double-cringe).

Armed with this information the WER runtime exception module can populate
the info for the generated minidump and then push it into the main process
by calling CreateRemoteThread() (which creates a new thread in the main
process, triple-cringe at this point).

Differential Revision: https://phabricator.services.mozilla.com/D115379
2021-06-11 09:59:49 +00:00
Kagami Sascha Rosylight 9a794d46fa Bug 1715882 - Return void from Selection::Clear and ::NotifySelectionListeners r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D117469
2021-06-11 09:10:35 +00:00
Masayuki Nakano 5423cae57c Bug 1560396 - Replace `EditorBase::GetNodeAtRangeOffsetPoint()` with new API in `EditorDOMPointBase` r=m_kato
It's a static method and called only with `EditorDOMPointBase` instances.
So, we can add new API to `EditorDOMPointBase` instead.

Note that it's changed to return container when the container is a data node
rather than a text node.  This should be better because no data node can
have children.

Depends on D117382

Differential Revision: https://phabricator.services.mozilla.com/D117490
2021-06-11 08:57:18 +00:00
Gerald Squelart c953f2a74f Bug 1715844 - Fixed non-MOZ_GECKO_PROFILER build of MicroGeckoProfiler - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D117493
2021-06-11 08:43:42 +00:00
Marian-Vasile Laza 78f4bb0d4d Backed out changeset 7729e9dfb60a (bug 1715705) for causing failures in browser_bug1204626.js
CLOSED TREE
2021-06-11 12:12:52 +03:00
Marian-Vasile Laza 610b0ee572 Backed out 2 changesets (bug 1706616) for causing failures in browser_urlQueryStringStripping_telemetry.js
CLOSED TREE

Backed out changeset 7979a6bdcdae (bug 1706616)
Backed out changeset 0d901239cc7a (bug 1706616)
2021-06-11 11:22:51 +03:00
Tim Huang 5cc4c463b6 Bug 1706616 - Part 2: Add a test for the query stripping telemetry. r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D117007
2021-06-11 07:28:15 +00:00
Tim Huang eb7947462a Bug 1706616 - Part 1: Add telemetry probe for query stripping. r=dimi,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D117006
2021-06-11 07:28:15 +00:00
Valentin Gosu 1a1f42da37 Bug 1714307 - Run modernize-use-default-member-init --fix check on netwerk r=necko-reviewers,kershaw
This changeset is the result of adding modernize-use-default-member-init to
tools/clang-tidy/config.yaml then proceeding to run
`./mach static-analysis check netwerk/ --fix`
I then went through the resulting fix and manually updated all of the member
variables which were missed due to them having a non-trivial constructor.

Note that the tool was only run on Linux, so code that only runs on some
platforms may have been missed.

The member variables that are still initialized in the contructor definition
are:
  - bitfields (not all currently supported compilers allow default-member-init
  - variables that are initialized via a parameter
  - variables that use code not visible in the header file

There are a few advantages to landing this change:
- fewer lines of code - now declaration is in the same place as initialization
  this also makes it easier to see when looking at the header.
- it makes it harder to miss initializing a member when adding a new contructor
- variables that depend on an include guard look much nicer now

Additionally I removed some unnecessary reinitialization of NetAddr members
(it has a constructor that does that now), and changed nsWifiScannerDBus to
use the thread-safe strtok_r instead of strtok.

Differential Revision: https://phabricator.services.mozilla.com/D116980
2021-06-11 07:10:41 +00:00
Nicolas Chevobbe 690a925370 Bug 1715802 - [devtools] Remove testActor#getStyleSheetsInfoForNode. r=jdescottes.
The method was only used in one test, that was disabled
most of the time (only running on non-debug non-e10s).
It seems safe to remove it since we have a mochitest
that is checking ua stylesheets (browser_rules_user-agent-styles.js).

Differential Revision: https://phabricator.services.mozilla.com/D117438
2021-06-11 05:59:32 +00:00
Nicolas Chevobbe 01f1468023 Bug 1715577 - [devtools] Remove testActor#reloadFrame. r=jdescottes.
Differential Revision: https://phabricator.services.mozilla.com/D117437
2021-06-11 05:59:32 +00:00
Nicolas Chevobbe b1b976cac2 Bug 1715574 - [devtools] Remove testActor#scrollIntoView. r=jdescottes.
Depends on D117267

Differential Revision: https://phabricator.services.mozilla.com/D117436
2021-06-11 05:59:31 +00:00
Paul Bone 28716e0704 Bug 1715705 - Ask the parent before doing a MEMORY_PRESSURE GC r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D117396
2021-06-11 05:47:48 +00:00
Dorel Luca 7b8732cc36 Backed out changeset 3a5a0d8ea411 (bug 1699794) for Browser-chrome failures in browser/extensions/formautofill/test/browser/browser_autocomplete_footer.js. CLOSED TREE 2021-06-11 08:16:37 +03:00
owlishDeveloper 6e8d713c5a Bug 1699794 - [2.0] Add address autocomplete tests r=geckoview-reviewers,agi
Depends on D109139

Differential Revision: https://phabricator.services.mozilla.com/D109137
2021-06-11 03:58:30 +00:00
Iulian Moraru d5be2d4af2 Backed out 5 changesets (bug 1682518, bug 1703761, bug 1711418, bug 1697895) for causing build bustages on nsEmbedFunctions.cpp. CLOSED TREE
Backed out changeset d747dd950198 (bug 1711418)
Backed out changeset 58092e594233 (bug 1711418)
Backed out changeset d9b5dd9f7307 (bug 1703761)
Backed out changeset 345c36d8e46b (bug 1682518)
Backed out changeset a9be55acfd91 (bug 1697895)
2021-06-11 07:08:38 +03:00
Masayuki Nakano e57b20394e Bug 1713760 - Make `HTMLEditor` inherit `EditorBase` directly r=m_kato
For making it clearer that `TextEditor` has only its specific members.  For
guaranteeing that, we should split `TextEditor` and `HTMLEditor`.

Differential Revision: https://phabricator.services.mozilla.com/D117382
2021-06-11 03:01:09 +00:00
Masayuki Nakano db1228b24c Bug 1714918 - Sort out editor class accessors of `nsIEditor` r=m_kato
For consistency with the similar internal DOM API, `As*()` should just cast
the type without checking editor type.  Instead, `GetAs*()` should do it.

Differential Revision: https://phabricator.services.mozilla.com/D117381
2021-06-11 03:01:08 +00:00
Glenn Watson 38119d0d9d Bug 1715663 - Remove fractional device offset invalidation r=gfx-reviewers,aosmond
Now that picture cache tiles establish raster roots, we can
separate the tile (compositor surface) transform from the local
transform of the tile.

This means we no longer need to check and invalidate tiles if a
fractional device space position is set (we can either round to
a device pixel in the compositor transform, or supply a fractional
translation to the compositor and allow it to handle it).

Differential Revision: https://phabricator.services.mozilla.com/D117378
2021-06-11 02:53:15 +00:00
Sebastian Hengst 90638e628c Bug 1715559 - set accent-color test step in forced-colors-mode-41.html as passing outside Nightly. r=emilio DONTBUILD
Bug 1713987 added accent-color as a tested property which got implement as
prototype in bug 1705605 but only enabled in Nightly.

Differential Revision: https://phabricator.services.mozilla.com/D117443
2021-06-10 23:45:29 +00:00
Eitan Isaacson 6ac35e15fc Bug 1714390 - P7: Add custom de/serializer for AccAttributes. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D116788
2021-06-10 23:07:07 +00:00
Eitan Isaacson 349592fb91 Bug 1714390 - P6: Make more attribute keys static atoms. r=Jamie
Keys should be static atoms whenever possible.

Differential Revision: https://phabricator.services.mozilla.com/D116787
2021-06-10 23:07:07 +00:00
Eitan Isaacson 4fc2c36ea8 Bug 1714390 - P5: Use static aria_* atoms for aria attributes. r=Jamie
ATK, Windows and XPCOM expect aria attribute keys to be stripped of
their aria- prefix. We should still store the item using the aria_ atom
and then strip the prefix when converting the key to a string.

Differential Revision: https://phabricator.services.mozilla.com/D116786
2021-06-10 23:07:07 +00:00