Commit Graph

703244 Commits

Author SHA1 Message Date
Jeff Walden
142e06a293 Bug 1502355 - React to a stream reader read result. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D71856
2020-04-23 21:55:58 +00:00
Jeff Walden
ce75af67e1 Bug 1502355 - Read from the source stream once permitted to do so. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D71855
2020-04-23 21:54:47 +00:00
Nika Layzell
641777e370 Bug 1580565 - Part 7: Handle attaching WindowContext to zombie BrowsingContext in the child, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D71805
2020-04-23 21:52:53 +00:00
Nika Layzell
88293ee406 Bug 1580565 - Part 6: Add a unique ID to each BrowsingContextGroup, r=kmag
This allows us to explicitly specify BrowsingContextGroups when synchronizing
them. A major advantage of this is that it means we can handle an attempt to
create a BrowsingContext with a parent which the content process is unaware of,
which is possible due to changes to the EnsureSubscribed logic in earlier
patches in this stack.

This is OK, because in the case where the content process cannot see its parent,
the parent must be imminently discarding.

Differential Revision: https://phabricator.services.mozilla.com/D71668
2020-04-23 21:52:51 +00:00
Nika Layzell
5e242428d9 Bug 1580565 - Part 5: Remove redundant 'mParent' member, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D71239
2020-04-23 21:52:49 +00:00
Nika Layzell
8f2ceafb38 Bug 1580565 - Part 4: Use WindowContext to manage BrowsingContext cached status, r=farre
The existing infrastructure which stored cached BrowsingContexts on the
BrowsingContextGroup was added before WindowContexts were added, and can cause
racing issues with partially discarded trees during process switches.

Differential Revision: https://phabricator.services.mozilla.com/D71238
2020-04-23 21:52:47 +00:00
Nika Layzell
989454dc24 Bug 1580565 - Part 3: Simplify API for creating independent BCs, r=farre
There were previously a number of different APIs for creating BrowsingContext
instances. This simplifies them into two major cases: "CreateDetached", which
allows for creating BrowsingContexts which are related to other
BrowsingContexts, and "CreateIndependent" which creates new, fully unrelated,
browsing contexts.

Differential Revision: https://phabricator.services.mozilla.com/D71237
2020-04-23 21:52:44 +00:00
Nika Layzell
6b085abf8a Bug 1580565 - Part 2: Delay creating nsFrameLoader in static clone until embedder has window, r=smaug
Follow-up parts in this bug depend on being able to read the `nsGlobalWindow`
which embeds a `nsFrameLoader` within `CreateBrowsingContext`, which is called
from the `nsFrameLoader` constructor. Unfortunately, we depend on creating the
`nsFrameLoader` and `BrowsingContext` before we have the window as part of the
fix to bug 1577711.

This patch changes `BuildNestedPrintObjects` to instead use a list of pending
clones stored on the parent `Document` object, and delays creation of the
`nsFrameLoader`, and thus the inner `BrowsingContext`, until after the document
has an owner global.

Due to the low number of automated tests for printing, I manually tested
print-previewing both the reduced test case from bug 1577711, a wikipedia
article, and 'data:text/html,<object data="data:text/html,hi">' to avoid
regressions.

Differential Revision: https://phabricator.services.mozilla.com/D71236
2020-04-23 21:52:37 +00:00
Nika Layzell
c29b657a48 Bug 1580565 - Part 1: Clean up misleading BrowsingContext comments, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D71235
2020-04-23 21:52:35 +00:00
Dão Gottwald
c8d56c1ef5 Bug 1577029 - Remove bogus max-height from Firefox Account menu header. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D72025
2020-04-23 21:56:02 +00:00
Gregory Mierzwinski
5b8e43c99f Bug 1625470 - Part 3: Add CI tasks for Chrome and Fenix live site tests. r=perftest-reviewers,Bebe
This patch adds the new live site tests as Raptor-Browsertime tasks in CI. These will be scheduled to run through the general-perf-testing cron task on Monday/Wednesday/Friday.

Differential Revision: https://phabricator.services.mozilla.com/D69053
2020-04-23 13:05:15 +00:00
Gregory Mierzwinski
eb32b94f43 Bug 1625470 - Part 2: Add new live-site-only tests to Raptor-Browsertime. r=perftest-reviewers,AlexandruIonescu
This patch adds some new live-site-only tests to Raptor-Browsertime, these will run on Fenix, & Chrome in CI but are enabled for all mobile browsers. The live sites reside in a new `live` folder since they can be used on desktop and mobile if needed.

