Commit Graph

29703 Commits

Author SHA1 Message Date
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
James Willcox
6a931b4d99 Bug 1626670 - Don't build with MOZ_UPDATER=1 for GeckoView nightlies r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D69231

--HG--
extra : moz-landing-system : lando
2020-04-01 18:06:14 +00:00
aarushivij
639634aa2b Bug 1626575 - Remove Loader.jsm exceptions from Android allowed-dupes.mn. r=ntim
Differential Revision: https://phabricator.services.mozilla.com/D69248

--HG--
extra : moz-landing-system : lando
2020-04-01 18:04:15 +00:00
David Major
4dacf8bfd0 Bug 1626340 - Fix some mozconfigs where mozconfig.common.override is not at the end r=rstewart
mozconfig.common.override is supposed to be a way for try pushes to change any options that may have been previously set. To do this effectively, it needs to be the last thing in the mozconfig.

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

--HG--
extra : moz-landing-system : lando
2020-04-01 14:22:35 +00:00
Tim Nguyen
e783637467 Bug 1626023 - Remove some unused allowed-dupes.mn entries. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D68846

--HG--
extra : moz-landing-system : lando
2020-03-31 23:38:29 +00:00
sonakshi
a6f08454e0 Bug 1622619 - Replace URIParams with nsIURI in PContent.ipdl r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D67729

--HG--
extra : moz-landing-system : lando
2020-03-31 18:47:30 +00:00
Tim Nguyen
6d163a0309 Bug 1626007 - Stop including XUL widget theme files on Android. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D68841

--HG--
extra : moz-landing-system : lando
2020-03-31 14:37:25 +00:00
Brendan Dahl
c3eca02a86 Bug 1624724 - Fix startup crash tracking in GeckoView. r=geckoview-reviewers,aklotz,snorp
Gecko uses a canary file to determine if the last startup was succesful or
not and subsequently uses that status to determine if the startup cache
should be used. The file should be deleted either on a clean
exit or after the browser has succesfully started after a delay. On
android there will never be a clean exit and file was not manually being
deleted after startup. To fix this, delete the file after all the idle
startup tasks finish.

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

--HG--
extra : moz-landing-system : lando
2020-03-27 18:16:36 +00:00
Tim Nguyen
9f4dbeaf3c Bug 1625982 - Rename textbox.js and textbox.css to moz-input-box.js and search-textbox.css. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D68829

--HG--
rename : toolkit/content/widgets/textbox.js => toolkit/content/widgets/moz-input-box.js
rename : toolkit/themes/linux/global/textbox.css => toolkit/themes/linux/global/search-textbox.css
rename : toolkit/themes/osx/global/textbox.css => toolkit/themes/osx/global/search-textbox.css
rename : toolkit/themes/windows/global/textbox.css => toolkit/themes/windows/global/search-textbox.css
extra : moz-landing-system : lando
2020-03-30 18:22:56 +00:00
Henri Sivonen
71bdd2ccaf Bug 1625465 - Hack GeckoViewUtils not to read activeWindow. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D68565

--HG--
extra : moz-landing-system : lando
2020-03-30 16:10:41 +00:00
Dão Gottwald
bb5b482bc6 Bug 1625896 - Rename scrollbox.css to arrowscrollbox.css. r=ntim
Differential Revision: https://phabricator.services.mozilla.com/D68777

--HG--
rename : toolkit/themes/shared/scrollbox.css => toolkit/themes/shared/arrowscrollbox.css
extra : moz-landing-system : lando
2020-03-30 11:49:31 +00:00
Makoto Kato
fa2df28a49 Bug 1618754 - Part 2. Unnecessary to use equalsIgnoreCase for inputmode. r=geckoview-reviewers,agi
`inputmode` is lower case except to `mozAwesomebar`. So it is unnecessary to
use `equalsIgnoreCase`.

Also, `mozAwesomebar` is for `inputmode`, not `type`. So this changeset has
this fix.

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

--HG--
extra : moz-landing-system : lando
2020-03-26 18:16:38 +00:00
Makoto Kato
86298c9983 Bug 1618754 - Part 1. Support inputmode=none to hide software keyboard. r=geckoview-reviewers,snorp
`inputmode=none` has to close software keyboard. `inputmode` value is lower
case except to `mozAwesomebar` by bug 1618763, so we don't have to use
`equalsIgnoreCase` for `inputmode`.

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

--HG--
extra : moz-landing-system : lando
2020-03-26 18:22:47 +00:00
MahakBansal
b51565663a Bug 1622600 - Replace URIParams with nsIURI in PBrowser.ipdl.r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D66888

--HG--
extra : moz-landing-system : lando
2020-03-29 13:56:16 +00:00
Agi Sferro
9c1b77d7d1 Bug 1624675 - Add isDirectNavigation to LoadRequest. r=snorp,droeh
This flag allows embedders to know when a onLoadRequest call is generated by
the app or not. Embedders can use this to skip expensive checks in
app-generated onLoadRequest calls.

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

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:54 +00:00
Agi Sferro
1d3050571c Bug 1624675 - Remove unused org.mozilla.gecko.permissions. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68442

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:57 +00:00
Agi Sferro
0e8f4a8961 Bug 1624675 - Remove unused org.mozilla.gecko.sqlite r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68441

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:59 +00:00
Agi Sferro
bf487f84b3 Bug 1624675 - Remove ContextUtils and inline only caller. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68440

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:44 +00:00
Agi Sferro
7918d390b6 Bug 1624675 - Remove dead code around profiles. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68439

