Commit Graph

26707 Commits

Author SHA1 Message Date
Jan Henning
e93ad5ad8e Bug 1476106 - Part 5 - Subscribe PromptService to OrientationChangeListener, too. r=snorp
Now that GeckoScreenOrientation generally offers notifications of screen
orientation changes, the PromptService no longer needs to do its own orientation
tracking and require to be fed orientation changes from each activity using it.

MozReview-Commit-ID: K7KbDsQip7b

--HG--
extra : rebase_source : 8b447d9db079794c9ad231a31a52f2787ab742ce
2018-08-02 21:17:07 +02:00
Jan Henning
619de3dc05 Bug 1476106 - Part 4 - Refresh ScreenManager data when detecting orientation changes. r=snorp
As of bug 1475875, cached screen data is now held by Gecko, so
- we no longer need to cache the screen size (retrieval of which can be
  expensive when called en masse, as required e.g. by font inflation) within
  GeckoAppShell, and
- we need to trigger a refresh of that data instead when the activity
  orientation changes.

MozReview-Commit-ID: JsY6sBCcOih

--HG--
extra : rebase_source : f286f3b01732bd724da3988c4713adb7329a5fae
2018-08-02 22:03:59 +02:00
Jan Henning
332e51ec37 Bug 1476106 - Part 3 - Move GeckoScreenOrientation updates into GeckoView. r=snorp
By moving the calls to GeckoScreenOrientation.update() into GeckoView, any app
using a GeckoView will automatically update the screen orientation in Gecko,
too, without any further action being required by the embedding app.

The synchronisation around GeckoScreenOrientation.update()/(un)lock() is
required for the following scenario:
If (un)locking of the screen orientation as requested by Gecko caused the
actual screen orientation of the app to change, there are two ways in which this
will cause our internal screen orientation to be updated:
1. Either the call to delegate.setRequestedOrientationForCurrentActivity
   (happening on the Gecko thread if the original request to (un)lock came from
   Gecko) returns first and update() is subsequently first called from the Gecko
   thread, too, meaning the onOrientationChange notification to Gecko can occur
   synchronously as well. In that case, as soon as (un)lock returns to Gecko,
   querying our internal screen orientation will return the correct value.
2. Or else the GeckoView.onConfigurationChanged() call resulting from the screen
   rotation manages to call GeckoScreenOrientation.update() first and does so
   from the Android UI thread. This means that the onOrientationChange
   notification will be redispatched asynchronously to the Gecko thread, while
   the Gecko thread's call to GeckoScreenOrientation.update() will return early
   without doing any work, as the screen orientation had already been previously
   updated by the UI thread.
   As a result,there will be a period of time between the Gecko thread returning
   from GeckoScreenOrientation.(un)lock() and the onOrientationChange
   notification finally executing where querying the internal screen
   orientation will not yet return the new orientation. This can cause problems
   for Gecko (test) code that expects to (un)lock the orientation and then be
   able to immediately query the new, changed orientation after the call to
   (un)lock returns.

Without additional measures in place, there are no guarantees at what point
the GeckoView will receive the onConfigurationChanged() call in relation to the
request to change the activity's orientation making its way back to (un)lock().
Therefore, we add synchronisation such that no other thread will be able to up-
date the screen orientation in GeckoScreenOrientation while another thread is
still busy (un)locking the screen orientation.

MozReview-Commit-ID: 5s5NEJcuS0p

--HG--
extra : rebase_source : cbfbc6da99aa23af4eee8c4bf6018359f9e71304
2018-08-12 13:31:59 +02:00
Jan Henning
85eac0f5c4 Bug 1476106 - Part 2 - Fix setting of mRuntime when restoring GeckoView from savedInstanceState. r=snorp
The call to mSession.transferFrom(ss.session) in the line above also transfers
the window from ss.session into mSession, which means we subsequently won't be
able to retrieve a runtime from ss.session any more, thereby defeating the goal
of calling mRuntime = ss.session.getRuntime().

This case is encountered e.g. when the containing activity is destroyed and sub-
sequently recreated after a configuration change that isn't handled by the app,
e.g. screen rotation in the GeckoView example app.

MozReview-Commit-ID: 5YGskdLZWqw

--HG--
extra : rebase_source : 3293fcaaf645706133531cb0180b6514a289b612
2018-08-04 15:21:40 +02:00
Jan Henning
50803fba6b Bug 1476106 - Part 1 - Make it possible to notify Java listeners from GeckoScreenOrientation, too. r=snorp
Once responsibility for notifying GeckoScreenOrientation of potentially changed
screen orientations moves from GeckoApp into GeckoView, the former will no
longer be able to benefit from the return value of calling GeckoScreen-
Orientation.update(), indicating whether the orientation actually changed or in
fact remained the same.

