Commit Graph

29743 Commits

Author SHA1 Message Date
pbz
27a54fedb1 Bug 1615588 - Extended GeckoView prompt implementation to support prompting by BrowsingContext. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D70645
2020-04-16 14:44:10 +00:00
Makoto Kato
ac14cb654b Bug 1629759 - Remove unused dom.event.touch.coalescing.enabled preference. r=geckoview-reviewers,agi
No one seems to reference `dom.event.touch.coalescing.enabled` after landing Bug 1291373.
So remove it.

Differential Revision: https://phabricator.services.mozilla.com/D70794

--HG--
extra : moz-landing-system : lando
2020-04-15 21:20:11 +00:00
Eitan Isaacson
a0e9e925ab Bug 1629771 - When collapsed caret moves in focusable element, don't pivot to it. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D71109

--HG--
extra : moz-landing-system : lando
2020-04-15 22:16:34 +00:00
Emilio Cobos Álvarez
f9bd47e44b Bug 1626586 - Make history notifications do a bit less work. r=mak,lina,agi,snorp
And batch them when notifying child processes.

This makes RegisterVisitedQuery potentially notify synchronously, but changes
the code to deal with it properly.

Differential Revision: https://phabricator.services.mozilla.com/D69187

--HG--
extra : moz-landing-system : lando
2020-04-15 21:19:41 +00:00
Csoregi Natalia
de8e762887 Backed out 7 changesets (bug 1625615) for multiple failures e.g. /test_windowedhistoryframes.html. CLOSED TREE
Backed out changeset f239d24658c9 (bug 1625615)
Backed out changeset acea7c78db20 (bug 1625615)
Backed out changeset d709f5a72c35 (bug 1625615)
Backed out changeset 4cd231b1f3fb (bug 1625615)
Backed out changeset 45942c8dc380 (bug 1625615)
Backed out changeset 3f03a8703a8a (bug 1625615)
Backed out changeset e9299fc48796 (bug 1625615)
2020-04-16 00:32:16 +03:00
alwu
a9d2260712 Bug 1625615 - part1 : update 'suspendMediaWhenInactive' when GeckoView setting changes r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69884

--HG--
extra : moz-landing-system : lando
2020-04-07 13:55:30 +00:00
owlishDeveloper
f692832064 Bug 1628291 - Catch exceptions when trying to create a Bitmap r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D70556

--HG--
extra : moz-landing-system : lando
2020-04-15 18:13:19 +00:00
Agi Sferro
8a259cb9b3 Bug 1628117 - Remove BrowserApp. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D70456

--HG--
extra : moz-landing-system : lando
2020-04-14 17:07:34 +00:00
Agi Sferro
05aa0f0db0 Bug 1628117 - Remove BrowserApp.tabs. r=lina,snorp
Differential Revision: https://phabricator.services.mozilla.com/D70454

--HG--
extra : moz-landing-system : lando
2020-04-14 17:07:38 +00:00
Agi Sferro
9d049412c2 Bug 1628117 - Add window.tab. r=snorp
This will replace all current uses of `BrowserApp.`.

Differential Revision: https://phabricator.services.mozilla.com/D70453

--HG--
extra : moz-landing-system : lando
2020-04-14 17:07:41 +00:00
Agi Sferro
b27532dee4 Bug 1628117 - Reduce use of BrowserTab in mobile code. r=mixedpuppy,snorp
Differential Revision: https://phabricator.services.mozilla.com/D70120

--HG--
extra : moz-landing-system : lando
2020-04-14 17:07:43 +00:00
Geoff Brown
c9edfe9424 Bug 1562339 - Allow customization of command line used to start emulator by 'mach android-emulator'; r=jmaher
Add a --gpu option to 'mach android-emulator' as a convenient way to over-ride the -gpu argument
passed to the emulator.
Also check the environment for MOZ_EMULATOR_COMMAND_ARGS to allow for additional over-rides
of the emulator command line.

