Commit Graph

765504 Commits

Author SHA1 Message Date
Nika Layzell
43b384edf0 Bug 1650089 - Part 4: Update various tests with new expectations, r=annyG,kmag
The changes in the previous part had a few behaviour changes which are visible
in tests, including cross-origin iframes with sandboxed origins now loading
remotely, and process selection for chrome-triggered null principal loads
behaving differently. In general this caused more process switches.

Differential Revision: https://phabricator.services.mozilla.com/D120674
2021-08-06 00:10:57 +00:00
Nika Layzell
58c1037005 Bug 1650089 - Part 3: Rework DocumentChannel-triggered process switches to support null principals, r=annyG,kmag
This is a large refactoring of the DocumentChannel process switch codepath,
with the end goal of being better able to support future process switch
requirements such as dynamic isolation on android, as well as the immediate
requirement of null principal handling.

The major changes include:
1. The logic is in C++ and has less failure cases, meaning it should be harder
   for us to error out unexpectedly and not process switch.
2. Process selection decisions are more explicit, and tend to rely less on
   state such as the current remoteType when possible. This makes reasoning
   about where a specific load will complete easier.
3. Additional checks are made after a "WebContent" behavior is selected to
   ensure that if an existing document in the same BCG is found, the load will
   finish in the required content process. This should make dynamic checks such
   as Android's logged-in site isolation easier to implement.
4. ProcessIsolation logging is split out from DocumentChannel so that it's
   easier to log just the information related to process selection when
   debugging.
5. Null result principal precursors are considered when performing process
   selection.

Other uses of E10SUtils for process selection have not yet been migrated to the
new design as they have slightly different requirements. This will be done in
follow-up bugs.

Differential Revision: https://phabricator.services.mozilla.com/D120673
2021-08-06 00:10:57 +00:00
Nika Layzell
635f4349e6 Bug 1650089 - Part 2: Track which ContentParent is used to create a DocumentLoadListener, r=annyG,kmag
There are races which are more common after these patches where an implicit
about:blank load races with a speculative parent process load's process switch.
In this situation, bad behaviour can result as we process a navigation started
by a process which we process-switched away from. By tracking the explicit
ContentParent which is making the DocumentLoadListener request, we can catch
situations like this and avoid navigations being started from the wrong
processes.

Differential Revision: https://phabricator.services.mozilla.com/D120672
2021-08-06 00:10:56 +00:00
Nika Layzell
649f35f3a0 Bug 1650089 - Part 1: Add a remoteTypeOverride option for about:blank loads triggered by chrome, r=annyG,kmag
After the changes in this bug, about:blank loads triggered by chrome will
finish in a "web" content process, as they have an untrusted null principal
without a precursor. In a few places throughout the codebase, however, we
perform about:blank loads with the explicit expectation that they do not change
processes. This new remoteTypeOverride option allows the intended final process
to be explicitly specified in this situation.

For security & simplicity reasons, this new attribute is limited to only be
usable on system-principal triggered loads of about:blank in toplevel browsing
contexts.

Differential Revision: https://phabricator.services.mozilla.com/D120671
2021-08-06 00:10:56 +00:00
Hiroyuki Ikezoe
a0acfbf244 Bug 1724327 - Replace nsLayoutUtils::GetCrossDocParentFrame in CreateAnimationData with nsLayoutUtils::GetCrossDocParentFrameInProcess. r=boris
It's non WebRender specific, so it will not be a problem on Fission,
additionally it's not used on non WebRender with retained display stuff
either.

Differential Revision: https://phabricator.services.mozilla.com/D121929
2021-08-06 00:00:50 +00:00
Butkovits Atila
89bd20e156 Backed out changeset 764c89215e1d (bug 1724081) for Lint failures. CLOSED TREE 2021-08-06 02:29:15 +03:00
Eitan Isaacson
7255c6bf8e Bug 1723614 - P2: Robustify name change events and use events in name tests. r=Jamie
Changed the browser and mochitest name tests to rely exclusively on name change
events. To make this happen, I fixed all the cases where we were
event-deficient in the code:

* Examine target in PushNameOrDescriptionChange if it has eNameFromSubtreeRule.
  Fixes cases where a text change event happens with the subtree name root as target.
* Change in aria-labelledby should always result in a name change event because
  that attribute has highest prescedence.
* Add eHasNameDependent/eHasDescriptionDependent context flags when dependee accessible
  is added after dependent accessible to tree.
* Handle value attribute change in HTML buttons and determine if they should trigger a
  name changed event.
