With all of our builds in Taskcluster now, we should never be uploading
symbols from build tasks. Unfortunately Windows builds were still doing so.
This patch removes MOZ_AUTOMATION_UPLOAD_SYMBOLS from all the in-tree
mozconfigs and a few other places so that it should always default off
(per moz-automation.mk). The rest of the uploadsymbols bits will be
removed once Thunderbird fixes their automation.
This patch was mostly autogenerated by running:
rg --files-with-matches UPLOAD_SYMBOLS browser/config/mozconfigs/ mobile/android/config/mozconfigs/ | xargs sed -ri '/.*UPLOAD_SYMBOLS.*/d'
sed -ri '/.*UPLOAD_SYMBOLS.*/d' build/unix/mozconfig.linux build/mozconfig.win-common build/macosx/local-mozconfig.common build/mozconfig.automation
Then mobile/android/config/mozconfigs/common and
taskcluster/scripts/builder/build-linux.sh were hand-edited.
MozReview-Commit-ID: Cy8kSEodSg4
--HG--
extra : rebase_source : 01caf1651b4eb428313e1f371aa585f8f34c4151
Also remove related code that was only used from here including
stuff related to marketplace purchases, etc.
MozReview-Commit-ID: ESX78tVQK7M
--HG--
extra : rebase_source : 56d956168f75cdc40fd3df057e41493f80733352
This pushes all of the magic Gradle targets into gradle.configure,
which is the most accessible central place for them. Some impact the
build, so they almost certainly need to be in moz.configure; and its
better to have one central place to update than many places.
Gradle has a notion of configurations. Fennec determines many
configurations, only one of which is used in automation; and right
now, that one is "officialPhotonDebug". Evolving the "one true"
configuration is frustrating, and this helps with that. Post
Android-Gradle plugin 3.0+, we can do better and also extract the
configuration details for the :geckoview and :geckoview_example Gradle
projects, but right now they are ad-hoc and can't really be improved.
MozReview-Commit-ID: LdGE05zn2H1
--HG--
extra : rebase_source : db7e9fe90f2bd1ae5058af046a66edd0cd549141
These magic locations evolve over time. Baking them into
moz.configure is the easiest way to share them across the build
system, and pushing them into a new |mach android *| command continues
a pattern that has been very successful.
MozReview-Commit-ID: CyxVQ0LHHgl
--HG--
extra : rebase_source : 8350d71665f0126aa4ee2c8fec32c4b8e34dc772
This was in Gradle due to history. When this first landed, we invoked
Gradle directly from the mozharness, and the best way to print the
report URLs was from Gradle itself. When the Android Gradle suites
were made tier 1, little harnesses (|mach android
{checkstyle,findbugs,lint,test}|) were written and invoked locally and
in automation. This functionality should have migrated with them.
This removes the special Gradle target names from the Gradle
configuration, making it easier to change them in the future.
MozReview-Commit-ID: 1KPd3J5t82Q
--HG--
extra : rebase_source : 1da85e31c113bc9da138817bebf981af8b9b66dd
We've had good success with |mach android *| for invoking test suites
and other Gradle-related features; this was just an oversight. The
real advantage is that almost all of the magic Gradle targets are now
in mobile/android/mach_commands.py and not scattered throughout the
tree. That'll make it easier to move the actual Gradle configuration
choices forward in the future.
MozReview-Commit-ID: GI1pUHHfXeO
--HG--
extra : rebase_source : 9d7b98e968a2537f8dd1ffd0646c51ffe429bd57
This pushes all of the magic Gradle targets into gradle.configure,
which is the most accessible central place for them. Some impact the
build, so they almost certainly need to be in moz.configure; and its
better to have one central place to update than many places.
Gradle has a notion of configurations. Fennec determines many
configurations, only one of which is used in automation; and right
now, that one is "officialPhotonDebug". Evolving the "one true"
configuration is frustrating, and this helps with that. Post
Android-Gradle plugin 3.0+, we can do better and also extract the
configuration details for the :geckoview and :geckoview_example Gradle
projects, but right now they are ad-hoc and can't really be improved.
MozReview-Commit-ID: LdGE05zn2H1
--HG--
extra : rebase_source : 3cf360a814ed4927ec6c767b42448285ed2ffb35
These magic locations evolve over time. Baking them into
moz.configure is the easiest way to share them across the build
system, and pushing them into a new |mach android *| command continues
a pattern that has been very successful.
MozReview-Commit-ID: CyxVQ0LHHgl
--HG--
extra : rebase_source : 8350d71665f0126aa4ee2c8fec32c4b8e34dc772
This was in Gradle due to history. When this first landed, we invoked
Gradle directly from the mozharness, and the best way to print the
report URLs was from Gradle itself. When the Android Gradle suites
were made tier 1, little harnesses (|mach android
{checkstyle,findbugs,lint,test}|) were written and invoked locally and
in automation. This functionality should have migrated with them.
This removes the special Gradle target names from the Gradle
configuration, making it easier to change them in the future.
MozReview-Commit-ID: 1KPd3J5t82Q
--HG--
extra : rebase_source : 1da85e31c113bc9da138817bebf981af8b9b66dd
We've had good success with |mach android *| for invoking test suites
and other Gradle-related features; this was just an oversight. The
real advantage is that almost all of the magic Gradle targets are now
in mobile/android/mach_commands.py and not scattered throughout the
tree. That'll make it easier to move the actual Gradle configuration
choices forward in the future.
MozReview-Commit-ID: GI1pUHHfXeO
--HG--
extra : rebase_source : 9d7b98e968a2537f8dd1ffd0646c51ffe429bd57
On nightly and aurora we have supplemental strings about Telemetry in the About
dialog/section. However, we already open the data policy tab (Desktop) and
notification (Mobile) on nightly, aurora, -and beta- to more accurately tell
users about our data policies.
So let's remove the inconsistently-applied semi-hard-to-find strings.
MozReview-Commit-ID: 3zjXQwi9r7v
--HG--
extra : rebase_source : af9728dd1ff2161ff028f85ebf7f93c22eae0181
This patch moves us from using an old pref `general.useragent.locale`combined
with `intl.locale.matchOS` for retrieving user requested locale, to use a new
preference `intl.locale.requested` which stores a list of well-formed BCP47
language tags. If set to empty, the OS locales are used. If not set at all,
default locale is used.
We are also adding a piece of code to migrate from old to new system.
MozReview-Commit-ID: 854yQ1kC6Ee
--HG--
extra : rebase_source : c4a7171bc026f857f7878ee83d973ec01b536a84
Remove unused classes and make classes that are not used outside of the
package package-private.
MozReview-Commit-ID: 9FxcL5QsM1Q
--HG--
extra : rebase_source : d9ed39d06a0e2aadec131d06c92cb11ef342a320
Use o.m.g.util.BitmapUtils in code that use BitmapUtils.
MozReview-Commit-ID: KPM05Aqf1kW
--HG--
extra : rebase_source : ea910333fc195b329ef41bf168d0299584e63d20
I think BitmapUtils is better suited for the o.m.g.util package instead
of o.m.g.gfx, since none of the other classes in gfx actually use
BitmapUtils.
MozReview-Commit-ID: IEwSIb5h9Y7
--HG--
rename : mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/BitmapUtils.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java
extra : rebase_source : 3960fbd5172b745b3a41d1da8e855a2a539ed906
Since the readerized article content will have its class names stripped
but will retain its original IDs, and we don't want our aboutReader.css
rules targetting UI elements to match anything in the article.
MozReview-Commit-ID: JuXTo8Nth5Q
--HG--
extra : rebase_source : dde58f56e55f82ddda364ec5978e43fe71be875c
As of bug 1257362, the platform does not verify code signing certificates in
general, so anything involving the code signing trust of certificates can go.
MozReview-Commit-ID: 9g9kM62xfYZ
--HG--
extra : rebase_source : 5bec64e5f451c8433aff0de82a91f7bd54c24608
assertUrl wasn't used before and getUrlEditText().getText() returns a
SpannableStringBuilder, so we need to add a toString() conversion there in order
to successfully use it.
MozReview-Commit-ID: 9BtZWDRstdD
--HG--
extra : rebase_source : bef971f37f99f60baad4fe1c88f2ef7b6b9e6f2f
The technique for setting our icon is just a straight reimplementation
of bug 1210242.
Because of the way the new tab might be opened from within a
processActionViewIntent Runnable, we can't enter editing mode by simply
listening for an ACTION_ASSIST intent from within BrowserApp, as we need to
enter editing mode *after* the correct tab has already been opened and selected
and BrowserApp doesn't get any hint on when that Runnable might have run.
Instead, we introduce a new tab event, so we can trigger editing mode at the
right time via the tab itself.
MozReview-Commit-ID: 8Bvv5TXyhhI
--HG--
extra : rebase_source : 92f6131098e1c2a8e810431aa82e68e7e422cfd1
Remove LayerView now that it's no longer used. FullScreenState is
obsolete as well and is removed.
MozReview-Commit-ID: Jt7OMAoarOJ
--HG--
extra : rebase_source : da9285999fe093c41ea6d7693cf9255c0db1d688
Use the new CompositorController to access draw callbacks and pixel
getter. These methods now require calling on the UI thread, so the code
in Robocop now explicitly post runnables to the UI thread. Prior to
this, we were implicitly posting to the UI thread anyways, so the end
result is the same as before.
MozReview-Commit-ID: 7Mkjdc9hUNr
--HG--
extra : rebase_source : 821f72573200021604cdacf158d0989d1ecabf32
Use GeckoSession/LayerSession or GeckoView in Fennec code instead of
using LayerView.
MozReview-Commit-ID: Iod7XsqKy1e
--HG--
extra : rebase_source : 5917540422698f5526ca373f17c4358a712cdcef
Implement the setSurfaceBackgroundColor functionality in a new
coverUntilFirstPaint method. Because we no longer rely on any LayerView
functionality, GeckoView now inherits directly from FrameLayout.
MozReview-Commit-ID: 3xgWsgk64GM
--HG--
extra : rebase_source : 1185e40456ffce6c40676230e6f921dd0f3cbc3e
Add CompositorController and LayerSession.getCompositorController for
accessing miscellaneous compositor-related methods such as adding draw
callbacks and getting pixels.
A simple Runnable is used for draw callbacks instead of using the
DrawListener interface from LayerView. A first-paint callback is added
to implement the "clear surface background on first paint" requirement
when switching between documents in Fennec.
MozReview-Commit-ID: 8pE1B5HYe2w
--HG--
extra : rebase_source : abd35b189d04073c203b542fb9f9ef763027e117
Limit the number of SurfaceTextures to ensure that we do not reach the
process's fd limit. 200 was chosen as the limit because it allows for
more tiles than any reasonable page should require, yet should not
come close to the 1024 fd limit, even with 2 fds (buffer and sync
fence) per SurfaceTexture.
MozReview-Commit-ID: F21H1Rj4FVF
--HG--
extra : rebase_source : 379b460c8067cc3c5aa11a47cc66f865bae1ac64
Since the readerized article content will have its class names stripped
but will retain its original IDs, and we don't want our aboutReader.css
rules targetting UI elements to match anything in the article.
MozReview-Commit-ID: JuXTo8Nth5Q
--HG--
extra : rebase_source : a5987d80f45c3ec5192c1aa5da772a05cfda79ff
Since the readerized article content will have its class names stripped
but will retain its original IDs, and we don't want our aboutReader.css
rules targetting UI elements to match anything in the article.
MozReview-Commit-ID: JuXTo8Nth5Q
--HG--
extra : rebase_source : 87aa2f1060a1e7974610a109507a103c5366727a
ic_status_logo is what all the other notifications use, and flat_icon hasn't
been updated to the new photon logo.
MozReview-Commit-ID: Luo5ibVmXvk
--HG--
extra : rebase_source : 4e9335c177028ecdbe42bd69773494a2420f3700
Vietnamese (vi) is missing from the list of languages.
List of locales on single-locale builds is out of date.
MozReview-Commit-ID: 3zZ3MYAuBWB
--HG--
extra : rebase_source : f98d9af6d8c6db1b8195eab211576b303a18dc23
Remove NPZC references from LayerView, and add an NPZC getter in
LayerSession. Use the new APIs in GeckoView to forward events to NPZC.
MozReview-Commit-ID: 1UcJkpW0XuM
--HG--
extra : rebase_source : 6f50d1ca9398a2549678cc4e0fbb2578d284f63a
Clean up the NativePanZoomController object including,
1) Remove references to LayerView because NPZC will be created and used
by LayerSession.
2) Rename `mDestroyed` to `mAttached` because NPZC now needs to support
cases where it's used before being attached, in addition to after being
destroyed.
3) Move origin of synthesized event coordinates from the screen to the
surface in native code, so we don't need to do the same thing in Java.
4) Invoke all callbacks from native code on the UI thread.
MozReview-Commit-ID: Fu4XIY59yKw
--HG--
extra : rebase_source : cb4d432cb940cfa92f3c0a931f1f2d2991932462
There is some overscroll handling code in NativePanZoomController that
should be moved, along with other overscroll code in LayerView, to
LayerSession. LayerSession now provides a getter for
OverscrollEdgeEffect, which is cleaned up to have a public API with
documentation.
MozReview-Commit-ID: LkKHFS8OkR7
--HG--
extra : rebase_source : dc6b680b1cc7d7e2dd221091a63a208971d63c80
This should make the code slightly simpler to follow.
MozReview-Commit-ID: HrAv39eCtzb
--HG--
extra : rebase_source : 6c40a2f501705f50256dccea9534d9f8c1605c19
This uses the same anchors as the old code so should be low risk.
MozReview-Commit-ID: 7pA3SSRghv0
--HG--
extra : rebase_source : b7b4bb7afbd7569085416c5f1d74e714eef4216d
This is a regression by bug 1337078. When user selects system default for
Browser language, "locale" pref is empty. So BrowserLocaleManager.getLocale
always returns null. So, current locale is always en-US in Gecko code.
So we should return system locale when "locale" pref is empty.
Also, ReadSystemLocales expects language tag string for locale. Since
Locale.toString doesn't return language tag, so we should convert to it.
MozReview-Commit-ID: 3NhAkuA4HaH
--HG--
extra : rebase_source : 98e7c928e852391abe11b1b7ba19cc61d4924cea
AddToHomeScreenPromotion uses this for triggering the self-same promotion and
the BrowserToolbar uses it to update its progress display.
MozReview-Commit-ID: 1xrwjWP5Idh
--HG--
extra : rebase_source : 64d9ef66cf8427cccf3f84f59806cada9eddf842
Most of the codebase that needs to create a debugger server
can use a server with all actors registered.
Define an additional method registerAllActors to do that.
By previous implementations, all the call sites that were
using browser: true were indirectly using tab & root: true
as well. So all the call sites using browser: true have been
migrated to registerAllActors and the specific behavior of
the browser: true case has been removed. Passing browser:true
to registerActors now only registers browser specific actors.
MozReview-Commit-ID: F3sx71eGrdG
--HG--
extra : rebase_source : 7704264e84d96e03a0c789103ff466980913d4d2
The windowType option of registerActors has nothing to do with
registering actors. It is only used in one spot in the codebase, so
switch this one to DebuggerServer.chromeWindowType = "..."; and
remove the option from registerActors.
MozReview-Commit-ID: QH6GKmTbVq
--HG--
extra : rebase_source : 13d70ddc21cae2b43cab2899c0e4b6f597c4f3ec
DebuggerServer.init() already bails out if it was previously initialized
so we could avoid guarding the calls to init() with it everywhere.
Registering an actor module several times is also a noop as the Server
keeps a map of all the already registered modules and will bail out if
the module is already known.
MozReview-Commit-ID: 4ONLlx9253i
--HG--
extra : rebase_source : a6fce209baf5e019b6a216761c01832a30332343
DebuggerServer has old APIs addBrowserActors & addTabActors that can be
replaced by calls to registerActors.
MozReview-Commit-ID: KpYJpbSHM8I
--HG--
extra : rebase_source : c7f20edf503b944ef2582b5fe73bd6d899c0d1cc
All tests are passed with stylo, So let's turn on stylo even if Android.
MozReview-Commit-ID: X0ORZUn60a
--HG--
extra : rebase_source : 61f0d3513114a2d0716d9e660eba98004ff85bbf
According to the documentation, aRequest may be null in some cases, and one such
case is when the location change was caused by a page using the history API.
MozReview-Commit-ID: AUlHBgzaKDX
--HG--
extra : rebase_source : a51770f17242f899adc566a3ebd8c09357600ef9
If the image request gets redirect on loading, HTMLImageElement.currentURI
(which corresponds to nsIImageLoadingContent.currentURI) would return the
original URI before redirect, making "Save Image" in the context menu use
incorrect URI and filename. Use currentRequestFinalURI instead to get
redirected URI.
MozReview-Commit-ID: Bd7Q36sH93b
--HG--
extra : rebase_source : 5a1cc56554d1429f3c5af1c8cecaa1d72471ed21
Remove GeckoLayerClient.java since it's no longer used, and update
auto-generated JNI bindings. r=me for trivial patch.
MozReview-Commit-ID: CiNPLLkh3VJ
--HG--
extra : rebase_source : 0cddae4f8914dd6f6a0631a7e69701828476f2b8
Move the GeckoLayerClient JNI callbacks to LayerSession.Compositor. Move
the rest of the viewport code to LayerView. Finally, move the input
event synthesis code to NativePanZoomController.
MozReview-Commit-ID: 1FEAM43KcwL
--HG--
extra : rebase_source : af2ded170a79f13afbb1f690ae466e77c7145ff6
Instead of sending an event through the global EventDispatcher in
GeckoLayerClient, switch to using the per-GeckoView EventDispatcher in
GeckoInputConnection, to handle scroll-to-focused-input-on-resize. This
lets us implement the same functionality for standalone GeckoView.
The patch also fixes some small bugs including unregistering
not-registered events, not scrolling when switching input focus, and
inadvertent scrolling when not showing the keyboard.
MozReview-Commit-ID: 20OZP9dMXtI
--HG--
extra : rebase_source : d9dee0fd8b3d01147b8b2eda5154c380d0f167dd
Patch gets rid of `LayerView.getMatrixForLayerRectToViewRect`, and just
uses `LayerView.getZoomFactor` directly when calculating the matrix in
GeckoInputConnection. This also lets us avoid the `isCompositorReady`
call on a non-UI thread. To get the correct offset, we need the screen
bounds from Gecko, so it's passed to Java as the first element in the
rect array. Using bounds from Gecko lets us avoid having to deal with
things like the dynamic toolbar animator ourselves.
MozReview-Commit-ID: 6I61SZGyQyO
--HG--
extra : rebase_source : d576fb7ef9a42de10b14db662e5c4833f16f6312
This drops the abuse of make dependencies to factor our steps
in l10n repacks and language packs.
It's replaced with clobbers, libs, and the packaging, which
can be shared between installers and the language pack.
MozReview-Commit-ID: 2vEHp0QogXQ
--HG--
extra : rebase_source : c14f0b17904f8f9e0e3f004384c2a292ceeafe4f
extra : source : e95f8bd7b5190bf1d3fae75a88a15ebbe6613809
Pass in the flag names for Tab:OpenUri so we don't have to worry about
synchronizing the flags in Java with ones in C++. r=me for trivial
patch.
MozReview-Commit-ID: BowjLV1s7nT
If the image request gets redirect on loading, HTMLImageElement.currentURI
(which corresponds to nsIImageLoadingContent.currentURI) would return the
original URI before redirect, making "Save Image" in the context menu use
incorrect URI and filename. Use currentRequestFinalURI instead to get
redirected URI.
MozReview-Commit-ID: Bd7Q36sH93b
--HG--
extra : rebase_source : b88ccf98bc2a41aac007d79060424eaa2c2aca88
All tests are passed with stylo, So let's turn on stylo even if Android.
MozReview-Commit-ID: X0ORZUn60a
--HG--
extra : rebase_source : f93f979711ab5f16eb3ced1d07e3c6d83464a6f0
Use the LayerSession coordinates APIs instead of manually calculating
coordinates using viewport metrics and toolbar height, which is prone to
error.
MozReview-Commit-ID: 4ebI3BHEOXR
--HG--
extra : rebase_source : 264f03f3032f101687c2a39d1cf052ac1805f12b
Provide a set of coordinates APIs in LayerSession instead of exposing
the raw viewport metrics, which are hard to use. This also lets us
remove ImmutableViewportMetrics completely.
The new APIs provide rectangular bounds in client or surface
coordinates, and matrices to transform those coordinates to screen
coordinates. This is done because the transformation to screen
coordinates could (in the future) involve skew, rotation, etc, so it's
up to the application to decide how to handle non-rectangular screen
bounds.
MozReview-Commit-ID: 8Yw8L63TmrQ
--HG--
extra : rebase_source : 76954d32da9fb8435ec68ea53b6dc618f8cb0121
Remove all DynamicToolbarAnimator-related code from LayerView now that
they are in LayerSession.
MozReview-Commit-ID: 56AO79T3NoK
--HG--
extra : rebase_source : 7685806436d43dc203cc034dd5105eb1f9c80a94
Use DynamicToolbarAnimator through the session in places where we need
to interact with the toolbar or get the current toolbar height.
MozReview-Commit-ID: PdGX4FEHp5
--HG--
extra : rebase_source : 825fc70b584eb4b75f0ce9bd21a36c68f700c8c2
Add getter/setter for DynamicToolbarAnimator in LayerSession in lieu of
LayerView. It is then LayerSession's responsibility to keep track of how
changes in the toolbar affects other things like the window and viewport
bounds.
MozReview-Commit-ID: HmRqxZ7EUCZ
--HG--
extra : rebase_source : 80648a17ed10672400daa4bcce0de49f4ee76557
The plan is to incorporate DynamicToolbarAnimator into the official
GeckoView API and expose getter/setter in LayerSession. This patch
cleans up the class to make sure only public APIs are public, and to
assert they are called on the UI thread.
MozReview-Commit-ID: D3ePV3k2HvX
--HG--
extra : rebase_source : b1925ff484b5661f3a02f66079d4834961efffbe
This code is supposed to reposition the form assist popup if the toolbar
appears or disappears while the popup is visible, but we can move that
to a resize event listener in JS, so we don't have to maintain
the MetricsListener API for DynamicToolbarAnimator.
MozReview-Commit-ID: HR6wcJrGloR
--HG--
extra : rebase_source : a330a181bd352ad0028cb2a8faf1f92470189ead
One fix I forgot to make in bug 1416310 is to change the code to reset
the flag in LayerView. I think it's better if we just moved the whole
thing to native code, since we don't really use the flag in Java.
MozReview-Commit-ID: 9cbcYb89LhC
--HG--
extra : rebase_source : a209669d6657a60c198f59f4a0e4d959478485c3
Same issue as bug 1374251 now that keywords are editable as well.
MozReview-Commit-ID: AJyDRAAN2IR
--HG--
extra : rebase_source : 8e99338ca8b4d79ea2ea95451d045476cb76ba51
--enable-elf-hack is the default on all platforms where it's supported,
and is completely ignored on platforms where it's not supported.
While moving the flag to moz.configure, we're going to make it only
work on platforms where elfhack is supported, so we at least need to
remove it from mozconfigs for those platforms where it's not supported.
But generally speaking, we want less things in mozconfigs, so just
remove it from there, since it's the default anyways.
Since we want to update our fork of Leanplum SDK as minimum as possible, this patch only pick the patch from Leanplum repo:
https://github.com/Leanplum/Leanplum-Android-SDK/pull/41
MozReview-Commit-ID: 5qFgH9xhHfy
--HG--
extra : rebase_source : 411dbdb11f4b9c826118bc39f9f137ec65836b4e
I didn't check if currently the app is using dark theme(LightweightTheme) or not.
Cause that requires some hacky injection to let Leanplum SDK knows the status bar corlor or dark theme or not.
MozReview-Commit-ID: 4Twe59Gw6mS
--HG--
extra : rebase_source : a4fd4db28ccb9b210a547b328af72c6390a038d0
Remove most of the Compositor and Surface management code in LayerView.
And use LayerSession.Compositor in rest of the gfx code.
MozReview-Commit-ID: 5E9pj3eGHlv
--HG--
extra : rebase_source : 0b0a64113db58aaf376c98d5480f5cf31174a3d3
Add a `screenOriginChanged` callback to GeckoDisplay.Listener, which
informs Gecko of changes in the origin of the display. The origin
translates to coordinates for web APIs like screenX/screenY and certain
other calculations.
Also, make GeckoDisplay listen to layout changes in the view tree (by
overriding gatherTransparentRegion as an optimization), and call
`screenOriginChanged` accordingly.
MozReview-Commit-ID: C72EHCkbV3T
--HG--
extra : rebase_source : 240c5c8fb3c2938ae966f40e86f7c5a0ca66526c
Make GeckoView implement GeckoDisplay for its own SurfaceView, and use
that with GeckoSession.
MozReview-Commit-ID: LXllQGlCxaB
--HG--
extra : rebase_source : 1b41e411b2c293797d572d584c4f2b7036e83b23
Make GeckoSession inherit from LayerSession, and connect its Compositor
to native code as part of the GeckoSession routine.
MozReview-Commit-ID: wQaH1A0a7z
--HG--
extra : rebase_source : ee4ae96e974d15c8cb9ad569ea9abf0ace4d0fa5
Add a LayerSession class that's split off LayerView. Currently,
LayerSession takes over Surface management and the Compositor class from
LayerView. Eventually, all of LayerView will migrate to LayerSession.
MozReview-Commit-ID: F1ozOfZGY2g
--HG--
extra : rebase_source : eaf42122db1238c99b0da1e689bc365180a2835f
Introduce a GeckoDisplay interface for interaction with GeckoSession.
MozReview-Commit-ID: 13prgWaPqKU
--HG--
extra : rebase_source : 282b27a1f7c11cf4e559b1f25946c3f4574e900a
We don't actually use the screen size through GeckoLayerClient anymore.
Getting rid of it lets us get rid of the Context field in
GeckoLayerClient as well.
MozReview-Commit-ID: GM1jlhAZm4T
--HG--
extra : rebase_source : 04827eb61d6304d4782a7a935d5528013255726f
This patch makes the :geckoview Gradle project only use
o.m.geckoview.BuildConfig, and makes the :app Gradle project use all
of the preprocessed code coming from the moz.build system.
Eventually, we'll reduce that set of preprocessed code to only
o.m.gecko.BuildConfig, which will then be produced by Gradle.
MozReview-Commit-ID: Dnkde7axyZL
--HG--
extra : rebase_source : dc0b7f9fa542cbfd9c665bfac761d45f5957f7b8
Some of these make no sense for GeckoView, but perfect is the enemy of
the good here.
MozReview-Commit-ID: 9MwRkc61v9P
--HG--
extra : rebase_source : 8e7fa8102c615f34dbd76394fb6877188007c3c7
Versions is no more efficient than checking android.os.Build, and it
actually interferes with the Android lint that checks API
compatibility.
MozReview-Commit-ID: Cl1227uHWKZ
--HG--
extra : rebase_source : 91ceba45906ad5fbb47d55c982ecbb65569a3f00
Avoid crash in `GeckoLayerClient.getMatrixForLayerRectToViewRect` by not
calling `isCompositorReady`. If the compositor is really not ready, we will
return inaccurate data, but that's acceptable. r=me for trivial patch.
MozReview-Commit-ID: HobHchWYQ5D
Add BrowserLocaleManager.refreshLocales, a native function which calls OSPreferences::Refresh, and BrowserLocaleManager.getLocale, which returns the current locale string. Use these in place of observing modification of the intl.locale.os pref.
LOCALE_THOUSANDS_SEP, LOCALE_DECIMAL_POINT and LOCALE_GROUPING are only used by
old code without ICU. Since we turn on ICU with ECMA-402 support, it is
unnecessary to set LOCALE_THOUSANDS_SEP, LOCALE_DECIMAL_POINT and
LOCALE_GROUPING in GeckoLoader.setupLocaleEnvironment.
MozReview-Commit-ID: LlGQdLlM7I2
--HG--
extra : rebase_source : 559fafd4ded9e351805fdd7b10e7aaebfc09637e
Usually when we handle notification events, we try to launch whatever
Activity showed the notification so that the user can see results.
However, only BrowserApp supports being launched this way, so we should
restrict launching Activites to BrowserApp. For others like
CustomTabsActivity, we should just handle the notification event
directly. Currently, only download notifications are supported for these
other Activities, so it's okay if we don't display the Activity.
MozReview-Commit-ID: CNVRSEWBOQ6
--HG--
extra : rebase_source : 79392e1d26a969b6a90dcb976b13dae91fc75241
Usually when we handle notification events, we try to launch whatever
Activity showed the notification so that the user can see results.
However, only BrowserApp supports being launched this way, so we should
restrict launching Activites to BrowserApp. For others like
CustomTabsActivity, we should just handle the notification event
directly. Currently, only download notifications are supported for these
other Activities, so it's okay if we don't display the Activity.
MozReview-Commit-ID: CNVRSEWBOQ6
--HG--
extra : rebase_source : 79392e1d26a969b6a90dcb976b13dae91fc75241
Bug 1345294 introduced nsPrefBranch::{get,set}StringPref(), which allowed the
getting of utf8 strings from prefs, which previously required using
nsISupportsString with {get,set}ComplexValue. That bug also converted most
uses.
This patch finishes the job.
- It removes the nsISupportsString support.
- It converts existing code that relied on the nsISupportsString.
- It removes the lint that was set up to detect such uses of nsISupportsString.
--HG--
extra : rebase_source : b885ee784704819e181430200af5ef762e269d14
Upgrading to the Android-Gradle plugin 3.0+ broke |mach android test|
locally. This addresses the issue.
MozReview-Commit-ID: 3vV47ET7d19
--HG--
extra : rebase_source : aaf7a550f8b2776a41d55fdce2c43c0c8c473331
This is part of a larger project to standardize our source locations.
MozReview-Commit-ID: Gbh9qSW7RJY
--HG--
rename : mobile/android/app/assets/example_asset.txt => mobile/android/app/src/main/assets/example_asset.txt
rename : mobile/android/app/assets/parental_controls_theme.png => mobile/android/app/src/main/assets/parental_controls_theme.png
rename : mobile/android/app/assets/publicsuffixlist => mobile/android/app/src/main/assets/publicsuffixlist
extra : rebase_source : e73b7d579e02984e6e2a4a3c746c515a69768568
The following prefs are removed because they are defined in gfxPrefs, but the
resulting gfxPrefs property is used at all.
* gfx.SurfaceTexture.detach.enabled
* gfx.touch.resample.*
* gfx.screen-mirroring.enabled
MozReview-Commit-ID: CyI3JN4TTu5
Bug 1345294 introduced nsPrefBranch::{get,set}StringPref(), which allowed the
getting of utf8 strings from prefs, which previously required using
nsISupportsString with {get,set}ComplexValue. That bug also converted most
uses.
This patch finishes the job.
- It removes the nsISupportsString support.
- It converts existing code that relied on the nsISupportsString.
- It removes the lint that was set up to detect such uses of nsISupportsString.
--HG--
extra : rebase_source : fb7af066adfa0491a79fae6282a62b08661553c8
Upgrading to the Android-Gradle plugin 3.0+ broke |mach android test|
locally. This addresses the issue.
MozReview-Commit-ID: 3vV47ET7d19
--HG--
extra : rebase_source : c31e876969b0aff6cf7711fcb2227f6ca0d4fe46
This is part of a larger project to standardize our source locations.
MozReview-Commit-ID: Gbh9qSW7RJY
--HG--
rename : mobile/android/app/assets/example_asset.txt => mobile/android/app/src/main/assets/example_asset.txt
rename : mobile/android/app/assets/parental_controls_theme.png => mobile/android/app/src/main/assets/parental_controls_theme.png
rename : mobile/android/app/assets/publicsuffixlist => mobile/android/app/src/main/assets/publicsuffixlist
extra : rebase_source : dad3ded6a41d60989921b437dcf91181854c7b5a
Fix a bug where GeckoView becomes unresponsive to dispatched events
after restoring states, due to the native queue not being restored.
r=me for small, tested patch.
MozReview-Commit-ID: K1cVjjNaZK1
--HG--
extra : rebase_source : b1329c84d82f5bdc06767bf310ca87e52ff6ec9b
As of bug 1366672, case START no longer falls through in order to allow for a
different behaviour of the progress indicator, however we still need to add
UpdateFlags.PROGRESS, so that the stop button shows up as soon as a page starts
loading.
MozReview-Commit-ID: 3P33JEsS5ic
--HG--
extra : rebase_source : 4f83ab57613df31cdd4f392c478df33a992c95af
The old GeckoView was renamed to GeckoSession, so the old
GeckoViewHandler and GeckoViewSettings should be renamed to
GeckoSession.. as well. GeckoView JS files are left alone and may be
converted in a future bug. r=me for trivial patch.
MozReview-Commit-ID: BJTwugWboKf
--HG--
rename : mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoViewHandler.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoSessionHandler.java
rename : mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoViewSettings.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoSessionSettings.java
extra : rebase_source : d6e55620b8588174bff801f3f7b436f67e9b3f32
Remove PresentationView, which is no longer used. r=me for trivial
patch.
MozReview-Commit-ID: DKcysGTXXC7
--HG--
extra : rebase_source : e7f015e167ea1138903891e24bf215bfabefc141
Change places where we use GeckoView to use GeckoSession instead.
MozReview-Commit-ID: InT4i1MaoBe
--HG--
extra : rebase_source : 67f57d5b00818292b8d273665e60f81a11097eea
With the old GeckoView renamed to GeckoSession, add a new minimal
implementation of GeckoView that manages View lifetime but delegates
most tasks to GeckoSession.
MozReview-Commit-ID: 9FFdLpTfPQY
--HG--
extra : rebase_source : 596866e9121265bf0529648926a71d1dfe3b2976
* Move the chromeUri and screenId settings to GeckoViewSettings.
* Add a private data-dir setting that the debugger-socket-dir setting
falls backs to. Set the data-dir setting inside `GeckoSession.openWindow`.
* Add optional init-only and values properties for settings.
* Use integer constants for display-mode setting.
MozReview-Commit-ID: HgJg0t0oade
--HG--
extra : rebase_source : 537689d93202e4201e879bae9e073ceb4489190b
Rename GeckoView to GeckoSession. Strip out parts of it that depended on
being a subclass of View. Also strip out parts of it that dealt with
switching EventDispatcher and NativeQueue, because now there's only one
copy of each for each GeckoSession.
MozReview-Commit-ID: J699twtpmTS
--HG--
rename : mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoSession.java
extra : rebase_source : 60e045f6f1e6a70dcabc03f5a32cae5576c2edd8
Right now, `GeckoView.Window.open()` consists of opening a new Gecko
nsWindow and attaching it to the opening GeckoView. This patch separates
the attaching step into an `Window.attach()` function that was renamed
from `Window.reattach()`. Going forward, `Window.open()` and
`Window.close()` will correspond to opening and closing a session, which
`Window.attach()` will correspond to attaching a display to a session.
MozReview-Commit-ID: 94Un74pwizY
--HG--
extra : rebase_source : a7d9c6c3227de4b05e800d77a184f1deae9af5f8
There's nothing that makes sense in the existing setup; we're only not
getting bitten because the set of things that _do_ depend on all of
the flags that differ between the underlying Nightly builds and
single-locale repacks is small, and nobody has complained. For
example, about:licenses probably does not include the Adjust SDK
license for single-locale repacks.
This patch series recompiles the Java code as part of each
single-locale repack, and that means the feature flags, etc, need to
be the same between the underlying compiled code (from the underlying
Nightly build) and the fresh Java compile. This patch tries to
harmonize the two.
MozReview-Commit-ID: 230q7HuD1vV
--HG--
extra : rebase_source : 1be8a389ed289c788add4d3e95c540f29165cf6b
extra : source : d7f794ec69ccd38d66ec5394fac7cc6658e29ce4
Single-locale repacks do the following:
Download existing APK; unzip APK; update l10n resources; |mach package| with IS_LANGUAGE_REPACK=1.
This is pretty hard to accommodate, but we can try. The key issues
here are to recognize when IS_LANGUAGE_REPACK=1 and not ask for l10n
resources (in particular, strings.xml) to be generated.
We do need to include the freshly built classes.dex when repackaging,
because newer Gradle/aapt doesn't preserve the R.java IDs.
MozReview-Commit-ID: 9FvQtmPOUjg
--HG--
extra : rebase_source : b0440ceb318662bf3c08f2139c51dae5775a6b38
Bug 1297850 removed the only consumer of the background colour on the Java side,
so this can go as well.
MozReview-Commit-ID: DJwrUVUHZ1t
--HG--
extra : rebase_source : be2b5068c57878ff556d1af16eb1df5d5a8779aa