Differential Revision: https://phabricator.services.mozilla.com/D70914

--HG--
extra : moz-landing-system : lando
2020-04-14 17:58:49 +00:00
Mihai Alexandru Michis
81ac402a67 Backed out 6 changesets (bug 1628117) for causing Marionette failures.
CLOSED TREE

Backed out changeset 6319076b66d6 (bug 1628117)
Backed out changeset d867e385620f (bug 1628117)
Backed out changeset 12827a9f8ed2 (bug 1628117)
Backed out changeset a0508a8f0733 (bug 1628117)
Backed out changeset 30116ea848c7 (bug 1628117)
Backed out changeset 63b977732075 (bug 1628117)
2020-04-14 20:03:30 +03:00
Agi Sferro
0e6551a85d Bug 1628117 - Remove BrowserApp. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D70456

--HG--
extra : moz-landing-system : lando
2020-04-14 15:25:22 +00:00
Agi Sferro
aff542f7f1 Bug 1628117 - Remove BrowserApp.tabs. r=lina,snorp
Differential Revision: https://phabricator.services.mozilla.com/D70454

--HG--
extra : moz-landing-system : lando
2020-04-14 15:25:48 +00:00
Agi Sferro
78887d92ec Bug 1628117 - Add window.tab. r=snorp
This will replace all current uses of `BrowserApp.`.

Differential Revision: https://phabricator.services.mozilla.com/D70453

--HG--
extra : moz-landing-system : lando
2020-04-14 15:25:55 +00:00
Agi Sferro
c63aa45847 Bug 1628117 - Reduce use of BrowserTab in mobile code. r=mixedpuppy,snorp
Differential Revision: https://phabricator.services.mozilla.com/D70120

--HG--
extra : moz-landing-system : lando
2020-04-14 15:26:03 +00:00
Agi Sferro
7bcf9efc52 Bug 1622917 - Use schema to determine whether to prompt about a permission r=mixedpuppy,snorp
This allows other front-ends to know which permissions they should prompt for,
like GeckoView.

Differential Revision: https://phabricator.services.mozilla.com/D70102

--HG--
extra : moz-landing-system : lando
2020-04-13 22:28:30 +00:00
Shane Caraveo
871d0aad0e Bug 1622917 add schema support to determine permissions that do not require prompting r=zombie,agi
Differential Revision: https://phabricator.services.mozilla.com/D70137

--HG--
extra : moz-landing-system : lando
2020-04-11 20:35:59 +00:00
Dana Keeler
69308ed152 Bug 1627756 - implement enterprise roots for android r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69855

--HG--
extra : moz-landing-system : lando
2020-04-09 00:54:11 +00:00
Dylan Roeh
9541273b5d Bug 1619798 - Move GeckoView onLoadRequest calls to DocumentLoadListener.cpp r=snorp,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D69594

--HG--
extra : moz-landing-system : lando
2020-04-10 16:38:48 +00:00
James Willcox
9b0c905638 Bug 1620657 - Add a native impl of nsIExternalHelperAppService for Android r=mattwoodrow,geckoview-reviewers,droeh
This is needed in order to implement `CreateListener()`, which is used
when DocumentChannel is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D67682

--HG--
extra : moz-landing-system : lando
2020-04-10 15:53:19 +00:00
James Willcox
bdfa09611f Bug 1628449 - Dispatch onLoadRequest() return values immediately r=geckoview-reviewers,agi,aklotz
This is a very performance-critical path, so we want to avoid
dispatching the value listener on a future loop iteration.

Differential Revision: https://phabricator.services.mozilla.com/D70247

--HG--
extra : moz-landing-system : lando
2020-04-08 20:35:15 +00:00
Dragana Damjanovic
dbea95392b Bug 1628460 - Turn off qpack dynamic table. r=michal
Differential Revision: https://phabricator.services.mozilla.com/D70244