GeckoApp however requires that information in order to reset/refresh parts of
the UI when the orientation changes, and since GeckoScreenOrientation is already
doing all the work of tracking screen orientation changes, we don't want to have
to partially duplicate those efforts again in GeckoApp.

Instead, we introduce a mechanism for GeckoScreenOrientation to notify
interested parties on the Android app side as well.

The GeckoScreenOrientation.update() call in GeckoApp.onResume() is removed
completely (as opposed to merely removing the refreshChrome() bit) at this stage
already because it is unnecessary. If any screen rotation happened while the
activity was in background, it will receive an onConfigurationChanged() call
anyway before being resumed again.

MozReview-Commit-ID: Ila1evcj8Ud

--HG--
extra : rebase_source : f342800628f930d717fe346779894793a1bac0e9
2018-08-02 21:10:33 +02:00
Jan Henning
6cb9ac4f6b Bug 1476106 - Part 0 - Cleanup imports. r=JanH
MozReview-Commit-ID: UHUdrWSIks

--HG--
extra : rebase_source : e0e64d55db9898d3c19ed4342e200d51326b3a30
2018-08-02 20:51:17 +02:00
Narcis Beleuzu
23387914d5 Merge inbound to mozilla-central. a=merge 2018-08-15 12:48:57 +03:00
Cosmin Sabou
ba5b2095eb Merge mozilla-central to autoland. a=merge 2018-08-15 04:56:53 +03:00
Cosmin Sabou
1c8ad7b4ba Merge mozilla-inbound to mozilla-central. a=merge 2018-08-15 03:51:45 +03:00
arthur.iakab
f9a9a62aa4 Merge autoland to mozilla-central a=merge 2018-08-15 00:59:17 +03:00
Ryan VanderMeulen
765c63d4a4 Bug 1483190 - Only enable LTO if the NDK is available. r=froydnj, a=RyanVM
--HG--
extra : amend_source : 852075195504f2aa4071535c799ce2cb1b96c599
2018-08-14 14:12:56 -04:00
Mike Hommey
df7897447c Bug 1480006 - Enable LTO on Android CI builds a=bustage-fix
--HG--
extra : amend_source : 8edcde344ef682f079b3f4891ecb4c35c69be68c
extra : histedit_source : 1565dd6b287d12f6d4f8d55f872346aaddecf70a
2018-08-14 14:07:15 +03:00
Matt Brubeck
acd631b030 Bug 1481471 - Implement browser.tab.getActive() in GeckoView. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D3355

--HG--
extra : rebase_source : 493842fd508f221c839afe676a60e6a419fc2506
2018-08-14 11:05:12 -07:00
Matt Brubeck
26c55096bd Bug 1481471 - Allow browser.tabs extension APIs to find GeckoView windows. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D3354

--HG--
extra : rebase_source : 862cbd51434542f63f3ec2b567cd1f5865c66c54
2018-08-14 10:53:49 -07:00
Matt Brubeck
64b5dfd4c7 Bug 1481471 - Remove some cruft left behind by Bug 1481471. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D3353

--HG--
extra : rebase_source : d21eaab943e795e95c75032ff137644952f680e2
2018-08-13 10:48:56 -07:00
Jan Henning
91898192c1 Bug 1482478 - Treat handler attribute in notification message as optional. r=jchen
Differential Revision: https://phabricator.services.mozilla.com/D3359

--HG--
extra : moz-landing-system : lando
2018-08-14 21:25:03 +00:00
arthur.iakab
34ad5ebaac Merge mozilla central to inbound 2018-08-15 01:05:50 +03:00
Mike Hommey
288e82c02c Bug 1480006 - Enable LTO on Android CI builds. r=froydnj 2018-08-14 08:26:47 +09:00
Andreea Pavel
870fc40e66 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-08-14 19:17:13 +03:00
Dennis Schubert
c4663c5965 Bug 1483233 - Add mobile User Agent overrides for eBay domains. r=miketaylr
Differential Revision: https://phabricator.services.mozilla.com/D3343

--HG--
extra : moz-landing-system : lando
2018-08-14 15:53:36 +00:00
Kris Maglione
f99ee35b82 Bug 1480244: Part 5 - Run most framescripts in shared scope. r=mconley
Creating non-shared scopes for frame scripts is fairly expensive. After these
changes it's even more expensive. However, many frame scripts have no use for
the shared scopes at all. Run-once scripts which execute in closures, for
instance, make no use of them. And after bug 1472491, neither do most of our
default frame scripts.

MozReview-Commit-ID: 9PK7bYdQ0yh

--HG--
extra : rebase_source : db2516d2f00a75e233e1957649f2b62a9299b7cd
2018-08-10 13:58:18 -07:00
Andreea Pavel
fba9b7255c Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-08-14 19:19:03 +03:00
Kris Maglione
9d0fd10b85 Bug 1472491: Part 5n - Add AudioPlaybackChild actor. r=felipe
MozReview-Commit-ID: DtGNW4riHQX