--HG--
extra : moz-landing-system : lando
2020-03-28 02:01:45 +00:00
Agi Sferro
981033e460 Bug 1624675 - Remove dead code in HardwareUtils. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68438

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:44 +00:00
Agi Sferro
8fcd23f36a Bug 1624675 - Remove obsolete code in AndroidGamepadManager. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68437

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:45 +00:00
Agi Sferro
2917e0f13b Bug 1624675 - Remove dead code from ThreadUtils.java. r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D68436

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:47 +00:00
Agi Sferro
9743ad186f Bug 1624675 - Remove unused UIAsyncTask. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68435

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:50 +00:00
Agi Sferro
c61cb429dc Bug 1624675 - Don't post on UI thread if already on the UI thread. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68434

--HG--
extra : moz-landing-system : lando
2020-03-27 22:03:52 +00:00
Bogdan Tara
6b0b300cc5 Backed out 3 changesets (bug 1620145) for lints failure and Android bustages CLOSED TREE
Backed out changeset eee5907efc81 (bug 1620145)
Backed out changeset 80acd7d7bc10 (bug 1620145)
Backed out changeset f07bb47f20b3 (bug 1620145)
2020-03-28 01:36:27 +02:00
Aaron Klotz
b7bfd543a2 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-03-27 22:41:25 +00:00
Aaron Klotz
fa8d4a5ee5 Bug 1620145: Part 0 - Set compileSdkVersion to use ANDROID_TARGET_SDK; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D68612

--HG--
extra : moz-landing-system : lando
2020-03-27 22:52:30 +00:00
Ciure Andrei
00c3cac8c7 Backed out 3 changesets (bug 1620145) for causing bustages CLOSED TREE
Backed out changeset 31e174d8cdba (bug 1620145)
Backed out changeset 84ee808383ae (bug 1620145)
Backed out changeset 32a639056a5f (bug 1620145)
2020-03-28 00:38:13 +02:00
Aaron Klotz
0c282fd4a1 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-03-27 21:58:48 +00:00
Aaron Klotz
e350b4fef4 Bug 1620145: Part 0 - Set compileSdkVersion to use ANDROID_TARGET_SDK; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D68612

--HG--
extra : moz-landing-system : lando
2020-03-27 21:58:36 +00:00
Bogdan Tara
b7f4ccb775 Backed out 10 changesets (bug 1624675) for lints failure CLOSED TREE
Backed out changeset 42f9061d299a (bug 1624675)
Backed out changeset 839dc1384f95 (bug 1624675)
Backed out changeset 2df39ae63e81 (bug 1624675)
Backed out changeset 2e5e33501074 (bug 1624675)
Backed out changeset 0588bd37cf89 (bug 1624675)
Backed out changeset d10bf633fdac (bug 1624675)
Backed out changeset 61f4496d0745 (bug 1624675)
Backed out changeset 4b50bc44475c (bug 1624675)
Backed out changeset 14ef2c4ea463 (bug 1624675)
Backed out changeset 287ebe964741 (bug 1624675)
2020-03-28 00:00:36 +02:00
Agi Sferro
dc343cf57e Bug 1624675 - Add isDirectNavigation to LoadRequest. r=snorp,droeh
This flag allows embedders to know when a onLoadRequest call is generated by
the app or not. Embedders can use this to skip expensive checks in
app-generated onLoadRequest calls.

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

--HG--
extra : moz-landing-system : lando
2020-03-27 21:18:54 +00:00
Agi Sferro
94059c6d87 Bug 1624675 - Remove unused org.mozilla.gecko.permissions. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68442

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:06 +00:00
Agi Sferro
cf8805ecf1 Bug 1624675 - Remove unused org.mozilla.gecko.sqlite r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68441

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:14 +00:00
Agi Sferro
010ced6c1c Bug 1624675 - Remove ContextUtils and inline only caller. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68440

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:16 +00:00
Agi Sferro
629b1526e5 Bug 1624675 - Remove dead code around profiles. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68439

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:24 +00:00
Agi Sferro
a234c36ad9 Bug 1624675 - Remove dead code in HardwareUtils. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68438

--HG--
extra : moz-landing-system : lando
2020-03-27 21:19:26 +00:00
Agi Sferro
36484178dc Bug 1624675 - Remove obsolete code in AndroidGamepadManager. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68437

--HG--
extra : moz-landing-system : lando
2020-03-27 21:23:24 +00:00
Agi Sferro
737defdc2d Bug 1624675 - Remove dead code from ThreadUtils.java. r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D68436

--HG--
extra : moz-landing-system : lando
2020-03-27 16:59:46 +00:00
Agi Sferro
0a2c50bc1c Bug 1624675 - Remove unused UIAsyncTask. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68435

--HG--
extra : moz-landing-system : lando
2020-03-27 21:20:12 +00:00
Agi Sferro
acf3564168 Bug 1624675 - Don't post on UI thread if already on the UI thread. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D68434

--HG--
extra : moz-landing-system : lando
2020-03-27 21:20:19 +00:00