Commit Graph

410 Commits

Author SHA1 Message Date
Kyle Huey
94f653c385 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Jim Chen
dbe0fdff66 Bug 1235475 - Crash at the exception source when an exception is in native code; r=snorp
When we have a Java exception in native code, the Java stack in the
exception will not be very useful because the top frame is the native
entry point. In this case, the native stack is more useful. However,
currently we don't get a good native stack in this situation because we
go through Java when handling the exception, and the native stack we get
will have a lot of unknown frames inside libdvm or libart. This patch
makes us stay in native code when handling an uncaught exception from
native code, so that we get a good native stack.
2015-12-30 18:36:41 -05:00
Jim Chen
896c5bd072 Bug 1233812 - Fix possible race in accessing nsAppShell instance; r=snorp
When getting nsAppShell from another thread, there could be a race with
nsAppShell being destroyed on the main thread. This patch makes the raw
nsAppShell pointer only accessible from the main thread, and use a
static mutex to coordinate accessing nsAppShell from other threads.
2015-12-23 22:03:35 -05:00
Jim Chen
eefbe86eb5 Bug 1232456 - Create EGL surface through widget; r=snorp
This patch makes GLContextProviderEGL create EGL surfaces through
nsWindow/nsIWidget on Android. nsWindow then calls GLController in Java
to actually create the surface.
2015-12-23 22:03:34 -05:00
Jim Chen
0ab8e63862 Bug 1227706 - Implement nsWindow::GLControllerSupport; r=snorp
This patch adds native method implementations in GLControllerSupport to
manage compositor creation/pause/resume.
2015-12-23 22:03:34 -05:00
Chenxia Liu
109eec104c Bug 1212611 - Use system notification for website notifications in Android. r=mfinkle 2015-12-03 10:56:04 -05:00
sgiles
09a3f1565f Bug 1174228 - Set up TYPE_APP for navigator.getDeviceStorage for B2GDroid r=dhylands 2015-11-06 05:55:40 +00:00
Nicholas Nethercote
cd0d639069 Bug 1209812 (part 3) - Rename SurfaceFormat::R5G6B5 as R5G6B5_UINT16. r=Bas. 2015-10-22 23:01:31 -07:00
Nathan Froyd
e4e2da55c9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Nathan Froyd
5254890206 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Reuben Morais
311e5eedfc Bug 748391 - Implement markMessageRead on the Android backend. r=snorp 2015-10-13 01:08:51 -03:00
Reuben Morais
a5e995f133 Bug 1197010 - Implement Android backend for createMessageCursor/createThreadCursor. r=snorp 2015-10-06 19:40:38 -03:00
Wes Kocher
8ab0090793 Backed out changeset 3f9ca060b8d0 (bug 1197010) for android build failures 2015-10-06 16:18:13 -07:00
Reuben Morais
c7bae84e19 Bug 1197010 - Implement Android backend for createMessageCursor/createThreadCursor. r=snorp 2015-10-06 19:40:38 -03:00
Fabrice Desré
ac27fb0f29 Bug 1204557 - Stop using base64 for native app icons in the application registry r=jchen 2015-09-24 11:53:05 -07:00
Fabrice Desré
f5dfaa54c5 Bug 1203428 - E10S for device storage API r=cyu 2015-09-15 11:01:07 -07:00
Kartikaya Gupta
423b524153 Bug 1201581 - Hook up the syncFrameMetrics call to sync metrics info from the compositor to Java-land on each composite. r=rbarker 2015-09-11 21:58:16 -04:00
Kartikaya Gupta
d9051e0e5d Bug 1151102 - Add some diagnostic logging. r=snorp 2015-09-09 23:22:19 -04:00
William Chen
658b1a13f5 Bug 1131470 - Part 2: Update screen configuration HAL to report orientation angle. r=snorp,mwu 2015-08-18 14:55:15 -07:00
William Chen
b802d90437 Bug 1131470 - Part 1: Rename existing use of ScreenOrientation to ScreenOrientationInternal. r=baku 2015-08-18 14:55:09 -07:00
Kartikaya Gupta
9b35fc55ac Bug 1180295 - Implement seamless snapping to the stable state. r=rbarker 2015-08-18 14:27:20 -04:00
Kartikaya Gupta
50b0e092de Bug 1180295 - Stop clipping the content while the toolbar is in the process of sliding off. r=rbarker 2015-08-18 14:27:19 -04:00
Kartikaya Gupta
ccddd75aaf Bug 1180295 - Store the viewport width and height as integers instead of floats in ImmutableViewportMetrics. r=rbarker 2015-08-18 14:27:19 -04:00
Kartikaya Gupta
05af9d0c71 Bug 1180295 - Rip out the Fennec code to set the screen render offset. r=rbarker 2015-08-18 14:27:18 -04:00
Jim Chen
03727ba844 Bug 1192082 - Iniialize/deinitialize JNI in nsAppShell; r=snorp
First we need to set the Gecko thread JNIEnv* in nsAndroidStartup, but
after that we can initialize and deinitialize the rest of JNI, including
AndroidBridge, in GeckoAppShell. This makes nsAppShell control the
AndroidBridge lifetime. Over time, parts of the AndroidBridge
functionality will be migrated to nsAppShell.
2015-08-13 00:53:40 -04:00
Jim Chen
c6ef3b5faa Bug 1192082 - De-clutter AndroidBridge init/deinit; r=snorp
Merge all the init code into AndroidBridge constructor and
AndroidBridge::ConstructBridge; merge all the deinit code into
AndroidBridge destructor and AndroidBridge::DeconstructBridge.