--HG--
rename : toolkit/content/browser-content.js => toolkit/actors/AudioPlaybackChild.jsm
extra : rebase_source : d37eef766306f0967ac4c13b4705e32197f7d0f6
2018-07-29 21:27:32 -07:00
Kris Maglione
739cafdadd Bug 1472491: Part 4a - Add helper classes for lazily loading JS IPC actors. r=felipe
This adds the basic framework for defining IPC actors which are lazily
instantiated for the appropriate frame loaders based on DOM events, message
manager messages, and observers. Actual actors are defined in follow-up
commits.

MozReview-Commit-ID: Jb6CWWW7v3v

--HG--
extra : rebase_source : 6c465c492ef423616346d70047c4fd4b074af303
2018-08-11 15:27:12 -07:00
Andrei Lazar
ebcbb5d03f Bug 1477700 Android media notification appears swiped down after video starts r=JanH
Created a dedicated channel for media notifications.

MozReview-Commit-ID: JKFVPNRu2WO

--HG--
extra : rebase_source : f9df42ecae1467c337c0d4bdbd5c5582e47c582c
2018-08-14 13:47:02 +03:00
Eugen Sawin
2b5ddea72f Bug 1479026 - Adjust GeckoView telemetry API tests to match corrected schema. r=janerik 2018-08-13 15:22:52 +02:00
Petru Lingurar
4b11eb4490 Bug 1480421 - Crash reporter not working prior to Android O r=jchen
Summary:
When running on pre Oreo devices CrashReportingService (a JobIntentService)
is started as a regular Service.
Return super.onStartCommand(..) to make sure onHandleWork() would be caled.

Reviewers: sdaswani, VladBaicu, jchen

Reviewed By: jchen

Bug #: 1480421

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

--HG--
extra : rebase_source : 78d83fca65b000a10e2f8b522c8ee57cd364a829
extra : histedit_source : 71a48d23421fec60ded4c0c45c8cafb8927196ab
2018-08-11 11:52:17 +03:00
Petru Lingurar
4d043f9fc6 Bug 1480806 - Remove javascript intent filter if unused r=jchen
Reviewers: jchen

Reviewed By: jchen

Bug #: 1480806

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

--HG--
extra : rebase_source : ac696c1611589566ef98c6433bf8a2b272b881d4
extra : histedit_source : 54a20b0fceeb0b22c94202c7cd7986b97f027158
2018-08-11 11:49:13 +03:00
Mike Hommey
f4f54e5aeb Bug 1482330 - Upgrade to Android NDK r17b and API level 16 (JB). r=snorp
We're currently using NDK r15c, which is rather old, and happens to come
with a buggy gold linker. Let's use a more recent NDK, with a fixed
linker.

Unfortunately, we're currently at NDK API level 9, which the newer NDK
doesn't provide for x86 anymore. But that corresponds to Gingerbread
(2.3), which we've long stopped supporting. On the SDK side, we already
dropped support of versions before Jelly Bean, so we can do the same on
the NDK side. That corresponds to API level 16. So let's just use that
as a baseline.

Another change in the newer NDK is that the target-name changed from
i386-linux-android to i686-linux-android, so adjust for that in the
android x86 mozconfigs.
2018-08-11 09:47:41 +09:00
Bogdan Tara
347da2ba78 Backed out changeset 003838e8d110 (bug 1482330) for Adnroid build bustages on mozalloc_abort.cpp CLOSED TREE 2018-08-11 03:22:58 +03:00
Bogdan Tara
2f2b719960 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-08-11 01:01:18 +03:00
Mike Hommey
ee95699e6b Bug 1482330 - Upgrade to Android NDK r17b and API level 16 (JB). r=snorp
We're currently using NDK r15c, which is rather old, and happens to come
with a buggy gold linker. Let's use a more recent NDK, with a fixed
linker.

Unfortunately, we're currently at NDK API level 9, which the newer NDK
doesn't provide for x86 anymore. But that corresponds to Gingerbread
(2.3), which we've long stopped supporting. On the SDK side, we already
dropped support of versions before Jelly Bean, so we can do the same on
the NDK side. That corresponds to API level 16. So let's just use that
as a baseline.

Another change in the newer NDK is that the target-name changed from
i386-linux-android to i686-linux-android, so adjust for that in the
android x86 mozconfigs.
2018-08-11 06:50:21 +09:00
Yura Zenevich
e0c82272d3 Bug 1481924 - added GevkoView accessibility tests for scrolling. r=eeejay, jchen
MozReview-Commit-ID: ATGNFruDGAI
2018-08-10 13:13:35 -04:00
Yura Zenevich
2b1f8c8ae8 Bug 1481922 - add support for select action and view selected event. r=eeejay, jchen
MozReview-Commit-ID: FaLz7majPhz
2018-08-10 13:13:27 -04:00
Margareta Eliza Balazs
d5a51ec1a6 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-10 12:22:04 +03:00
Andrei Lazar
262118affd Bug 1476966 Constant notification ringing when downloading a file r=JanH
Created specific notification channel dedicated to download progress notifications.

