Commit Graph

2089 Commits

Author SHA1 Message Date
Sebastian Hengst
5e55af8f82 merge mozilla-central to autoland. r=merge a=merge 2017-12-01 01:30:16 +02:00
Dylan Roeh
3589e9efe6 Bug 1412678 - Ensure the window most recently interacted with is the active window. r=snorp 2017-11-30 09:00:05 -06:00
Gabriele Svelto
cbb30621ec Bug 1402519 - Remove MOZ_CRASHREPORTER directives from widget; r=froydnj
--HG--
extra : rebase_source : 4472a8d6ce5edf1b5a4665d522a1816020308a43
2017-11-23 10:59:04 +01:00
Jim Chen
675847149d Bug 1416316 - 4. Update comments and bindings; r=jchen
MozReview-Commit-ID: 9CBe7Iej1D8

--HG--
extra : rebase_source : 0db28213833915747d9b34fe58458348a33458ad
2017-11-30 13:25:51 -05:00
Jim Chen
84ca8a1479 Bug 1416316 - 3. Update NPZC usages; r=rbarker
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
2017-11-30 13:25:50 -05:00
Jim Chen
bd61ff7f2f Bug 1416316 - 2. Clean up NativePanZoomController; r=rbarker
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
2017-11-30 13:25:50 -05:00
Jim Chen
c8f7a24671 Bug 1416316 - 1. Move overscroll to LayerSession; r=rbarker
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
2017-11-30 13:25:50 -05:00
shindli
a0b20fcb81 Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-11-22 23:42:02 +02:00
James Willcox
e626ddf5dc Bug 1409113 - Relax the user input requirement in order to show VKB on Android r=jchen
MozReview-Commit-ID: 4lvuGFyWj76
2017-11-22 10:09:07 -06:00
James Willcox
436c2828a9 Bug 1416015 - Ensure SurfaceTexture desctruction happens correctly r=jnicol
MozReview-Commit-ID: I4X1jQQC7ry
2017-11-21 12:43:31 -06:00
Jim Chen
82c5935b9b Bug 1416319 - 8. Switch to using LayerSession coordinates APIs; r=rbarker
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
2017-11-22 14:12:23 -05:00
Jim Chen
5686bed431 Bug 1416319 - 4. Store DynamicToolbarAnimator in LayerSession; r=rbarker
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
2017-11-22 14:12:22 -05:00
Jim Chen
b21cdffaf4 Bug 1416319 - 1. Move content-document-is-displayed flag to native code; r=rbarker
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
2017-11-22 14:12:22 -05:00
Jim Chen
676e0a6e5c Bug 1416310 - 5. Remove GeckoLayerClient.java and update generated bindings; r=jchen
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
2017-11-20 17:17:02 -05:00
Jim Chen
a845c063bf Bug 1416310 - 4. Don't use GeckoLayerClient in native code; r=rbarker
Use LayerSession::Compositor or NativePanZoomController to call back
into Java from nsWindow.

MozReview-Commit-ID: 9JUKAE5XQK1

--HG--
extra : rebase_source : 9d6861b9d641e6abb6b6f94f5f9c4b3661ff071c
2017-11-20 17:17:02 -05:00
Jim Chen
bbe7b4e34c Bug 1416310 - 1. Remove getMatrixForLayerRectToViewRect; r=rbarker
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
2017-11-20 17:17:00 -05:00
Makoto Kato
8fbfdec507 Bug 1417356 - xpcshell doesn't have Java thread. r=jchen
This is a regression by bug 1403690.  After landing this, some xpcshell tests
cause crash with stylo.

mozilla::java::GeckoAppShell::GetShowPasswordSetting doesn't work on xpcshell
test.  If JNI isn't available such as xpcshell, we shouldn't use this method.

MozReview-Commit-ID: AUrT93SkQ2H

--HG--
extra : rebase_source : 2147a42633ea98e3a4d891af832f28c105d5dcf8
2017-11-16 12:25:26 +09:00
Jim Chen
4fc4969b9b Bug 1415994 - 8. Update auto-generated bindings; r=jchen
MozReview-Commit-ID: 2r1V6Hvl5Pb

--HG--
extra : rebase_source : c0347e4d915d3f585a6971fc3048d1f658490ec6
2017-11-14 18:18:36 -05:00
Jim Chen
db59a90277 Bug 1415994 - 6b. Track GeckoDisplay origin changes; r=snorp
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
2017-11-14 18:18:35 -05:00
Jim Chen
ff6c25061a Bug 1415994 - 5. Use LayerSession from GeckoSession; r=snorp
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
2017-11-14 18:18:35 -05:00
Jim Chen
e029f5ee64 Bug 1415994 - 4. Use LayerSession in native code; r=snorp
Make native code use LayerSession::Compositor instead of
LayerView::Compositor. Also, make some callbacks happen on the UI thread
to make the Java code cleaner.