Differential Revision: https://phabricator.services.mozilla.com/D69052
2020-04-21 20:28:57 +00:00
Gregory Mierzwinski
a417067744 Bug 1625470 - Part 1: Add --live-sites command line option to Raptor. r=perftest-reviewers,Bebe,AlexandruIonescu
This is the first patch of a multi-part patch to enable live site testing on Google Chrome for Android and Fenix. It adds the `--live-sites` command line option that disables the mozproxy playback (or enables live sites) when it is supplied.

Differential Revision: https://phabricator.services.mozilla.com/D69051
2020-04-23 10:02:06 +00:00
Dão Gottwald
59656c1f31 Bug 1631613 - Re-enable browser_waitForFocus.js r=mak
Differential Revision: https://phabricator.services.mozilla.com/D71995
2020-04-23 21:48:10 +00:00
Michael Froman
eb2222bf34 Bug 1629529 - fix shutdown dispatch assert in WebrtcTCPSocket. r=bwc
If we're shutting down and mSocketThread is no longer accepting work,
this dispatch can fail.  As far as I can see, fully fixing this would
require changes to nsIThread in order to allow checking whether the
thread is shutting down.

Differential Revision: https://phabricator.services.mozilla.com/D71964
2020-04-23 21:42:21 +00:00
Emilio Cobos Álvarez
8165749eb7 Bug 1509418 - Collect ancestor hashes from single-length :is and :where selector lists. r=heycam,boris
We can only collect hashes from single-length selectors, as described in
the comment.

Differential Revision: https://phabricator.services.mozilla.com/D71458
2020-04-23 19:20:35 +00:00
Emilio Cobos Álvarez
bfd3683e13 Bug 1509418 - Handle disjoint selectors in the selector map. r=heycam,boris
This way, something like:

  *:where(.foo, .bar)

Will end up twice on the selector map, just as if you would've written
.foo, .bar.

But we're a bit careful to not be wasteful, so:

  .foo:where(div, span)

Will still end up using the .foo bucket.

It needs a bit of borrow-checker gymnastics to avoid cloning the entry
in the common path. It's a bit gross but not too terrible I think.

Differential Revision: https://phabricator.services.mozilla.com/D71457
2020-04-23 19:20:27 +00:00
Emilio Cobos Álvarez
c29fc8d2bf Bug 1509418 - Enable the feature in Nightly. r=heycam,boris
There are a bunch of missing tests, and there are some tests that don't
match the current spec text, that I need to write or fix before I enable the
feature everywhere.

But there are fairly complex invalidation tests, that we pass flawlessly :)

Differential Revision: https://phabricator.services.mozilla.com/D71424
2020-04-23 19:20:25 +00:00
Emilio Cobos Álvarez
31dc1cb456 Bug 1509418 - Optimize invalidation by scanning the rightmost compound inside :where() and :is() with the outer visitor. r=heycam,boris
See the comment about why this is valuable. For a selector like:

    .foo:is(.bar) > .baz

Before this patch we'd generate an Dependency for .bar like this:

    Dependency {
        selector: .bar,
        offset: 0,
        parent: Some(Dependency {
            selector: .foo:is(.bar) > .baz,
            offset: 1, // Pointing to the `>` combinator.
            parent: None,
        }),
    }

After this patch we'd generate just:

    Dependency {
        selector: .foo:is(.bar) > .baz,
        offset: 1, // Pointing to the `>` combinator.
        parent: None,
    }

This is not only less memory but also less work. The reason for that is that,
before this patch, when .bar changes, we'd look the dependency, and see there's
a parent, and then scan that, so we'd match `.bar` two times, one for the
initial dependency, and one for .foo:is(.bar).

Instead, with this we'd only check `.foo:is(.bar)` once.

Differential Revision: https://phabricator.services.mozilla.com/D71423
2020-04-23 19:20:17 +00:00
Emilio Cobos Álvarez
9c9a799887 Bug 1509418 - Make Invalidation work in terms of a dependency, not a selector. r=heycam,boris
That way we can look at the parent dependency as described in the previous
patch. An alternative would be to add a:

    parent_dependency: Option<&'a Dependency>

on construction to `Invalidation`, but this way seems slightly better to avoid
growing the struct. It's not even one more indirection because the selector is
contained directly in the Dependency struct.