In particular, the SetMainThread call is obsolete and removed.
2015-08-13 00:53:39 -04:00
Jim Chen
25353fa7f4 Bug 1192077 - Convert AndroidBridge JNIEnv calls; r=esawin 2015-08-13 00:53:39 -04:00
Jim Chen
2fb5d313bd Bug 1192077 - Move AndroidBridge JNIEnv calls to jni/Utils; r=esawin
Calls like GetJNIForThread should now belong in jni/Utils. Moving the
calls also reduce clutter in AndroidBridge.
2015-08-13 00:53:39 -04:00
Jim Chen
6d38435454 Bug 1189995 - Move GeckoAppShell.pumpMessageLoop to GeckoThread; r=esawin
This method is used by Gecko to pump the Android message loop, and it's
also more suited to GeckoThread than GeckoAppShell.
2015-08-13 00:53:39 -04:00
Birunthan Mohanathas
e1f0334d06 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Jim Chen
412ca11ada Bug 1187088 - Use UNIFIED_SOURCES in widget/android; r=snorp
Fix some compiling errors in unified mode due to header dependency
issues.
2015-08-04 17:47:28 -04:00
Jim Chen
ff569cc4b6 Bug 1186467 - Rewrite NativeJSContainer to use new native JNI scheme; r=snorp
This patch makes NativeJSContainer use per-instance native methods.
NativeJSContainer is also updated to use smart JNI reference classes.
2015-08-04 17:47:28 -04:00
Jim Chen
6c059423b9 Bug 1182641 - Implement new native methods for ANRReporter; r=snorp 2015-07-29 15:11:15 -04:00
Qiang Lu
9d8feab426 Bug 1178069 - Check devices capability before enable use of vp8 hardware acceleration using android.media.MediaCodecList and android.media.MediaCodecInfo r=jrmuizel 2015-07-24 12:45:55 -07:00
Dylan Roeh
4f8d4ad5db Bug 1172567 - Use GetLongField rather than GetIntField for jEGLSurfacePointerField when the API version is >= 20. r=snorp 2015-07-10 10:11:20 -05:00
Jim Chen
c46e55d3a0 Bug 1178850 - Make mozilla::jni::Param more intuitive to use; r=snorp 2015-07-10 23:41:35 -04:00
Wes Kocher
0f07ce99e1 Backed out 5 changesets (bug 1178850) for android build bustage CLOSED TREE
Backed out changeset 79085d3894e8 (bug 1178850)
Backed out changeset c02b603104ea (bug 1178850)
Backed out changeset d6dab7810669 (bug 1178850)
Backed out changeset 8ee5809f349b (bug 1178850)
Backed out changeset 821b22ce79e1 (bug 1178850)
2015-07-10 14:17:53 -07:00
Jim Chen
328f4b5fdc Bug 1178850 - Make mozilla::jni::Param more intuitive to use; r=snorp 2015-07-10 16:52:51 -04:00
Robert O'Callahan
972aedb76b Bug 1143575. Android's screenshotting code should invalidate the LayerManagerComposite to ensure composition will actually happen. r=nical
There is some ambiguity about whether ScheduleComposite will necessarily
trigger a composite all the way to nsWindow::DrawWindowUnderlay. Android
robocop tests assume it will, because they rely on DrawWindowOverlay
being called so they can take a screenshot and make progress,
but this is a very fragile assumption. They also rely on the entire
window being painted, which is also a fragile assumption.

This patch improves the situation by explicitly invalidating the current
window area when Android Java code needs to trigger a composite. This avoids
regressions from future patches in this series which make composition bail
out when there is nothing invalid.

The resulting setup is still a bit fragile for my taste but I'm not sure
what the ideal solution would be.
2015-06-12 03:20:04 +12:00
Jim Chen
ff67df1f51 Bug 1157908 - Optimize pumpMessageLoop call to use less JNI; r=snorp 2015-04-27 20:52:52 -04:00
Ryan VanderMeulen
918a8d6141 Backed out changesets a486dcc9c233 and 7164a2488b28 (bug 1157908) for various Android test failures.
CLOSED TREE
2015-04-24 16:01:17 -04:00
Jim Chen
0b6415ec9d Bug 1157908 - Optimize pumpMessageLoop call to use less JNI; r=snorp 2015-04-24 14:40:55 -04:00
Jim Chen
78ad008f51 Bug 1154952 - Delete AndroidBridge on Gecko shutdown; r=snorp 2015-04-17 12:22:47 -04:00
Randall Barker
47296673b3 Bug 1148149 - Support Android Presentation API. r=snorp, r=jgilbert 2015-04-10 22:14:00 -04:00
Ryan VanderMeulen
6854fdee31 Backed out changeset 9271d92ee0e2 (bug 1148149) for robocop crashes. 2015-04-10 14:52:50 -04:00
Randall Barker
33d6c3de93 Bug 1148149 - Support Android Presentation API. r=snorp, r=jgilbert 2015-04-08 16:00:00 -04:00
Botond Ballo
2011a05c35 Bug 1139675 - Simplify the APIs for getting and setting the pres shell resolution. r=mstange,mattwoodrow 2015-03-06 18:07:59 -05:00
Milan Sreckovic
0eae6efbca Bug 1019209 - Allow GL initialization without Android bridge, delay some GL string initialization, clean up some AndroidBridge code. r=snorp 2015-02-18 16:50:31 -05:00
Nicholas Nethercote
ee41df7dc2 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
1ee96e7527 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00