* Use accessible tree instead of content tree when calculating HTMLSelectOptionAccessible
  name, this keeps the PushNameOrDescriptionChange sees in name flags consistent with
  the actual tree.
* Handle label attribute change in select options and determine if they should trigger
  a name changed event.
* Determine if s summary attribute change on a table triggers a name change event.
* If a title attribute is changed, reliably fire a name change event if
  it is used in name calculation.

Differential Revision: https://phabricator.services.mozilla.com/D121580
2021-08-05 23:04:17 +00:00
Eitan Isaacson
caafeaea2a Bug 1723614 - P1: Override DOMAttributeChanged where it makes sense. r=Jamie
Added a MIXED state change event when progress goes from determinate to
undeterminate.

Differential Revision: https://phabricator.services.mozilla.com/D121579
2021-08-05 23:04:17 +00:00
Jared Hirsch
aa43eab211 Bug 1724081 - Stop sending analytics pings to the Screenshots server. r=emalysz
Differential Revision: https://phabricator.services.mozilla.com/D121796
2021-08-05 23:01:48 +00:00
Anny Gakhokidze
51157f7065 Bug 1704001 - Add a comment explaining HasLoadedNonInitialDocument for BrowsingContext.h, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D121910
2021-08-05 22:54:33 +00:00
Nika Layzell
68454cb184 Bug 1722378 - Part 4: Use mInitialized to determine whether to expose BrowsingContext from nsFrameLoader, r=smaug
Without this change, the initialized changes cause failures around
crashed tabs, as the `frameLoader.browsingContext` getter returns null
after the tab has crashed due to being unable to start a new remote
browser or docshell using the same browsingContext.

The new behaviour avoids creating duplicate hosts for a given
BrowsingContext by instead returning the existing potentially-discarded
browsingContext in these situations.

Depends on D121689

Differential Revision: https://phabricator.services.mozilla.com/D121891
2021-08-05 22:33:17 +00:00
Nika Layzell
68248797fb Bug 1722378 - Part 3: Use AncestorsAreCurrent in InitWithProcess, r=smaug
This method was added since the original checks were written, and implements
roughly the same behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D121689
2021-08-05 22:33:17 +00:00
Nika Layzell
bcf6a3ec9a Bug 1722378 - Part 2: Ensure we don't try to initialize a nsFrameLoader multiple times, r=smaug
I'm unsure if this is the cause of our crashes, but there is a chance that we
are somehow attempting to re-initialize a nsFrameLoader after it has been
destroyed, and thus re-connecting to a process which has has an
already-destroyed browser. This adds a flag to prevent initialization from
being attempted multiple times for a nsFrameLoader.

Differential Revision: https://phabricator.services.mozilla.com/D121688
2021-08-05 22:33:16 +00:00
Nika Layzell
7b9cca0ddf Bug 1722378 - Part 1: Include more information in crashes due to a BrowsingContext being discarded, r=smaug
This should hopefully make it easier to figure out the cause of future crashes
from this assertion by including slightly more information in the crash
message. This should be helpful if the changes in part 2 don't end up fixing
the underlying issue.

Differential Revision: https://phabricator.services.mozilla.com/D121687
2021-08-05 22:33:16 +00:00
Jonathan Kew
eb97877ed9 Bug 1724182 - Unescape the fragment from the URL when using as an internal PDF destination. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D121861
2021-08-05 22:07:37 +00:00
Geoff Lankow
8bd54d132a Bug 1724114 - Clear registered handlers after use in a test. r=mkaply
Differential Revision: https://phabricator.services.mozilla.com/D121820
2021-08-05 21:54:52 +00:00
Aaron Klotz
bf8b4f7ab8 Bug 1724085: Replace aklotz with asferro in telemetry alerts; r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D121783
2021-08-05 21:19:37 +00:00
Andre Natal
fa52082634 Bug 1723637 - Prevent Firefox Translations extension id of changing when building locally r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D121586
2021-08-05 20:47:42 +00:00
Doug Thayer
cf0be2549f Bug 1720609 - Renew slow_script_warning.shown probe r=Gijs
I don't see why we would want this to go away. The slow script warning is going
to continue to exist, and I think it's unlikely that we won't ever make changes
to its logic, so it makes sense to continue monitoring it.

Differential Revision: https://phabricator.services.mozilla.com/D121553
2021-08-05 20:21:30 +00:00
Olli Pettay
42e939719a Bug 1724107, be more precise when counting the number of allocator users, r=KrisWright
The patch is based on code inspection.