Differential Revision: https://phabricator.services.mozilla.com/D71422
2020-04-23 19:20:10 +00:00
Emilio Cobos Álvarez
9a6a14fb98 Bug 1509418 - Keep track of nested dependencies for :where() and :is(). r=heycam,boris
The tricky part of :is() and :where() is that they can have combinators inside,
so something like this is valid:

  foo:is(#bar > .baz) ~ taz

The current invalidation logic is based on the assumption that you can
represent a combinator as a (selector, offset) tuple, which are stored in the
Dependency struct. This assumption breaks with :is() and :where(), so we need
to make them be able to represent a combinator in an "inner" selector.

For this purpose, we add a `parent` dependency. With it, when invalidating
inside the `:is()` we can represent combinators inside as a stack.

The basic idea is that, for the example above, when an id of "bar" is added or
removed, we'd find a dependency like:

    Dependency {
        selector: #bar > .baz,
        offset: 1, // pointing to the `>` combinator
        parent: Some(Dependency {
            selector: foo:is(#bar > .baz) > taz,
            offset: 1, // Pointing to the `~` combinator.
            parent: None,
        })
    }

That way, we'd start matching at the element that changed, towards the right,
and if we find an element that matches .baz, instead of invalidating that
element, we'd look at the parent dependency, then double-check that the whole
left-hand-side of the selector (foo:is(#bar > .baz)) actually changed, and then
keep invalidating to the right using the parent dependency as usual.

This patch only builds the data structure and keeps the code compiling, the
actual invalidation work will come in a following patch.

Differential Revision: https://phabricator.services.mozilla.com/D71421
2020-04-23 19:20:03 +00:00
Oana Pop Rus
ad7b9bc6f5 Backed out changeset 7b46a8bfc6af (bug 1415146) for mochitest failures in test_navigator_language.html on a CLOSED TREE 2020-04-24 02:54:52 +03:00
Mike Hommey
56ca1ef0e7 Bug 1631211 - In configure, pass extra compiler flags after source path. r=dmajor,rstewart
When running e.g. check_symbols with extra flags like when checking
for vpx_codec_dec_init_ver when building against system libvpx, in some
configurations, the test can fail when the library flags (-l) appear
before the source file path.

The reason is that in some configurations, the compiler passes
--as-needed to the linker before both the flags and the object file
path, and the object file path is in the same position as the source
file path was. With --as-needed, -l flags are dropped if the library
wasn't needed for any of the linked code that appears *before* the flag.
So linking with `--as-needed -lfoo foo.o`, is equivalent to linking with
`foo.o` only in practice, while `--as-needed foo.o -lfoo` is equivalent
to `foo.o -lfoo`.

Differential Revision: https://phabricator.services.mozilla.com/D71456
2020-04-23 21:46:01 +00:00
Tom Schuster
7abdca1793 Bug 1631196 - Implement MPRIS Raise event by focusing the window playing media. r=alwu
Implement MPRIS Raise event by focusing the window playing media.

Differential Revision: https://phabricator.services.mozilla.com/D71450
2020-04-23 19:32:34 +00:00
Jeff Walden
c4b2d338a2 Bug 1624266 - Uh, actually properly do not define (or pretend to the definition of) the global "SharedArrayBuffer" constructor in all potential probing circumstances, rather than do it halfway and incompetently. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D71730
2020-04-23 21:39:46 +00:00
Simon Fraser
815925ab00 Bug 1632531 - Ensure unique working directory for parallel use. r=mtabara
Bug 1632531 Refactor funsize/partials to remove unused code, add safer checks

Differential Revision: https://phabricator.services.mozilla.com/D72162
2020-04-23 21:37:44 +00:00
Gavin Lazar Suntop
03a27fdb17 Bug 1628045 - New hero layout variant r=thecount
Differential Revision: https://phabricator.services.mozilla.com/D71072
2020-04-23 21:32:26 +00:00
Tarek Ziadé
fff1b40b7b Bug 1632482 - close all tabs at the end of a condprof scenario r=whimboo
This patch makes sure all tabs are closed before we close the
browser.

Differential Revision: https://phabricator.services.mozilla.com/D72158
2020-04-23 21:33:47 +00:00
Daniel Holbert
7cc10f2dc5 Bug 1632388 part 2: Regenerate the devtools CSS db (to pick up a typo-fix from its template). r=gregtatum
This patch's changes were automatically generated by the following command:
  ./mach devtools-css-db

Differential Revision: https://phabricator.services.mozilla.com/D72098
2020-04-23 19:53:57 +00:00
Daniel Holbert
6e01bf3cd9 Bug 1632388 part 1: Update devtools properties-db.js.in template to correct a typo in a code-comment's reference to an in-tree directory. r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D72097
2020-04-23 19:54:04 +00:00
Mike Hommey
55f5d3fe7a Bug 1632354 - Switch a few mach commands to python 3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D72087
2020-04-23 21:30:39 +00:00
Jason Laster
9f9472df1c Bug 1630742 - cmd+click should continue to here. r=davidwalsh
Differential Revision: https://phabricator.services.mozilla.com/D71217
2020-04-23 16:52:58 +00:00
Adam Gashlin
fa5cec1891 Bug 1632452 - Label the bg image as presentation only. r=mhowell
In particular this stops NVDA from reading out the full path of the background image on every
mouseover.

Differential Revision: https://phabricator.services.mozilla.com/D72210
2020-04-23 21:06:41 +00:00
Adam Gashlin
ce756930fb Bug 1632499 - Disallow dragging of background image. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D72191
2020-04-23 19:17:58 +00:00
Dale Harvey
4ccaa0f9aa Bug 1615060 - Add distribution engines to m-c r=Standard8,mkaply
Differential Revision: https://phabricator.services.mozilla.com/D67231
2020-04-23 21:01:10 +00:00
Tooru Fujisawa
feac3e9061 Bug 1629741 - Move FunctionFlags, GeneratorKind, FunctionAsyncKind, FunctionSyntaxKind to their own headers. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D71155
2020-04-23 21:44:07 +00:00
Tarek Ziadé
b1ad9498a5 Bug 1632404 - added missing error logger r=sparky
The android layer calls layer.error(), let's make sure it's
really there :)

Differential Revision: https://phabricator.services.mozilla.com/D72102
2020-04-23 21:46:49 +00:00
Tarek Ziadé
92eb19eb28 Bug 1632402 - added --browsertime-iterations r=sparky
Added the --browsertime-iterations option

Differential Revision: https://phabricator.services.mozilla.com/D72101
2020-04-23 19:40:56 +00:00
Tarek Ziadé
b6d9b10181 Bug 1632267 - Clean up the android layer r=acreskey
We're back to an explicit --android option and --android-app-name, the layer won't use the --browser-binary option as an implicit
fallback anymore. This is cleaner.

Differential Revision: https://phabricator.services.mozilla.com/D72031
2020-04-23 14:33:32 +00:00
Glenn Watson
31dabce5a8 Bug 1632409 - Separate image mask API from the generic clip API in WR. r=kats
Separating out the generic clip definition API into image masks
(and other types in future) makes the serialized data smaller. More
importantly, it will allow us to simplify some of the WR clip internals
in future and optimize the performance spent in clip chain handling.

Differential Revision: https://phabricator.services.mozilla.com/D72125
2020-04-23 20:44:21 +00:00
jbone
3d7e214963 Bug 1574671 - Hide Protections panel on chrome:// and about: URIs r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D68121
2020-04-23 21:32:29 +00:00
Brindusan Cristian
42e680a4ef Merge mozilla-central to autoland on a CLOSED TREE 2020-04-24 00:44:23 +03:00
Brindusan Cristian
295d851672 Merge autoland to mozilla-central. a=merge 2020-04-24 00:42:24 +03:00
Noemi Erli
71ad949346 Backed out changeset 779722364805 (bug 1628583) per request a=backout 2020-04-23 17:54:42 +03:00
Adam Gashlin
0c002f2029 Bug 1632315 - Fix extra undefined in blurbStrings array. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D72086
2020-04-23 14:38:43 +00:00
Narcis Beleuzu
b6a26db6c8 Backed out changeset fabb6fb27e8a (bug 1629529) for being an incorrect fix. CLOSED TREE 2020-04-23 20:54:55 +03:00
Arthur Iakab
c278cf13d3 Backed out 2 changesets (bug 1576188) for causing browser-chrome failures on browser_persist_cross_origin_iframe.js
CLOSED TREE

Backed out changeset d2c102f8d898 (bug 1576188)
Backed out changeset 9ddd9a63d178 (bug 1576188)
2020-04-23 19:38:58 +03:00
Mike Conley
15756c2e25 Bug 1632132 - Fix about:reader narrate back and forward buttons for dark theme. r=ntim
Differential Revision: https://phabricator.services.mozilla.com/D72161
2020-04-23 16:26:36 +00:00
Gijs Kruitbosch
d0edbfc642 Bug 1624301 - optimize remote settings Database list calls without filters, r=leplatrem
Differential Revision: https://phabricator.services.mozilla.com/D72137
2020-04-23 16:19:27 +00:00
Emilio Cobos Álvarez
875d92a9ea Bug 1612068 - followup: Fix some bits which I forgot to update before landing.
Missed two tests and clang-formatting.

Differential Revision: https://phabricator.services.mozilla.com/D72170
2020-04-23 15:46:11 +00:00