MozReview-Commit-ID: KhuHel7Zfdn

--HG--
extra : rebase_source : 040442539fd7cc1af8e13e4be1d9ebfb1625f778
2017-11-14 18:18:35 -05:00
Jim Chen
11dc67a595 Bug 1415994 - 1. Don't report screen size in GeckoLayerClient; r=rbarker
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
2017-11-14 18:18:34 -05:00
Dylan Roeh
ebd39f9ce0 Bug 1337078 - Improve the use of Android API in OSPreferences r=snorp
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.
2017-11-10 09:20:04 -06:00
Randall Barker
7fe4594a76 Bug 1413362 - part 1: Add GeckoVRManager to support GVR WebVR implementation on Android r=jchen,snorp
MozReview-Commit-ID: C7XTF8N1W9a
2017-11-07 10:50:14 -08:00
Jim Chen
832cd8d996 Bug 1415074 - Fix unresponsiveness after restoring GeckoView states; r=jchen
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
2017-11-07 01:53:11 -05:00
Jim Chen
edb0428314 Bug 1413698 - 2. Move GeckoView to GeckoSession; r=snorp
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
2017-11-06 14:54:09 -05:00
Jim Chen
6fdb886eb4 Bug 1413698 - 1. Separate out attach() from open() in GeckoView.Window; r=snorp
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
2017-11-06 14:54:08 -05:00
Masayuki Nakano
2fcb0a64f2 Bug 1406446 - part 2: Android widget should use API of InputContextAction rather than accessing EventStateManager r=jchen
Basically, widget code shouldn't access API in dom/events as far as possible
since it's difficult to care widget code when other developers to change under
dom/.

This patch backouts the patch for bug 1402461 which made GeckoEditableSupport
depend on EventStateManager in dom/events.  Now, necessary information is in
InputContextAction and same condition should be shared with Windows.

MozReview-Commit-ID: LMlrizswxUj

--HG--
extra : rebase_source : c13604eac143ec5994c65571bff09887d5c0c221
2017-10-24 02:53:19 +09:00
James Cheng
590d6b160c Bug 1396698 - Part1 - Remove the dispatchTo gecko main thread attribute. r=kikuo
MozReview-Commit-ID: 9Opa894ZQMQ

--HG--
extra : rebase_source : 78807da52b2b070a0488ef2c1f673b728172e59d
2017-11-03 13:40:46 +08:00
Jim Chen
db34ad5809 Bug 1412872 - 8. Remove GeckoAppShell dependency in gecko-view; r=snorp
In the future, GeckoAppShell will only be part of the service process
library, and will not be part of the app process library. Therefore, we
should minimize GeckoAppShell usage in any GeckoView code that will
likely end up in the app process library.

In particular, AndroidGamepadManager and Clipboard are made to accept
Context as arguments, instead of using
GeckoAppShell.getApplicationContext() for getting the Context.

MozReview-Commit-ID: G9SC815H5Ku
2017-11-01 14:54:04 -04:00
Jim Chen
7496680254 Bug 1412872 - 4. Handle negate scroll pref in native code; r=rbarker
Handle the negate_wheel_scroll pref in native code so we don't depend on
PrefsHelper in NativePanZoomController.

MozReview-Commit-ID: 14YCcrDlObz
2017-11-01 14:54:03 -04:00
Jim Chen
453375471c Bug 1412872 - 3. Remove native GeckoView loadUri call; r=snorp
Remove the native GeckoView loadUri call because it's Fennec-only.
Replace the call with a Fennec-only "Tab:OpenUri" event.

MozReview-Commit-ID: 7xZW9aceoPL
2017-11-01 14:54:03 -04:00
Jim Chen
adad54189b Bug 1406168 - 5. Fix build; r=snorp
Removing the previous cpp files moved AndroidBridge.cpp to a different
compilation unit, and that caused some problems with other code that
depended on AndroidBridge being in or not in their compilation unit.
This patch fixes those (unwanted) dependencies.

MozReview-Commit-ID: DJsk3iENsx2
2017-11-01 14:48:49 -04:00
Jim Chen
984efaf88e Bug 1406168 - 4. Remove unused code; r=snorp
Remove AndroidJNI.cpp, which is empty. Also remove some JNI string
functions that are unused from AndroidBridge.

MozReview-Commit-ID: CsP4L0TyN48
2017-11-01 14:48:48 -04:00
Jim Chen
5f70c0bf46 Bug 1406168 - 3. Remove AndroidJavaWrappers; r=snorp
Remove AndroidJavaWrappers. Convert nsJNIString usages to use
jni::String and AndroidMotionEvent usages to use java::sdk::MotionEvent.
Move key code constants to GeckoEditableSupport.cpp.