One could move sAllocatorUsers also to Free(), but shouldn't matter in practise.

Differential Revision: https://phabricator.services.mozilla.com/D121868
2021-08-05 19:36:32 +00:00
Butkovits Atila
74a8d8dd6b Backed out changeset e0eb8376a840 (bug 1716825) for causing Btime failures. CLOSED TREE 2021-08-05 23:58:46 +03:00
Kashav Madan
6f9ccaf7d9 Bug 1722485 - Only flush session storage if we have SessionStore.jsm, r=nika
This is a browser-only module, and loading it for storage flushes causes errors
in GeckoView.

Differential Revision: https://phabricator.services.mozilla.com/D121776
2021-08-05 19:33:04 +00:00
Ting-Yu Lin
b6892b6a77 Bug 1724143 - Fix flexbox-align-self-baseline-horiz-3.xhtml. r=dholbert
On Android, Windows and my local Linux machine, the height of
`.flexbox > label` in the reference is 0.5px shorter than its counterpart
in the test file, so I change `.flexbox > label` to
`display: inline-block` in the reference to fix its height since flex
items are blockified.

Also, remove unused styles.

Differential Revision: https://phabricator.services.mozilla.com/D121827
2021-08-05 18:49:00 +00:00
Nick Alexander
8299caa95c Bug 1724247 - Post: Make test publisher subject more than CN; use universal_newlines=True. r=firefox-build-system-reviewers,mhentges
This commit does three things:

1. It makes thes MSIX test publisher subject "CN=..., OU=...".  This
   is more like the actual Firefox signing certificates".

2. It moves to use `universal_newlines=True` rather than decoding manually.

3. It fixes an oversight where a particular Powershell invocation
   would fail when a certificate was missing.

Differential Revision: https://phabricator.services.mozilla.com/D121902
2021-08-05 18:42:19 +00:00
Doug Thayer
554bc76540 Bug 1546847 - SessionStore _cachedObjs fixup code for backout r=Gijs
Depends on D121898

Differential Revision: https://phabricator.services.mozilla.com/D121899
2021-08-05 18:34:57 +00:00
Doug Thayer
f907b5b4a4 Bug 1546847 - Backed out bug 1546847 and related revs r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D121898
2021-08-05 18:34:56 +00:00
Emilio Cobos Álvarez
4d98e7e79f Bug 1721262 - Make sure to reflow the line again if we bail out of reflow due to break-inside: avoid. r=dholbert
The issue is that we mark the second input as dirty when it gets the
reflow request (this is as expected), but then during multicol reflow
everything seems to go smoothly, but we hit this code:

  https://searchfox.org/mozilla-central/rev/00977c4e37865a92f1c15572ae4aea90e934b25b/layout/generic/nsBlockFrame.cpp#3745

And bail out, leaving the line marked as not dirty, and as such the
stuff inside the page-break-inside: avoid dirty.

When it changes further, we think it's already dirty so don't bother
adding it to the dirty root list anymore and the text frame remains with
its original tiny width.

Differential Revision: https://phabricator.services.mozilla.com/D121869
2021-08-05 18:21:55 +00:00
Tom Schuster
a0128c7638 Bug 1724206 - Use WebExtensionPolicy webidl definition for addonPolicy property on nsIPrincipal. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D121889
2021-08-05 18:16:17 +00:00
Geoff Brown
342a867eea Bug 1724244 - Increase android-em reftest test chunks to avoid intermittent timeouts; r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D121901
2021-08-05 18:06:12 +00:00
Kajal Sah
c9be904cff Bug 1722449 - Adds markup to the tab dialog box for screenshot component. r=emalysz
Differential Revision: https://phabricator.services.mozilla.com/D120931
2021-08-05 17:43:00 +00:00
Iulian Moraru
8087e2edb3 Backed out changeset e5e9bf4c7e67 (bug 1724088) for causing reftest failures on iframe-modify-scrolling-attr-to-yes.html. CLOSED TREE 2021-08-05 20:54:22 +03:00
Florian Quèze
39d533b177 Bug 1724222 - Add profiler markers in DeferredTask, r=mconley.
Differential Revision: https://phabricator.services.mozilla.com/D121887
2021-08-05 17:30:09 +00:00
Sebastian Hengst
6eb0d2ed1f Bug 1724258 - remove method to target mochitest valgrind tasks for scheduling. r=jmaher
The tasks haven't been scheduled anymore since bug 1538560 landed 2 years ago.