--HG--
extra : moz-landing-system : lando
2020-04-08 19:46:11 +00:00
Emilio Cobos Álvarez
e16c569957 Bug 1627886 - Fix android system color array. r=snorp
textColor was never in the C++ side of things...

Differential Revision: https://phabricator.services.mozilla.com/D69941

--HG--
extra : moz-landing-system : lando
2020-04-07 13:53:31 +00:00
Randall E. Barker
1dde134b0f Bug 1626979 - Add GeckoView API for appending app notes to crash report. r=geckoview-reviewers,snorp,droeh
Differential Revision: https://phabricator.services.mozilla.com/D69662

--HG--
extra : moz-landing-system : lando
2020-04-07 23:42:42 +00:00
Kristen Wright
4a3747126f Bug 1626388 - Convert layout.framevisibility.numscrollportwidths/heights to static prefs r=njn
Converts layout.framevisibility.numscrollportwidths and layout.framevisibility.numscrollportheights to static prefs.

Differential Revision: https://phabricator.services.mozilla.com/D69615

--HG--
extra : moz-landing-system : lando
2020-04-06 20:16:38 +00:00
Nika Layzell
0799ca4e5c Bug 1616353 - Part 7.5: Pass nsOpenWindowInfo through Geckoview, r=geckoview-reviewers,esawin,agi
The interface changes which GeckoViewNavigation.jsm is being updated for are
performed in earlier parts. This patch just covers the required changes to
frontend code to propagate this information down to the nsFrameLoader when it is
created.

Differential Revision: https://phabricator.services.mozilla.com/D67054

--HG--
extra : moz-landing-system : lando
2020-04-07 21:39:39 +00:00
Nika Layzell
dd1ef62596 Bug 1616353 - Part 3: Use an attribute to set geckoViewUserContextId on a browser, r=geckoview-reviewers,esawin
This is necessary to avoid the use of setOriginAttributesBeforeLoading, which is
being removed in this patch set.

Differential Revision: https://phabricator.services.mozilla.com/D67042

--HG--
extra : moz-landing-system : lando
2020-04-07 21:39:04 +00:00
Aaron Klotz
6c60e366a0 Bug 1627782: Enable the process priority manager in GeckoView; r=agi
Differential Revision: https://phabricator.services.mozilla.com/D69859

--HG--
extra : moz-landing-system : lando
2020-04-07 14:40:52 +00:00
Emilio Cobos Álvarez
c5991fc6cc Bug 1579824 - Stop overriding system colors via prefs. r=snorp
Depends on D69938

Differential Revision: https://phabricator.services.mozilla.com/D69939

--HG--
extra : moz-landing-system : lando
2020-04-07 13:54:41 +00:00
sonakshi
9272fc9645 Bug 1595611 - Cache ConnectivityManager in GeckoAppShell r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69627

--HG--
extra : moz-landing-system : lando
2020-04-07 15:00:37 +00:00
owlishDeveloper
29de48a946 Bug 1621480 - Separate progress delegate and history delegate while avoiding race conditions r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D69753

--HG--
extra : moz-landing-system : lando
2020-04-07 02:00:04 +00:00
Mike Hommey
b4e38723ff Bug 1627163 - Use generator expressions instead of itertools.imap. r=firefox-build-system-reviewers,rstewart
Also remove unused import of itertools.ifilterfalse.

Differential Revision: https://phabricator.services.mozilla.com/D69531

--HG--
extra : moz-landing-system : lando
2020-04-05 08:51:20 +00:00
Agi Sferro
a4cb5f4bab Bug 1627797 - Add UA String override to GVE. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69864

--HG--
extra : moz-landing-system : lando
2020-04-06 20:42:05 +00:00
Aaron Klotz
f89f996931 Bug 1620145: Part 1 - Support content process prioritization in GeckoView; r=geckoview-reviewers,agi
We change a few things in this patch:

* We modify `ServiceAllocator` to support multiple bindings:
    * Since Android distinguishes unique bindings via unique `ServiceConnection`
      objects, we add a `Binding` class that provides that bare-bones
      distinction but just forwards the `ServiceConnection` callbacks to its
      `InstanceInfo` owner.
    * Each `InstanceInfo` represents one content process instance, and it holds
      references to between 0 and 3 `Binding` objects, one for each possible
      priority level.
    * After changing the current priority level of an `InstanceInfo`, we call
      the `updateBindings` method to add or drop bindings as necessary to
      effect the correct level.
    * We add code to support the new `Context.updateServiceGroup` API starting
      with Android 10. Essentially it describes to Android the relative
      importance of multiple services running within the same priority level
      (think of it like how we rank our P2 bugs).
* We add `GeckoProcessManager.setProcessPriority` to receive prioritization
  changes from Gecko and wire that into the `ServiceAllocator`. We start new
  processes with `PriorityLevel.BACKGROUND` and then Gecko subsequently adjusts
  as necessary.
* Once this lands we must also set `dom.ipc.processPriorityManager.enabled=true`
  to experiment with e10s-multi.

Differential Revision: https://phabricator.services.mozilla.com/D68419

--HG--
extra : moz-landing-system : lando
2020-04-06 18:10:15 +00:00
Aaron Klotz
914c70e06f Bug 1627354: Part 4 - Update junit tests to reflect changes caused by the upgrade to platform 29; r=agi
Differential Revision: https://phabricator.services.mozilla.com/D69634

--HG--
extra : moz-landing-system : lando
2020-04-04 03:15:57 +00:00
Aaron Klotz
f826c80377 Bug 1627354: Part 2 - Update gradle files to set buildToolsVersion; r=nalexander
Per https://developer.android.com/studio/releases/build-tools, the default
version of the build tools used is internal to the Gradle plugin for Android,
which in the current version of Gradle is 28. To use 29, we need to explicitly
specify that in `.gradle` files using `buildToolsVersion`.

We also change the specification of `compileSdkVersion` to obtain that
information from the build configuration.

Differential Revision: https://phabricator.services.mozilla.com/D69632

--HG--
extra : moz-landing-system : lando
2020-04-04 03:15:56 +00:00
Cosmin Sabou
aefb5f9c88 Backed out 24 changesets (bug 1616353) for fission assertion failures nsGlobalWindowOuter.cpp.
Backed out changeset 3a43210e4900 (bug 1616353)
Backed out changeset cb77e9149cf8 (bug 1616353)
Backed out changeset 3aacc7cfe33f (bug 1616353)
Backed out changeset c026b06063a5 (bug 1616353)
Backed out changeset 580e790c5d17 (bug 1616353)
Backed out changeset 6f09bc1c476d (bug 1616353)
Backed out changeset 6955906262c0 (bug 1616353)
Backed out changeset a7700472807a (bug 1616353)
Backed out changeset a4735096e01b (bug 1616353)
Backed out changeset bd1706c57d91 (bug 1616353)
Backed out changeset 363c13296fda (bug 1616353)
Backed out changeset e414df387524 (bug 1616353)
Backed out changeset 765d3364cca0 (bug 1616353)
Backed out changeset 8a13355b4ac4 (bug 1616353)
Backed out changeset ada17fb8fca7 (bug 1616353)
Backed out changeset 6b6b99af186d (bug 1616353)
Backed out changeset ea966e78b296 (bug 1616353)
Backed out changeset cb88e0bbb3b9 (bug 1616353)
Backed out changeset f89a89015114 (bug 1616353)
Backed out changeset ae6058552969 (bug 1616353)
Backed out changeset f42bb5b48c1b (bug 1616353)
Backed out changeset 1ab9d22c73bb (bug 1616353)
Backed out changeset 2692c2c1396b (bug 1616353)
Backed out changeset 11a279c8da08 (bug 1616353)
2020-04-06 20:03:02 +03:00
Nika Layzell
3fed0a8e02 Bug 1616353 - Part 7.5: Pass nsOpenWindowInfo through Geckoview, r=geckoview-reviewers,esawin,agi
The interface changes which GeckoViewNavigation.jsm is being updated for are
performed in earlier parts. This patch just covers the required changes to
frontend code to propagate this information down to the nsFrameLoader when it is
created.