MozReview-Commit-ID: CwcGGADWCNv
2017-11-01 14:48:48 -04:00
Jim Chen
ec08814aaa Bug 1406168 - 2. Remove AndroidJNIWrapper; r=snorp
Remove AndroidJNIWrapper. It was primarily used by JNI.jsm and WebRTC.
Usages in WebRTC are replaced with equivalent uses of JNI templates.

MozReview-Commit-ID: DPSeMOtH2wF
2017-11-01 14:48:48 -04:00
James Willcox
91a9c48755 Bug 1395497 - Regenerate JNI binding r=me
MozReview-Commit-ID: D1zqIMsH1fH
2017-10-30 10:58:56 -05:00
Brad Werth
78c75cba79 Bug 1403690 Part 5: Android change pref and color caching to match approach used in gtk, macOS, and Windows. r=snorp
MozReview-Commit-ID: DoffjB9QMmH

--HG--
extra : rebase_source : affb42e8d97da20d6625463af1ca44ca2cd4b45e
2017-10-10 13:12:28 -07:00
Nathan Froyd
be14985761 Bug 1411692 - move forward declaration to Refs.h; r=darchons
clang complains if we don't have a declaration for Context::sClassRef;
Accessors.h had one, but it's not in the right place to prevent clang
from complaining.  Moving it closer to where Context itself is declared
seems like a reasonable thing to do.
2017-10-25 17:37:15 -04:00
Masatoshi Kimura
dbd92543c6 Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3

--HG--
extra : rebase_source : 5db437f1c34608aa223916874d62b48c59baeae8
2017-10-21 23:53:02 +09:00
Gerald Squelart
d2ed3d6312 Bug 1410252 - Convert 'WrapNotNull(new T(...' to 'MakeNotNull<T*>(...' - r=njn
Most cases where the pointer is stored into an already-declared variable can
trivially be changed to MakeNotNull<T*>, as the NotNull raw pointer will end
up in a smart pointer.

In RAII cases, the target type can be specified (e.g.:
`MakeNotNull<RefPtr<imgFrame>>)`), in which case the variable type may just be
`auto`, similar to the common use of MakeUnique.
Except when the target type is a base pointer, in which case it must be
specified in the declaration.

MozReview-Commit-ID: BYaSsvMhiDi

--HG--
extra : rebase_source : 8fe6f2aeaff5f515b7af2276c439004fa3a1f3ab
2017-10-20 18:25:33 +11:00
Makoto Kato
94c41d978f Bug 1408847 - nsLookAndFeel::GetFontImpl should return Roboto. r=snorp
Our minimum requirement is api-16+ and ICS or later's default font is Roboto.  But nsLookAndFeel::GetFontImpl still returns Droid Sans.  We should return Roboto.

MozReview-Commit-ID: 5VNzQXXp4fa

--HG--
extra : rebase_source : b045c1580faa3204f26d3aa0be89700f2b1abb57
2017-10-16 17:38:19 +09:00
Sebastian Hengst
f7efb5fc2c Merge mozilla-central to mozilla-inbound. r=merge a=merge on a CLOSED TREE 2017-10-12 12:03:15 +02:00
Nicholas Nethercote
c0a1cf9b49 Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen.
This avoids a lot of mismatches between nsAString and char16_t*, thus removing
many getter_Copies() and ToNewUnicode() and get() calls, and generally making
things simpler.

Note: the patch removes GetDefaultPrinterNameFromGlobalPrinters() by simply
inlining it at its two callsites, which is easy with the changed types.

--HG--
extra : rebase_source : 9ab9b3694f093fc9b22c7f8e2394a98674d76c11
2017-10-09 10:08:09 +11:00
Emilio Cobos Álvarez
e808575ca4 Bug 1406631: Remove the color-picker-available system metric. r=xidorn
All our widgets support it with a constant true.

MozReview-Commit-ID: JMEItUsxYWq

--HG--
extra : rebase_source : e7e0a3f83001813239338bc5b3895252e1fb3ea6
2017-10-07 14:06:44 +02:00
Sebastian Hengst
aa78440a09 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EE6DcCgHufi
2017-10-09 11:19:20 +02:00
Nicholas Nethercote
8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Sebastian Hengst
b834f0d177 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 7Ez95T2ivfR
2017-10-07 10:37:39 +02:00
Louis Chang
5f569b5d2c Bug 1404770 Part 1 - Return device pixels instead of css pixels in GetMinimumWidgetSize. r=mats
MozReview-Commit-ID: 4DenoFuKb12

--HG--
extra : rebase_source : a351438f3002eaa255bf6c1c11ef749f7804060f
2017-10-05 16:49:08 +08:00