MozReview-Commit-ID: 88vsQiI2L2
***

--HG--
extra : rebase_source : 146563fd14a59299bc9bbba79fc9bdfd9e7ed37f
2018-08-09 14:07:02 +03:00
Eugen Sawin
a9fe7d83f0 Bug 1480813 - [1.0] Use non-animated setProgress method to avoid API level 24 dependency. r=snorp 2018-08-09 16:28:14 +02:00
Eugen Sawin
0e43a32a72 Bug 1480757 - [4.0] Emit load error when blocking load requests for unsafe URIs. r=snorp 2018-08-09 16:27:31 +02:00
Eugen Sawin
e50c9c3c62 Bug 1480757 - [3.0] Add some IntentUtils tests. r=snorp 2018-08-09 16:27:31 +02:00
Eugen Sawin
b89781fbd8 Bug 1480757 - [2.0] Block unsafe URI intent load requests. r=snorp 2018-08-09 16:27:31 +02:00
Eugen Sawin
af25612f9c Bug 1480757 - [1.0] Move safe intent handling utilities from IntentHelper to IntentUtils to make them accessible in GeckoView. r=jchen 2018-08-09 16:27:31 +02:00
dvarga
bc1e909e78 Backed out 6 changesets (bug 1476106) for failure at bf1f28e2b46d for failure at testing/marionette/harness/marionette_harness/tests/unit/test_screen_orientation.py
Backed out changeset bf1f28e2b46d (bug 1476106)
Backed out changeset ab38b11f85dd (bug 1476106)
Backed out changeset b1a3ff0760bf (bug 1476106)
Backed out changeset deb22f602d59 (bug 1476106)
Backed out changeset 3b1084efc943 (bug 1476106)
Backed out changeset 6d885f08136b (bug 1476106)

--HG--
extra : rebase_source : 34de95d347ba0bdc2afaca1597460d042af880c0
2018-08-08 22:39:03 +03:00
Matt Brubeck
770d982a69 Bug 1471868 - Don't set composing region after removing autocomplete. r=jchen
Backport of https://github.com/mozilla-mobile/android-components/pull/423

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

--HG--
extra : moz-landing-system : lando
2018-08-08 15:35:22 +00:00
Jan Henning
7b902db1b5 Bug 1479311 - Don't attempt finding and highlighting a tab's base domain within a javascript: URL. r=snorp
MozReview-Commit-ID: DzE0UJfMcCI

--HG--
extra : rebase_source : 2a9bcc74447a8a2862aa3c753f7bd30e1d0361dc
2018-08-03 20:58:46 +02:00
Gabriele Svelto
15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
arthur.iakab
dfb7a82313 Backed out changeset d3978309484a (bug 1480920) For Android build bustages CLOSED TREE 2018-08-09 23:59:05 +03:00
James Willcox
d91e5fd1af Bug 1480920 - Bump versions for Android test runner packages r=jchen
MozReview-Commit-ID: GlC0qJCVl4V
2018-08-09 15:05:30 -05:00
Randall Barker
e76d5d449a Bug 1477837 - Fix typo in comment documentation for function GeckoRuntimeSettings.getDisplayDensityOverride r=jchen
MozReview-Commit-ID: FqdSLvNJVao
2018-08-09 10:47:20 -07:00
Jonathan Kingston
9b7fb2f20c Bug 1362034 - Have addTab() provide the correct triggering principal. r=ckerschb r=Gijs
Reviewers: ckerschb!, Gijs!

Tags: #secure-revision

Bug #: 1362034

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

--HG--
extra : source : 44b25dea67d2ed079e17057ab619d827e9983400
extra : amend_source : 5742820277e0269b6f5d42b1abd98fd9b228ac4a
extra : histedit_source : 790bd2490333e4d8fea7774d036eafbc2fc329b9
2018-07-06 15:14:54 +01:00
Jan Henning
5966b349ea Bug 1476106 - Part 5 - Subscribe PromptService to OrientationChangeListener, too. r=snorp
Now that GeckoScreenOrientation generally offers notifications of screen
orientation changes, the PromptService no longer needs to do its own orientation
tracking and require to be fed orientation changes from each activity using it.

MozReview-Commit-ID: K7KbDsQip7b

--HG--
extra : rebase_source : 72164b6e6b9c8e1a2f31a33db9b8da7d457739a9
2018-08-02 21:17:07 +02:00