Differential Revision: https://phabricator.services.mozilla.com/D67054

--HG--
extra : moz-landing-system : lando
2020-04-06 14:30:09 +00:00
Nika Layzell
e1bf02fc4f Bug 1616353 - Part 3: Use an attribute to set geckoViewUserContextId on a browser, r=geckoview-reviewers,esawin
This is necessary to avoid the use of setOriginAttributesBeforeLoading, which is
being removed in this patch set.

Differential Revision: https://phabricator.services.mozilla.com/D67042

--HG--
extra : moz-landing-system : lando
2020-04-06 14:29:35 +00:00
Makoto Kato
960c0aa620 Bug 1625843 - Set TYPE_TEXT_FLAG_CAP_SENTENCES for textarea and contenteditable. r=geckoview-reviewers,snorp
This is a regression by bug 1509527.

I should set TYPE_TEXT_FLAG_CAP_SENTENCES for `textarea` element and
contenteditable again.

Also, Gecko doesn't set valid type hint for input element yet. So I add a
workaround to test file. It will be fixed by bug 1424284. And this fix removes
unused condition for` textarea`.

Differential Revision: https://phabricator.services.mozilla.com/D69214

--HG--
extra : moz-landing-system : lando
2020-04-02 18:03:57 +00:00
Agi Sferro
80bc78ccf4 Bug 1535365 - Enable the extension process. r=snorp,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D69596

--HG--
extra : moz-landing-system : lando
2020-04-03 20:55:25 +00:00
Agi Sferro
b0fbb7d7e1 Bug 1627106 - Add test for extension pages navigation history. r=droeh
This test verifies that history is preserved when navigating from an extension
page to a web content page.

Today this involves going from the main process to the content process, but
when we enable remote extensions this will involve going from one content
process (the extension process) to another content process (the web process) so
to avoid forgetting about this we can introduce a test now that should still
pass in both scenarios.

Differential Revision: https://phabricator.services.mozilla.com/D69455

--HG--
extra : moz-landing-system : lando
2020-04-03 20:22:40 +00:00
Eitan Isaacson
dbdae4f810 Bug 1617436 - Reset caret before doing another find in page test. r=geckoview-reviewers,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D69229

--HG--
extra : moz-landing-system : lando
2020-04-01 16:18:50 +00:00
Nathan Froyd
ab612badd3 Bug 1626932 - delete LD_LIBRARY_PATH before invoking gradle; r=firefox-build-system-reviewers,rstewart
It started, as most things do, with a software upgrade.

Upgrading the Android SDK version produced mysterious build errors:

```
java.lang.RuntimeException: ... Error while executing process /builds/worker/fetches/android-sdk-linux/build-tools/29.0.3/aidl ...
```

Looking a little further back in the log, one found the mysterious
error:

```
/builds/worker/fetches/android-sdk-linux/build-tools/29.0.3/aidl: error while loading shared libraries: /builds/worker/fetches/clang/lib/libc++.so: file too short
```

And when one investigated that file, one found that all `libc++.so` contained
was:

```
INPUT(libc++.so.1 -lc++abi)
```

which was obviously not any kind of loadable shared library.

The `libc++.so` file was meant as a redirect, an artifact placed so people
could say `-lc++` on their compiler command lines and things would Just Work.
The intent was that programs would link to `libc++.so.1` (or whatever other
soversion was in use) and that they wouldn't have to worry about `-lc++abi` or
any other private implementation details of libc++.  Why, then, was `aidl`
linking to `libc++.so`?

Looking at `ldd aidl` on a local machine says:

```
...
libc++.so => $HOME/.mozbuild/android-sdk-linux/build-tools/29.0.3/./lib64/libc++.so (0x00007f8b4b2d1000)
...
```

and poking at `aidl` with `readelf --dynamic -W` indicated a partial solution
to the problem:

```
...
0x000000000000001d (RUNPATH)            Library runpath: [$ORIGIN/../lib64:$ORIGIN/lib64]
...
```

`aidl` contained a `DT_RUNPATH` entry for `libc++.so` that specified to the
linker "find my `libc++.so` at a path relative to my current binary location."
Presumably this was done so that `aidl` would link to a specific `libc++.so`
and not pick up a random `libc++.so` from the system on which `aidl` was
running.

...Except that setting `LD_LIBRARY_PATH`, which we specify during our builds for
various reasons, takes precedence over `DT_RUNPATH`.  So invoking `aidl` was
looking for `libc++.so` along `LD_LIBRARY_PATH`, finding this linker script
that was meant to be used only by the compiler, and attempting to use it like
a real shared library.

Great, we understand the problem now; what do we do about it?

Unwinding our use of `LD_LIBRARY_PATH` is an involved task.  One further
wrinkle that wasn't mentioned above is that not every Android build that we
run failed after the SDK update: our x86-64 fuzzing build was fine, as was the
ARM PGO instrumentation build.  Presumably, those builds set `LD_LIBRARY_PATH`
in slightly different ways compared to our other builds, and those differences
in setting `LD_LIBRARY_PATH` contribute to `aidl` somehow not getting invoked
with `LD_LIBRARY_PATH` set.  It is not obvious to me how difficult getting a
consistent `LD_LIBRARY_PATH` setting is.

This next part is conjecture -- informed conjecture, but conjecture
nonetheless.  When we invoke gradle for the first time, a separate daemon
process is started, presumably to make various Java startup problems go away.
What we would like to have happen, and what appears to happen, is that
everything that gradle does is actually spawned from the daemon itself, not
from the invoked gradle process.  So if we could get the daemon invoked with
the correct environment (i.e. no `LD_LIBRARY_PATH` present), everything would
just work, because `aidl` would be launched from an environment that will
respect its `DT_RUNPATH` setting.

This change assumes that gradle does not invoke things that depend on
`LD_LIBRARY_PATH`, which is not at all clear; I think there are cases where we
can go `mach -> gradle -> mach -> ... -> clang`.  But those cases don't seem
to come up in automation (perhaps due to every build being a clobber), and if
they come up on local developer machines, local developer machines seem
unlikely to have `LD_LIBRARY_PATH` set (mandatory invocation of xkcd#1172).

All of that is to say that this patch takes a semi-hacky approach to the
problem: when we invoke gradle, we make sure that we're invoking it with an
environment that doesn't contain `LD_LIBRARY_PATH`.  And doing so avoids all
of the problems outlined above.

Differential Revision: https://phabricator.services.mozilla.com/D69374

--HG--
extra : moz-landing-system : lando
2020-04-02 17:32:21 +00:00
Agi Sferro
a5635944c9 Bug 1626421 - Add setting for Preferred Color Scheme to GVE. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D69101

--HG--
extra : moz-landing-system : lando
2020-04-02 15:48:02 +00:00
Dorel Luca
818e917108 Backed out changeset 29cb45e9cdfc (bug 1626421) for liting failure. CLOSED TREE 2020-04-02 18:44:04 +03:00
Agi Sferro
e42dac456e Bug 1626421 - Add setting for Preferred Color Scheme to GVE. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D69101

--HG--
extra : moz-landing-system : lando
2020-04-02 14:59:29 +00:00
Sebastian Hengst
2fbcddc03d Bug 1620842 - change Firefox for Android bugzilla components to GeckoView. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D65895

--HG--
extra : moz-landing-system : lando
2020-03-17 18:36:33 +00:00