Differential Revision: https://phabricator.services.mozilla.com/D121897
2021-08-05 17:27:39 +00:00
Nick Alexander
b71169f3ce Bug 1724247 - Specify full publisher subject in MSIX repackages. r=bhearsum
Installing the Nightly MSIX packages, signed with Mozilla's Nightly
key, yields an error: "Error in parsing the app package."  Unpacking
with `makeappx.exe` yields:
```
MakeAppx : error: Error info: error 8007000B: The app manifest publisher name (CN=Mozilla Corporation) must match the subject name of the signing certificate (CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US).
```

Previously, we allowed just the `CN` to vary; in this patch we make
the publisher be the entire publisher subject, and we update the
publisher details in the task definitions.

Differential Revision: https://phabricator.services.mozilla.com/D121896
2021-08-05 17:21:50 +00:00
Kimberly Sereduck
62fe64a298 Bug 1716825: Navigate to a sub-page rather than about:blank for warm pageloads;r=perftest-reviewers,Bebe
Differential Revision: https://phabricator.services.mozilla.com/D120718
2021-08-05 17:21:18 +00:00
Gijs Kruitbosch
467ff60c04 Bug 1663571, r=mak
Differential Revision: https://phabricator.services.mozilla.com/D89680
2021-08-05 17:03:34 +00:00
Markus Stange
e10a7acfc3 Bug 1724088 - Don't notify ScrollbarActivity in scroll frames without scrollbars. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D121784
2021-08-05 17:00:09 +00:00
Jon Coppeard
b1a5cce7f2 Bug 1724234 - Remove unused shell 'intern' function r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D121885
2021-08-05 16:54:49 +00:00
Emma Malysz
c5375c273c Bug 1723583: add tab dialog box to screenshots component r=sfoster
Differential Revision: https://phabricator.services.mozilla.com/D120745
2021-08-05 16:50:03 +00:00
Iain Ireland
b14bc4ae8d Bug 1723943: Disable bailout loop assertion during oomTest r=jandem
The testcase for this is slow and fragile, and I don't think it adds any value.

Differential Revision: https://phabricator.services.mozilla.com/D121779
2021-08-05 16:28:57 +00:00
Cosmin Sabou
3763c6780e Backed out 2 changesets (bug 1723583, bug 1722449) for failures on browser_all_files_referenced.js. CLOSED TREE
Backed out changeset 8eb9e75580b6 (bug 1722449)
Backed out changeset 6819370bba6d (bug 1723583)
2021-08-05 19:02:13 +03:00
Jon Bauman
909cb45a39 Bug 1682995 - Enable AVIF support by default. r=jrmuizel,necko-reviewers,preferences-reviewers,valentin,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D121819
2021-08-05 15:48:00 +00:00
Jon Bauman
1fbcf87b11 Bug 1634741 - AVIF (AV1 Image File Format): proper color space support. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D121764
2021-08-05 15:47:59 +00:00
Dorel Luca
00fc23a49d Backed out 2 changesets (bug 1723921) for Mochitest failures in layout/inspector/tests/test_getCSSPseudoElementNames.html. CLOSED TREE
Backed out changeset 5e9348094ee1 (bug 1723921)
Backed out changeset e55c2177bbd2 (bug 1723921)
2021-08-05 18:44:42 +03:00
Cosmin Sabou
b7b2c56f58 Bug 1715832 - Add missing space in order to fix lint failure. a=lint-fix DONTBUILD 2021-08-05 18:36:53 +03:00
Emilio Cobos Álvarez
52b8ae8e0f Bug 1723921 - Fix test_getCSSPseudoElementNames.
MANUAL PUSH: Trivial orange fix CLOSED TREE
2021-08-05 17:38:16 +02:00
Michelle Goossens
4e17d6ab26 Bug 1723531 - Move Windows 10 x64 2004 ccov back to the old workers r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D121752
2021-08-05 15:17:04 +00:00
Michelle Goossens
12b56682ee Bug 1715832 - Part 4: Move web-platform-tests reftests over to Azure with GPU instead of hardware workers r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D121526
2021-08-05 15:17:04 +00:00
Michelle Goossens
cb2da5cbf0 Bug 1718326 - Part 2: Migrate web-platform-tests suite to new Azure Windows 10 2004 workers r=jmaher,webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D121490
2021-08-05 15:17:03 +00:00
Mitchell Hentges
73710e3148 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-08-05 15:14:20 +00:00