gecko-dev/widget/android/GeneratedJNIWrappers.h

7335 строки
289 KiB
C
Исходник Обычный вид История

// GENERATED CODE
// Generated by the Java program at /build/annotationProcessors at compile time
// from annotations on Java methods. To update, change the annotations on the
// corresponding Java methods and rerun the build. Manually updating this file
// will cause your build to fail.
#ifndef GeneratedJNIWrappers_h
#define GeneratedJNIWrappers_h
#ifndef MOZ_PREPROCESSOR
#include "mozilla/jni/Refs.h"
#endif
namespace mozilla {
namespace java {
class AndroidGamepadManager : public mozilla::jni::ObjectBase<AndroidGamepadManager>
{
public:
static const char name[];
explicit AndroidGamepadManager(const Context& ctx) : ObjectBase<AndroidGamepadManager>(ctx) {}
struct OnAxisChange_t {
typedef AndroidGamepadManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::BooleanArray::Param,
mozilla::jni::FloatArray::Param> Args;
static constexpr char name[] = "onAxisChange";
static constexpr char signature[] =
"(I[Z[F)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct OnButtonChange_t {
typedef AndroidGamepadManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
bool,
float> Args;
static constexpr char name[] = "onButtonChange";
static constexpr char signature[] =
"(IIZF)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct OnGamepadAdded_t {
typedef AndroidGamepadManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t> Args;
static constexpr char name[] = "onGamepadAdded";
static constexpr char signature[] =
"(II)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto OnGamepadAdded(int32_t, int32_t) -> void;
struct OnGamepadChange_t {
typedef AndroidGamepadManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
bool> Args;
static constexpr char name[] = "onGamepadChange";
static constexpr char signature[] =
"(IZ)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct Start_t {
typedef AndroidGamepadManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "start";
static constexpr char signature[] =
"(Landroid/content/Context;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Start(mozilla::jni::Object::Param) -> void;
struct Stop_t {
typedef AndroidGamepadManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "stop";
static constexpr char signature[] =
"(Landroid/content/Context;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Stop(mozilla::jni::Object::Param) -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class Clipboard : public mozilla::jni::ObjectBase<Clipboard>
{
public:
static const char name[];
explicit Clipboard(const Context& ctx) : ObjectBase<Clipboard>(ctx) {}
struct ClearText_t {
typedef Clipboard Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "clearText";
static constexpr char signature[] =
"(Landroid/content/Context;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto ClearText(mozilla::jni::Object::Param) -> void;
struct GetText_t {
typedef Clipboard Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "getText";
static constexpr char signature[] =
"(Landroid/content/Context;)Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetText(mozilla::jni::Object::Param) -> mozilla::jni::String::LocalRef;
struct HasText_t {
typedef Clipboard Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "hasText";
static constexpr char signature[] =
"(Landroid/content/Context;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto HasText(mozilla::jni::Object::Param) -> bool;
struct SetText_t {
typedef Clipboard Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "setText";
static constexpr char signature[] =
"(Landroid/content/Context;Ljava/lang/CharSequence;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto SetText(mozilla::jni::Object::Param, mozilla::jni::String::Param) -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
};
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
class EventDispatcher : public mozilla::jni::ObjectBase<EventDispatcher>
{
public:
static const char name[];
explicit EventDispatcher(const Context& ctx) : ObjectBase<EventDispatcher>(ctx) {}
class NativeCallbackDelegate;
struct DispatchToGecko_t {
typedef EventDispatcher Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::Object::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "dispatchToGecko";
static constexpr char signature[] =
"(Ljava/lang/String;Lorg/mozilla/gecko/util/GeckoBundle;Lorg/mozilla/gecko/util/EventCallback;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct DispatchToThreads_t {
typedef EventDispatcher Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::Object::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "dispatchToThreads";
static constexpr char signature[] =
"(Ljava/lang/String;Lorg/mozilla/gecko/util/GeckoBundle;Lorg/mozilla/gecko/util/EventCallback;)Z";
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto DispatchToThreads(mozilla::jni::String::Param, mozilla::jni::Object::Param, mozilla::jni::Object::Param) const -> bool;
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
struct DisposeNative_t {
typedef EventDispatcher Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disposeNative";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
};
struct GetInstance_t {
typedef EventDispatcher Owner;
typedef EventDispatcher::LocalRef ReturnType;
typedef EventDispatcher::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getInstance";
static constexpr char signature[] =
"()Lorg/mozilla/gecko/EventDispatcher;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetInstance() -> EventDispatcher::LocalRef;
struct HasGeckoListener_t {
typedef EventDispatcher Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "hasGeckoListener";
static constexpr char signature[] =
"(Ljava/lang/String;)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetAttachedToGecko_t {
typedef EventDispatcher Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "setAttachedToGecko";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SetAttachedToGecko(int32_t) const -> void;
static const int32_t ATTACHED = 1;
static const int32_t DETACHED = 0;
static const int32_t REATTACHING = 2;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class EventDispatcher::NativeCallbackDelegate : public mozilla::jni::ObjectBase<NativeCallbackDelegate>
{
public:
static const char name[];
explicit NativeCallbackDelegate(const Context& ctx) : ObjectBase<NativeCallbackDelegate>(ctx) {}
struct New_t {
typedef NativeCallbackDelegate Owner;
typedef NativeCallbackDelegate::LocalRef ReturnType;
typedef NativeCallbackDelegate::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New() -> NativeCallbackDelegate::LocalRef;
struct Finalize_t {
typedef NativeCallbackDelegate Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "finalize";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
};
struct SendError_t {
typedef NativeCallbackDelegate Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "sendError";
static constexpr char signature[] =
"(Ljava/lang/Object;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct SendSuccess_t {
typedef NativeCallbackDelegate Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "sendSuccess";
static constexpr char signature[] =
"(Ljava/lang/Object;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoAppShell : public mozilla::jni::ObjectBase<GeckoAppShell>
{
public:
static const char name[];
explicit GeckoAppShell(const Context& ctx) : ObjectBase<GeckoAppShell>(ctx) {}
class CameraCallback;
struct CancelVibrate_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "cancelVibrate";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CancelVibrate() -> void;
struct CloseCamera_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "closeCamera";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CloseCamera() -> void;
struct CloseNotification_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "closeNotification";
static constexpr char signature[] =
"(Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CloseNotification(mozilla::jni::String::Param) -> void;
struct ConnectionGetMimeType_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "connectionGetMimeType";
static constexpr char signature[] =
"(Ljava/net/URLConnection;)Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto ConnectionGetMimeType(mozilla::jni::Object::Param) -> mozilla::jni::String::LocalRef;
struct CreateInputStream_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "createInputStream";
static constexpr char signature[] =
"(Ljava/net/URLConnection;)Ljava/io/InputStream;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CreateInputStream(mozilla::jni::Object::Param) -> mozilla::jni::Object::LocalRef;
struct DisableBatteryNotifications_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disableBatteryNotifications";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto DisableBatteryNotifications() -> void;
struct DisableNetworkNotifications_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disableNetworkNotifications";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto DisableNetworkNotifications() -> void;
struct DisableScreenOrientationNotifications_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disableScreenOrientationNotifications";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto DisableScreenOrientationNotifications() -> void;
struct DisableSensor_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "disableSensor";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto DisableSensor(int32_t) -> void;
struct EnableBatteryNotifications_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "enableBatteryNotifications";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EnableBatteryNotifications() -> void;
struct EnableLocation_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "enableLocation";
static constexpr char signature[] =
"(Z)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EnableLocation(bool) -> bool;
struct EnableLocationHighAccuracy_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "enableLocationHighAccuracy";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EnableLocationHighAccuracy(bool) -> void;
struct EnableNetworkNotifications_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "enableNetworkNotifications";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EnableNetworkNotifications() -> void;
struct EnableScreenOrientationNotifications_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "enableScreenOrientationNotifications";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EnableScreenOrientationNotifications() -> void;
struct EnableSensor_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "enableSensor";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EnableSensor(int32_t) -> void;
struct GetAppNotes_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getAppNotes";
static constexpr char signature[] =
"()Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::IGNORE;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetAppNotes() -> mozilla::jni::String::LocalRef;
struct GetApplicationContext_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getApplicationContext";
static constexpr char signature[] =
"()Landroid/content/Context;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetApplicationContext() -> mozilla::jni::Object::LocalRef;
struct GetAudioOutputFramesPerBuffer_t {
typedef GeckoAppShell Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getAudioOutputFramesPerBuffer";
static constexpr char signature[] =
"()I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetAudioOutputFramesPerBuffer() -> int32_t;
struct GetAudioOutputSampleRate_t {
typedef GeckoAppShell Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getAudioOutputSampleRate";
static constexpr char signature[] =
"()I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetAudioOutputSampleRate() -> int32_t;
struct GetConnection_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "getConnection";
static constexpr char signature[] =
"(Ljava/lang/String;)Ljava/net/URLConnection;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetConnection(mozilla::jni::String::Param) -> mozilla::jni::Object::LocalRef;
struct GetCurrentBatteryInformation_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::DoubleArray::LocalRef ReturnType;
typedef mozilla::jni::DoubleArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getCurrentBatteryInformation";
static constexpr char signature[] =
"()[D";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetCurrentBatteryInformation() -> mozilla::jni::DoubleArray::LocalRef;
struct GetCurrentNetworkInformation_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::DoubleArray::LocalRef ReturnType;
typedef mozilla::jni::DoubleArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getCurrentNetworkInformation";
static constexpr char signature[] =
"()[D";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetCurrentNetworkInformation() -> mozilla::jni::DoubleArray::LocalRef;
struct GetDefaultLocale_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getDefaultLocale";
static constexpr char signature[] =
"()Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetDefaultLocale() -> mozilla::jni::String::LocalRef;
struct GetDensity_t {
typedef GeckoAppShell Owner;
typedef float ReturnType;
typedef float SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getDensity";
static constexpr char signature[] =
"()F";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetDensity() -> float;
struct GetDpi_t {
typedef GeckoAppShell Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getDpi";
static constexpr char signature[] =
"()I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetDpi() -> int32_t;
struct GetExceptionStackTrace_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Throwable::Param> Args;
static constexpr char name[] = "getExceptionStackTrace";
static constexpr char signature[] =
"(Ljava/lang/Throwable;)Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::IGNORE;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetExceptionStackTrace(mozilla::jni::Throwable::Param) -> mozilla::jni::String::LocalRef;
struct GetExtensionFromMimeType_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "getExtensionFromMimeType";
static constexpr char signature[] =
"(Ljava/lang/String;)Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetExtensionFromMimeType(mozilla::jni::String::Param) -> mozilla::jni::String::LocalRef;
struct GetHWDecoderCapability_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getHWDecoderCapability";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetHWDecoderCapability() -> bool;
struct GetHWEncoderCapability_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getHWEncoderCapability";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetHWEncoderCapability() -> bool;
struct GetHandlersForMimeType_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::ObjectArray::LocalRef ReturnType;
typedef mozilla::jni::ObjectArray::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "getHandlersForMimeType";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetHandlersForMimeType(mozilla::jni::String::Param, mozilla::jni::String::Param) -> mozilla::jni::ObjectArray::LocalRef;
struct GetHandlersForURL_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::ObjectArray::LocalRef ReturnType;
typedef mozilla::jni::ObjectArray::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "getHandlersForURL";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetHandlersForURL(mozilla::jni::String::Param, mozilla::jni::String::Param) -> mozilla::jni::ObjectArray::LocalRef;
struct GetIconForExtension_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::ByteArray::LocalRef ReturnType;
typedef mozilla::jni::ByteArray::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
int32_t> Args;
static constexpr char name[] = "getIconForExtension";
static constexpr char signature[] =
"(Ljava/lang/String;I)[B";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetIconForExtension(mozilla::jni::String::Param, int32_t) -> mozilla::jni::ByteArray::LocalRef;
struct GetMaxTouchPoints_t {
typedef GeckoAppShell Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getMaxTouchPoints";
static constexpr char signature[] =
"()I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetMaxTouchPoints() -> int32_t;
struct GetMimeTypeFromExtensions_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "getMimeTypeFromExtensions";
static constexpr char signature[] =
"(Ljava/lang/String;)Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetMimeTypeFromExtensions(mozilla::jni::String::Param) -> mozilla::jni::String::LocalRef;
struct GetNetworkLinkType_t {
typedef GeckoAppShell Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getNetworkLinkType";
static constexpr char signature[] =
"()I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetNetworkLinkType() -> int32_t;
struct GetProxyForURI_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
int32_t> Args;
static constexpr char name[] = "getProxyForURI";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetProxyForURI(mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, int32_t) -> mozilla::jni::String::LocalRef;
struct GetScreenAngle_t {
typedef GeckoAppShell Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getScreenAngle";
static constexpr char signature[] =
"()I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetScreenAngle() -> int32_t;
struct GetScreenDepth_t {
typedef GeckoAppShell Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getScreenDepth";
static constexpr char signature[] =
"()I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetScreenDepth() -> int32_t;
struct GetScreenOrientation_t {
typedef GeckoAppShell Owner;
typedef int16_t ReturnType;
typedef int16_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getScreenOrientation";
static constexpr char signature[] =
"()S";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetScreenOrientation() -> int16_t;
struct GetScreenSize_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getScreenSize";
static constexpr char signature[] =
"()Landroid/graphics/Rect;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetScreenSize() -> mozilla::jni::Object::LocalRef;
struct GetShowPasswordSetting_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getShowPasswordSetting";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetShowPasswordSetting() -> bool;
struct GetSystemColors_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::IntArray::LocalRef ReturnType;
typedef mozilla::jni::IntArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getSystemColors";
static constexpr char signature[] =
"()[I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetSystemColors() -> mozilla::jni::IntArray::LocalRef;
struct HandleUncaughtException_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Throwable::Param> Args;
static constexpr char name[] = "handleUncaughtException";
static constexpr char signature[] =
"(Ljava/lang/Throwable;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::IGNORE;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto HandleUncaughtException(mozilla::jni::Throwable::Param) -> void;
struct HideProgressDialog_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "hideProgressDialog";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto HideProgressDialog() -> void;
struct InitCamera_t {
typedef GeckoAppShell Owner;
typedef mozilla::jni::IntArray::LocalRef ReturnType;
typedef mozilla::jni::IntArray::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
int32_t,
int32_t,
int32_t> Args;
static constexpr char name[] = "initCamera";
static constexpr char signature[] =
"(Ljava/lang/String;III)[I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto InitCamera(mozilla::jni::String::Param, int32_t, int32_t, int32_t) -> mozilla::jni::IntArray::LocalRef;
struct IsNetworkLinkKnown_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isNetworkLinkKnown";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto IsNetworkLinkKnown() -> bool;
struct IsNetworkLinkUp_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isNetworkLinkUp";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto IsNetworkLinkUp() -> bool;
struct IsTablet_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isTablet";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto IsTablet() -> bool;
struct KillAnyZombies_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "killAnyZombies";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto KillAnyZombies() -> void;
struct LockScreenOrientation_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "lockScreenOrientation";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto LockScreenOrientation(int32_t) -> void;
struct MoveTaskToBack_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "moveTaskToBack";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto MoveTaskToBack() -> void;
struct NotifyObservers_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "nativeNotifyObservers";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct NotifyAlertListener_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
Bug 1305498 - Refactor notification code to be more concise; r=sebastian Bug 1305498 - 1. Remove NotificationClient task queue; r=sebastian Not sure why we needed a task queue for NotificationClient actions. The actions all go through IPC and are non-blocking, so it's perfectly fine to perform them off of whatever thread we're on. Bug 1305498 - 2. Integrate NotificationHandler et al into NotificationCllient; r=sebastian There's no reason to have NotificationHandler, AppNotificationClient, and ServiceNotificationClient all separate from the base NotificationClient class. This patch adds the functionality of those three classes to NotificationClient. The notifications hash map is changed from a ConcurrentHashMap to a regular HashMap with synchronization because I think the use case here doesn't warrant the added performance and overhead of ConcurrentHashMap. NotificationService is changed to match the new NotificationClient. Now the only job for NotificationService is to set a notification as foreground, rather than to manage all notifications like before. NotificationHandler, AppNotificationClient, and ServiceNotificationClient will be removed in a later patch. Bug 1305498 - 3. Set NotificationListener in GeckoApplication; r=sebastian Set NotificationListener once in GeckoApplication.onCreate, instead of spreading it out in GeckoApp, BrowserApp, and GeckoService. This is possible because there's no longer a distinction between AppNotificationClient and ServiceNotificationClient in the new, consolidated NotificationClient. Bug 1305498 - 4. Remove obsolete notification classes; r=sebastian Remove AppNotificationClient, ServiceNotificationClient, and NotificationHandler, now that they've all been replaced by the new, consolidated NotificationClient. Bug 1305498 - 5. Use NotificationReceiver for web notification callbacks; r=sebastian Previously, web notification callbacks went to GeckoApp directly, but that presented some problems such as not being able to implement the on-close callback, because we don't want to launch GeckoApp when the notification is closed by swiping. This patch makes us use NotificationReceiver for callbacks, and let NotificationReceiver launch GeckoApp if necessary. Bug 1305498 - 6. Don't keep notification cookie in native code; r=sebastian Keep the notification cookie a single location (in the notification intent itself), and simplify the native notification handling code. Bug 1305498 - 7. Use NotificationReceiver for persistent notifications; r=sebastian Currently, persistent notification callbacks go through a different code path, but it'd be more consistent and correct to let persistent notification callbacks go through NotificationReceiver as well. This takes care of some housekeeping work that was missing for persistent notifications, such as deleting the mNotifications entry when the notification is closed.
2016-10-06 04:52:32 +03:00
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "notifyAlertListener";
static constexpr char signature[] =
Bug 1305498 - Refactor notification code to be more concise; r=sebastian Bug 1305498 - 1. Remove NotificationClient task queue; r=sebastian Not sure why we needed a task queue for NotificationClient actions. The actions all go through IPC and are non-blocking, so it's perfectly fine to perform them off of whatever thread we're on. Bug 1305498 - 2. Integrate NotificationHandler et al into NotificationCllient; r=sebastian There's no reason to have NotificationHandler, AppNotificationClient, and ServiceNotificationClient all separate from the base NotificationClient class. This patch adds the functionality of those three classes to NotificationClient. The notifications hash map is changed from a ConcurrentHashMap to a regular HashMap with synchronization because I think the use case here doesn't warrant the added performance and overhead of ConcurrentHashMap. NotificationService is changed to match the new NotificationClient. Now the only job for NotificationService is to set a notification as foreground, rather than to manage all notifications like before. NotificationHandler, AppNotificationClient, and ServiceNotificationClient will be removed in a later patch. Bug 1305498 - 3. Set NotificationListener in GeckoApplication; r=sebastian Set NotificationListener once in GeckoApplication.onCreate, instead of spreading it out in GeckoApp, BrowserApp, and GeckoService. This is possible because there's no longer a distinction between AppNotificationClient and ServiceNotificationClient in the new, consolidated NotificationClient. Bug 1305498 - 4. Remove obsolete notification classes; r=sebastian Remove AppNotificationClient, ServiceNotificationClient, and NotificationHandler, now that they've all been replaced by the new, consolidated NotificationClient. Bug 1305498 - 5. Use NotificationReceiver for web notification callbacks; r=sebastian Previously, web notification callbacks went to GeckoApp directly, but that presented some problems such as not being able to implement the on-close callback, because we don't want to launch GeckoApp when the notification is closed by swiping. This patch makes us use NotificationReceiver for callbacks, and let NotificationReceiver launch GeckoApp if necessary. Bug 1305498 - 6. Don't keep notification cookie in native code; r=sebastian Keep the notification cookie a single location (in the notification intent itself), and simplify the native notification handling code. Bug 1305498 - 7. Use NotificationReceiver for persistent notifications; r=sebastian Currently, persistent notification callbacks go through a different code path, but it'd be more consistent and correct to let persistent notification callbacks go through NotificationReceiver as well. This takes care of some housekeeping work that was missing for persistent notifications, such as deleting the mNotifications entry when the notification is closed.
2016-10-06 04:52:32 +03:00
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct NotifyUriVisited_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "notifyUriVisited";
static constexpr char signature[] =
"(Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct NotifyWakeLockChanged_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "notifyWakeLockChanged";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto NotifyWakeLockChanged(mozilla::jni::String::Param, mozilla::jni::String::Param) -> void;
struct OnLocationChanged_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
double,
double,
double,
float,
float,
float,
int64_t> Args;
static constexpr char name[] = "onLocationChanged";
static constexpr char signature[] =
"(DDDFFFJ)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnSensorChanged_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
float,
float,
float,
float,
int32_t,
int64_t> Args;
static constexpr char name[] = "onSensorChanged";
static constexpr char signature[] =
"(IFFFFIJ)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OpenUriExternal_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "openUriExternal";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto OpenUriExternal(mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param) -> bool;
struct PerformHapticFeedback_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "performHapticFeedback";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto PerformHapticFeedback(bool) -> void;
struct ReportJavaCrash_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Throwable::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "reportJavaCrash";
static constexpr char signature[] =
"(Ljava/lang/Throwable;Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetScreenDepthOverride_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "setScreenDepthOverride";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto SetScreenDepthOverride(int32_t) -> void;
struct ShowNotification_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "showNotification";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto ShowNotification(mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param) -> void;
struct UnlockProfile_t {
typedef GeckoAppShell Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "unlockProfile";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto UnlockProfile() -> bool;
struct UnlockScreenOrientation_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "unlockScreenOrientation";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto UnlockScreenOrientation() -> void;
struct Vibrate_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int64_t> Args;
static constexpr char name[] = "vibrate";
static constexpr char signature[] =
"(J)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Vibrate(int64_t) -> void;
struct Vibrate2_t {
typedef GeckoAppShell Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::LongArray::Param,
int32_t> Args;
static constexpr char name[] = "vibrate";
static constexpr char signature[] =
"([JI)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Vibrate(mozilla::jni::LongArray::Param, int32_t) -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoAppShell::CameraCallback : public mozilla::jni::ObjectBase<CameraCallback>
{
public:
static const char name[];
explicit CameraCallback(const Context& ctx) : ObjectBase<CameraCallback>(ctx) {}
struct OnFrameData_t {
typedef CameraCallback Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "onFrameData";
static constexpr char signature[] =
"(I[B)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
template<class Impl> class Natives;
};
class GeckoBatteryManager : public mozilla::jni::ObjectBase<GeckoBatteryManager>
{
public:
static const char name[];
explicit GeckoBatteryManager(const Context& ctx) : ObjectBase<GeckoBatteryManager>(ctx) {}
struct OnBatteryChange_t {
typedef GeckoBatteryManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
double,
bool,
double> Args;
static constexpr char name[] = "onBatteryChange";
static constexpr char signature[] =
"(DZD)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
template<class Impl> class Natives;
};
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
class GeckoEditableChild : public mozilla::jni::ObjectBase<GeckoEditableChild>
{
public:
static const char name[];
explicit GeckoEditableChild(const Context& ctx) : ObjectBase<GeckoEditableChild>(ctx) {}
struct New_t {
typedef GeckoEditableChild Owner;
typedef GeckoEditableChild::LocalRef ReturnType;
typedef GeckoEditableChild::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/IGeckoEditableParent;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New(mozilla::jni::Object::Param) -> GeckoEditableChild::LocalRef;
struct NotifyIME_t {
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "notifyIME";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto NotifyIME(int32_t) const -> void;
struct NotifyIMEContext_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
mozilla::jni::String::Param,
int32_t> Args;
static constexpr char name[] = "notifyIMEContext";
static constexpr char signature[] =
"(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto NotifyIMEContext(int32_t, mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param, int32_t) const -> void;
struct OnDefaultKeyEvent_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "onDefaultKeyEvent";
static constexpr char signature[] =
"(Landroid/view/KeyEvent;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto OnDefaultKeyEvent(mozilla::jni::Object::Param) const -> void;
struct OnImeAddCompositionRange_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
bool,
int32_t,
int32_t,
int32_t> Args;
static constexpr char name[] = "onImeAddCompositionRange";
static constexpr char signature[] =
"(IIIIIZIII)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
mozilla::jni::DispatchTarget::PROXY;
};
struct OnImeReplaceText_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "onImeReplaceText";
static constexpr char signature[] =
"(IILjava/lang/String;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct OnImeRequestCursorUpdates_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "onImeRequestCursorUpdates";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
mozilla::jni::DispatchTarget::PROXY;
};
struct OnImeSynchronize_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "onImeSynchronize";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
mozilla::jni::DispatchTarget::PROXY;
};
struct OnImeUpdateComposition_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t> Args;
static constexpr char name[] = "onImeUpdateComposition";
static constexpr char signature[] =
"(III)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct OnKeyEvent_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
Bug 1137567 - Make nsWindow for Android use TextEventDispatcher; r=esawin r=rbarker r=masayuki r=snorp Bug 1137567 - 1. Allow dispatching key events during composition; r=esawin We potentially dispatch key events during composition to provide compatibility for pages that only listen to key events. Bug 1137567 - 2. Allow keyboard events in DispatchInputEvent when not on APZ thread; r=rbarker We use nsIWidget::DispatchInputEvent to dispatch our keyboard events on the Gecko thread, which on Android is not the APZ controller thread. We should allow these events to pass instead of crashing. Bug 1137567 - 3. Add GeckoEditableSupport class to support TextEventDispatcher; r=masayuki Add a separate GeckoEditableSupport class, which implements TextEventDispatcherListener and uses TextEventDispatcher for IME operations. The new class is entirely separate from nsWindow to allow it to be independently used in content processes as well. Most of the code is copied from nsWindow::GeckoViewSupport, and adapted to use TextEventDispatcher. Bug 1137567 - 4. Make nsWindow::WindowPtr available for outside classes; r=snorp Make nsWindow::WindowPtr available not just for classes inside nsWindow but for outside classes as well. Also, add support for RefPtr native objects to nsWindow::NativePtr. Bug 1137567 - 5. Use GeckoEditableSupport in nsWindow; r=esawin Use the new GeckoEditableSupport class in nsWindow to replace the previous code in nsWindow::GeckoViewSupport. GeckoEditable native methods now go to GeckoEditableSupport instead of GeckoViewSupport. Several native methods in GeckoEditable are changed from dispatchTo="proxy" to dispatchTo="gecko", because we no longer need the special nsWindow::WindowEvent wrapper for our native calls. Bug 1137567 - 6. Use pushPrefEnv in test_assign_event_data.html; r=masayuki setAndObserveCompositionPref in test_assign_event_data.html does not invoke the callback if the pref is already set. This patch changes it to use SpecialPowers.pushPrefEnv so the callback is always invoked.
2017-03-01 23:29:30 +03:00
int64_t,
int32_t,
int32_t,
int32_t,
bool,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "onKeyEvent";
static constexpr char signature[] =
Bug 1137567 - Make nsWindow for Android use TextEventDispatcher; r=esawin r=rbarker r=masayuki r=snorp Bug 1137567 - 1. Allow dispatching key events during composition; r=esawin We potentially dispatch key events during composition to provide compatibility for pages that only listen to key events. Bug 1137567 - 2. Allow keyboard events in DispatchInputEvent when not on APZ thread; r=rbarker We use nsIWidget::DispatchInputEvent to dispatch our keyboard events on the Gecko thread, which on Android is not the APZ controller thread. We should allow these events to pass instead of crashing. Bug 1137567 - 3. Add GeckoEditableSupport class to support TextEventDispatcher; r=masayuki Add a separate GeckoEditableSupport class, which implements TextEventDispatcherListener and uses TextEventDispatcher for IME operations. The new class is entirely separate from nsWindow to allow it to be independently used in content processes as well. Most of the code is copied from nsWindow::GeckoViewSupport, and adapted to use TextEventDispatcher. Bug 1137567 - 4. Make nsWindow::WindowPtr available for outside classes; r=snorp Make nsWindow::WindowPtr available not just for classes inside nsWindow but for outside classes as well. Also, add support for RefPtr native objects to nsWindow::NativePtr. Bug 1137567 - 5. Use GeckoEditableSupport in nsWindow; r=esawin Use the new GeckoEditableSupport class in nsWindow to replace the previous code in nsWindow::GeckoViewSupport. GeckoEditable native methods now go to GeckoEditableSupport instead of GeckoViewSupport. Several native methods in GeckoEditable are changed from dispatchTo="proxy" to dispatchTo="gecko", because we no longer need the special nsWindow::WindowEvent wrapper for our native calls. Bug 1137567 - 6. Use pushPrefEnv in test_assign_event_data.html; r=masayuki setAndObserveCompositionPref in test_assign_event_data.html does not invoke the callback if the pref is already set. This patch changes it to use SpecialPowers.pushPrefEnv so the callback is always invoked.
2017-03-01 23:29:30 +03:00
"(IIIIIJIIIZLandroid/view/KeyEvent;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct OnSelectionChange_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t> Args;
static constexpr char name[] = "onSelectionChange";
static constexpr char signature[] =
"(II)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::IGNORE;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto OnSelectionChange(int32_t, int32_t) const -> void;
struct OnTextChange_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
int32_t,
int32_t,
int32_t> Args;
static constexpr char name[] = "onTextChange";
static constexpr char signature[] =
"(Ljava/lang/CharSequence;III)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::IGNORE;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto OnTextChange(mozilla::jni::String::Param, int32_t, int32_t, int32_t) const -> void;
struct UpdateCompositionRects_t {
Bug 1339685 - Split GeckoEditable into parent and child classes; r=nalexander r=esawin r=snorp Bug 1339685 - 1. Support compiling GeckoView aidl from multiple packages; r=nalexander Specify a list of AIDL files for GeckoView so we can include AIDLs from multiple packages, and not just those from the org.mozilla.gecko.process package. Bug 1339685 - 2. Add AIDLs for GeckoEditable; r=esawin Add IGeckoEditableParent.aidl and IGeckoEditableChild.aidl for two-way communication between the parent, which lives in the main process, and the child, which lives in the main process or a child content process. Bug 1339685 - 3. Refactor some GeckoEditable code; r=esawin Auto-generate native constants for the constants in GeckoEditableClient, instead of keeping a separate set of constants in native code. Bug 1339685 - 4. Add GeckoEditableChild; r=esawin Add the GeckoEditableChild class, which is currently only used in the main process as the interface between the native nsWindow and GeckoEditable. Eventually, it will be expanded to child content processes as the interface between the native PuppetWidget and main process GeckoEditable. Bug 1339685 - 5. Use GeckoEditableChild from GeckoEditable; r=esawin Make calls to GeckoEditableChild from GeckoEditable, and remove code that exists in GeckoEditableChild from GeckoEditable. Bug 1339685 - 6. Add GetNativeObject member to proxied native calls; r=snorp Add a convenience function for getting the C++ object that is the target of the native call. Bug 1339685 - 7. Use GeckoEditableChild from native code; r=esawin Make nsWindow and GeckoEditableSupport use GeckoEditableChild for communication. nsWindow still keeps a reference to GeckoEditable for switching views. Bug 1339685 - 8. Updated generated bindings; r=me
2017-03-02 21:47:14 +03:00
typedef GeckoEditableChild Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ObjectArray::Param> Args;
static constexpr char name[] = "updateCompositionRects";
static constexpr char signature[] =
"([Landroid/graphics/RectF;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto UpdateCompositionRects(mozilla::jni::ObjectArray::Param) const -> void;
static const int32_t FLAG_KEEP_CURRENT_COMPOSITION = 1;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoNetworkManager : public mozilla::jni::ObjectBase<GeckoNetworkManager>
{
public:
static const char name[];
explicit GeckoNetworkManager(const Context& ctx) : ObjectBase<GeckoNetworkManager>(ctx) {}
struct OnConnectionChanged_t {
typedef GeckoNetworkManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::String::Param,
bool,
int32_t> Args;
static constexpr char name[] = "onConnectionChanged";
static constexpr char signature[] =
"(ILjava/lang/String;ZI)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnStatusChanged_t {
typedef GeckoNetworkManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "onStatusChanged";
static constexpr char signature[] =
"(Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoScreenOrientation : public mozilla::jni::ObjectBase<GeckoScreenOrientation>
{
public:
static const char name[];
explicit GeckoScreenOrientation(const Context& ctx) : ObjectBase<GeckoScreenOrientation>(ctx) {}
struct OnOrientationChange_t {
typedef GeckoScreenOrientation Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int16_t,
int16_t> Args;
static constexpr char name[] = "onOrientationChange";
static constexpr char signature[] =
"(SS)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoSession : public mozilla::jni::ObjectBase<GeckoSession>
{
public:
static const char name[];
explicit GeckoSession(const Context& ctx) : ObjectBase<GeckoSession>(ctx) {}
class Window;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class GeckoSession::Window : public mozilla::jni::ObjectBase<Window>
{
public:
static const char name[];
explicit Window(const Context& ctx) : ObjectBase<Window>(ctx) {}
struct AttachEditable_t {
typedef Window Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "attachEditable";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/IGeckoEditableParent;Lorg/mozilla/gecko/GeckoEditableChild;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct Close_t {
typedef Window Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "close";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct DisposeNative_t {
typedef Window Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "nativeDisposeNative";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct OnReady_t {
typedef Window Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "onReady";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto OnReady() const -> void;
struct OnTransfer_t {
typedef Window Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "onTransfer";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/EventDispatcher;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto OnTransfer(mozilla::jni::Object::Param) const -> void;
struct Open_t {
typedef Window Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
Window::Param,
mozilla::jni::Object::Param,
mozilla::jni::Object::Param,
mozilla::jni::Object::Param,
mozilla::jni::String::Param,
int32_t,
bool> Args;
static constexpr char name[] = "open";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/GeckoSession$Window;Lorg/mozilla/gecko/gfx/LayerSession$Compositor;Lorg/mozilla/gecko/EventDispatcher;Lorg/mozilla/gecko/util/GeckoBundle;Ljava/lang/String;IZ)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct Transfer_t {
typedef Window Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param,
mozilla::jni::Object::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "transfer";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/gfx/LayerSession$Compositor;Lorg/mozilla/gecko/EventDispatcher;Lorg/mozilla/gecko/util/GeckoBundle;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoThread : public mozilla::jni::ObjectBase<GeckoThread>
{
public:
static const char name[];
explicit GeckoThread(const Context& ctx) : ObjectBase<GeckoThread>(ctx) {}
class State;
struct CheckAndSetState_t {
typedef GeckoThread Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "checkAndSetState";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/GeckoThread$State;Lorg/mozilla/gecko/GeckoThread$State;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CheckAndSetState(mozilla::jni::Object::Param, mozilla::jni::Object::Param) -> bool;
struct ForceQuit_t {
typedef GeckoThread Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "forceQuit";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki Add a GetIMEUpdatePreference method to TextEventDispatcherListener to optionally control which IME notifications are received by NotifyIME. This patch also makes nsBaseWidget forward its GetIMEUpdatePreference call to the widget's native TextEventDispatcherListener. Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki This patch implements GetIMEUpdatePreference for all TextEventDispatcherListener implementations, by moving previous implementations of nsIWidget::GetIMEUpdatePreference. Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki In PuppetWidget, add getter and setter for the widget's native TextEventDispatcherListener. This allows overriding of PuppetWidget's default IME handling. For example, on Android, the PuppetWidget's native TextEventDispatcherListener will communicate directly with Java IME code in the main process. Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker Add AIDL definition and implementation for an interface for the main process that child processes can access. Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is the only Android-specific entry point for child processes, so I think it's the most logical place to initialize JNI. Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin Support remote GeckoEditableChild instances that are created in the content processes and connect to the parent process GeckoEditableParent through binders. Support having multiple GeckoEditableChild instances in GeckoEditable by keeping track of which child is currently focused, and only allow calls to/from the focused child by using access tokens. Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin Add IProcessManager.getEditableParent, which a content process can call to get the GeckoEditableParent instance that corresponds to a given content process tab, from the main process. Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin Support creating and running GeckoEditableSupport attached to a PuppetWidget in content processes. Because we don't know PuppetWidget's lifetime as well as nsWindow's, when attached to PuppetWidget, we need to attach/detach our native object on focus/blur, respectively. Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin Listen to the "tab-child-created" notification and attach our content process GeckoEditableSupport to the new PuppetWidget. Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-08 06:34:39 +03:00
struct IsChildProcess_t {
typedef GeckoThread Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isChildProcess";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto IsChildProcess() -> bool;
struct CreateServices_t {
typedef GeckoThread Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "nativeCreateServices";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnPause_t {
typedef GeckoThread Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "nativeOnPause";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnResume_t {
typedef GeckoThread Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "nativeOnResume";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct PumpMessageLoop_t {
typedef GeckoThread Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "pumpMessageLoop";
static constexpr char signature[] =
"(Landroid/os/Message;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto PumpMessageLoop(mozilla::jni::Object::Param) -> bool;
struct RequestUiThreadCallback_t {
typedef GeckoThread Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int64_t> Args;
static constexpr char name[] = "requestUiThreadCallback";
static constexpr char signature[] =
"(J)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto RequestUiThreadCallback(int64_t) -> void;
struct RunUiThreadCallback_t {
typedef GeckoThread Owner;
typedef int64_t ReturnType;
typedef int64_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "runUiThreadCallback";
static constexpr char signature[] =
"()J";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetState_t {
typedef GeckoThread Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "setState";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/GeckoThread$State;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto SetState(mozilla::jni::Object::Param) -> void;
struct SpeculativeConnect_t {
typedef GeckoThread Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "speculativeConnectNative";
static constexpr char signature[] =
"(Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct WaitOnGecko_t {
typedef GeckoThread Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "waitOnGecko";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct ClsLoader_t {
typedef GeckoThread Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "clsLoader";
static constexpr char signature[] =
"Ljava/lang/ClassLoader;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto ClsLoader() -> mozilla::jni::Object::LocalRef;
struct MsgQueue_t {
typedef GeckoThread Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "msgQueue";
static constexpr char signature[] =
"Landroid/os/MessageQueue;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto MsgQueue() -> mozilla::jni::Object::LocalRef;
static auto MsgQueue(mozilla::jni::Object::Param) -> void;
struct UiThreadId_t {
typedef GeckoThread Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "uiThreadId";
static constexpr char signature[] =
"I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto UiThreadId() -> int32_t;
static auto UiThreadId(int32_t) -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoThread::State : public mozilla::jni::ObjectBase<State>
{
public:
static const char name[];
explicit State(const Context& ctx) : ObjectBase<State>(ctx) {}
struct EXITED_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "EXITED";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EXITED() -> State::LocalRef;
struct EXITING_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "EXITING";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EXITING() -> State::LocalRef;
struct INITIAL_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "INITIAL";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto INITIAL() -> State::LocalRef;
struct JNI_READY_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "JNI_READY";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto JNI_READY() -> State::LocalRef;
struct LAUNCHED_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "LAUNCHED";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto LAUNCHED() -> State::LocalRef;
struct LIBS_READY_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "LIBS_READY";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto LIBS_READY() -> State::LocalRef;
struct MOZGLUE_READY_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "MOZGLUE_READY";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto MOZGLUE_READY() -> State::LocalRef;
struct PROFILE_READY_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "PROFILE_READY";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto PROFILE_READY() -> State::LocalRef;
struct RESTARTING_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "RESTARTING";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto RESTARTING() -> State::LocalRef;
struct RUNNING_t {
typedef State Owner;
typedef State::LocalRef ReturnType;
typedef State::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "RUNNING";
static constexpr char signature[] =
"Lorg/mozilla/gecko/GeckoThread$State;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto RUNNING() -> State::LocalRef;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class GeckoVRManager : public mozilla::jni::ObjectBase<GeckoVRManager>
{
public:
static const char name[];
explicit GeckoVRManager(const Context& ctx) : ObjectBase<GeckoVRManager>(ctx) {}
struct CleanupGVRNonPresentingContext_t {
typedef GeckoVRManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "cleanupGVRNonPresentingContext";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct CreateGVRNonPresentingContext_t {
typedef GeckoVRManager Owner;
typedef int64_t ReturnType;
typedef int64_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "createGVRNonPresentingContext";
static constexpr char signature[] =
"()J";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CreateGVRNonPresentingContext() -> int64_t;
struct DestroyGVRNonPresentingContext_t {
typedef GeckoVRManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "destroyGVRNonPresentingContext";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto DestroyGVRNonPresentingContext() -> void;
struct DisableVRMode_t {
typedef GeckoVRManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disableVRMode";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto DisableVRMode() -> void;
struct EnableVRMode_t {
typedef GeckoVRManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "enableVRMode";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EnableVRMode() -> void;
struct IsGVRPresent_t {
typedef GeckoVRManager Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isGVRPresent";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto IsGVRPresent() -> bool;
struct SetGVRPaused_t {
typedef GeckoVRManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "setGVRPaused";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetGVRPresentingContext_t {
typedef GeckoVRManager Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int64_t> Args;
static constexpr char name[] = "setGVRPresentingContext";
static constexpr char signature[] =
"(J)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class PrefsHelper : public mozilla::jni::ObjectBase<PrefsHelper>
{
public:
static const char name[];
explicit PrefsHelper(const Context& ctx) : ObjectBase<PrefsHelper>(ctx) {}
struct CallPrefHandler_t {
typedef PrefsHelper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param,
int32_t,
mozilla::jni::String::Param,
bool,
int32_t,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "callPrefHandler";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/PrefsHelper$PrefHandler;ILjava/lang/String;ZILjava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CallPrefHandler(mozilla::jni::Object::Param, int32_t, mozilla::jni::String::Param, bool, int32_t, mozilla::jni::String::Param) -> void;
struct AddObserver_t {
typedef PrefsHelper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ObjectArray::Param,
mozilla::jni::Object::Param,
mozilla::jni::ObjectArray::Param> Args;
static constexpr char name[] = "nativeAddObserver";
static constexpr char signature[] =
"([Ljava/lang/String;Lorg/mozilla/gecko/PrefsHelper$PrefHandler;[Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct GetPrefs_t {
typedef PrefsHelper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ObjectArray::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "nativeGetPrefs";
static constexpr char signature[] =
"([Ljava/lang/String;Lorg/mozilla/gecko/PrefsHelper$PrefHandler;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct RemoveObserver_t {
typedef PrefsHelper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ObjectArray::Param> Args;
static constexpr char name[] = "nativeRemoveObserver";
static constexpr char signature[] =
"([Ljava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct SetPref_t {
typedef PrefsHelper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
bool,
int32_t,
bool,
int32_t,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "nativeSetPref";
static constexpr char signature[] =
"(Ljava/lang/String;ZIZILjava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnPrefChange_t {
typedef PrefsHelper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
int32_t,
bool,
int32_t,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "onPrefChange";
static constexpr char signature[] =
"(Ljava/lang/String;IZILjava/lang/String;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto OnPrefChange(mozilla::jni::String::Param, int32_t, bool, int32_t, mozilla::jni::String::Param) -> void;
static const int32_t PREF_BOOL = 1;
static const int32_t PREF_FINISH = 0;
static const int32_t PREF_INT = 2;
static const int32_t PREF_INVALID = -1;
static const int32_t PREF_STRING = 3;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class ScreenManagerHelper : public mozilla::jni::ObjectBase<ScreenManagerHelper>
{
public:
static const char name[];
explicit ScreenManagerHelper(const Context& ctx) : ObjectBase<ScreenManagerHelper>(ctx) {}
struct AddDisplay_t {
typedef ScreenManagerHelper Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
float> Args;
static constexpr char name[] = "addDisplay";
static constexpr char signature[] =
"(IIIF)I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct RemoveDisplay_t {
typedef ScreenManagerHelper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "removeDisplay";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class SurfaceTextureListener : public mozilla::jni::ObjectBase<SurfaceTextureListener>
{
public:
static const char name[];
explicit SurfaceTextureListener(const Context& ctx) : ObjectBase<SurfaceTextureListener>(ctx) {}
struct New_t {
typedef SurfaceTextureListener Owner;
typedef SurfaceTextureListener::LocalRef ReturnType;
typedef SurfaceTextureListener::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New() -> SurfaceTextureListener::LocalRef;
struct DisposeNative_t {
typedef SurfaceTextureListener Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disposeNative";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnFrameAvailable_t {
typedef SurfaceTextureListener Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "nativeOnFrameAvailable";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class TextInputController : public mozilla::jni::ObjectBase<TextInputController>
{
public:
static const char name[];
explicit TextInputController(const Context& ctx) : ObjectBase<TextInputController>(ctx) {}
class EditableClient;
class EditableListener;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class TextInputController::EditableClient : public mozilla::jni::ObjectBase<EditableClient>
{
public:
static const char name[];
explicit EditableClient(const Context& ctx) : ObjectBase<EditableClient>(ctx) {}
static const int32_t END_MONITOR = 3;
static const int32_t ONE_SHOT = 1;
static const int32_t START_MONITOR = 2;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class TextInputController::EditableListener : public mozilla::jni::ObjectBase<EditableListener>
{
public:
static const char name[];
explicit EditableListener(const Context& ctx) : ObjectBase<EditableListener>(ctx) {}
static const int32_t IME_FLAG_PRIVATE_BROWSING = 1;
static const int32_t IME_FLAG_USER_ACTION = 2;
static const int32_t NOTIFY_IME_OF_BLUR = 2;
static const int32_t NOTIFY_IME_OF_FOCUS = 1;
static const int32_t NOTIFY_IME_OF_TOKEN = -3;
static const int32_t NOTIFY_IME_OPEN_VKB = -2;
static const int32_t NOTIFY_IME_REPLY_EVENT = -1;
static const int32_t NOTIFY_IME_TO_CANCEL_COMPOSITION = 9;
static const int32_t NOTIFY_IME_TO_COMMIT_COMPOSITION = 8;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class GeckoSurface : public mozilla::jni::ObjectBase<GeckoSurface>
{
public:
static const char name[];
explicit GeckoSurface(const Context& ctx) : ObjectBase<GeckoSurface>(ctx) {}
struct New_t {
typedef GeckoSurface Owner;
typedef GeckoSurface::LocalRef ReturnType;
typedef GeckoSurface::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/gfx/GeckoSurfaceTexture;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New(mozilla::jni::Object::Param, GeckoSurface::LocalRef*) -> nsresult;
struct GetAvailable_t {
typedef GeckoSurface Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getAvailable";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetAvailable() const -> bool;
struct GetHandle_t {
typedef GeckoSurface Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getHandle";
static constexpr char signature[] =
"()I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetHandle() const -> int32_t;
struct SetAvailable_t {
typedef GeckoSurface Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "setAvailable";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SetAvailable(bool) const -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class GeckoSurfaceTexture : public mozilla::jni::ObjectBase<GeckoSurfaceTexture>
{
public:
static const char name[];
explicit GeckoSurfaceTexture(const Context& ctx) : ObjectBase<GeckoSurfaceTexture>(ctx) {}
struct AttachToGLContext_t {
typedef GeckoSurfaceTexture Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int64_t,
int32_t> Args;
static constexpr char name[] = "attachToGLContext";
static constexpr char signature[] =
"(JI)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto AttachToGLContext(int64_t, int32_t) const -> nsresult;
struct DecrementUse_t {
typedef GeckoSurfaceTexture Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "decrementUse";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto DecrementUse() const -> void;
struct DestroyUnused_t {
typedef GeckoSurfaceTexture Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int64_t> Args;
static constexpr char name[] = "destroyUnused";
static constexpr char signature[] =
"(J)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto DestroyUnused(int64_t) -> void;
struct DetachFromGLContext_t {
typedef GeckoSurfaceTexture Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "detachFromGLContext";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto DetachFromGLContext() const -> nsresult;
struct GetHandle_t {
typedef GeckoSurfaceTexture Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getHandle";
static constexpr char signature[] =
"()I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetHandle() const -> int32_t;
struct GetTexName_t {
typedef GeckoSurfaceTexture Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getTexName";
static constexpr char signature[] =
"()I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetTexName() const -> int32_t;
struct IncrementUse_t {
typedef GeckoSurfaceTexture Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "incrementUse";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IncrementUse() const -> void;
struct IsAttachedToGLContext_t {
typedef GeckoSurfaceTexture Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
int64_t> Args;
static constexpr char name[] = "isAttachedToGLContext";
static constexpr char signature[] =
"(J)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsAttachedToGLContext(int64_t) const -> bool;
struct IsSingleBuffer_t {
typedef GeckoSurfaceTexture Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isSingleBuffer";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsSingleBuffer() const -> bool;
struct IsSingleBufferSupported_t {
typedef GeckoSurfaceTexture Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isSingleBufferSupported";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto IsSingleBufferSupported() -> bool;
struct Lookup_t {
typedef GeckoSurfaceTexture Owner;
typedef GeckoSurfaceTexture::LocalRef ReturnType;
typedef GeckoSurfaceTexture::Param SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "lookup";
static constexpr char signature[] =
"(I)Lorg/mozilla/gecko/gfx/GeckoSurfaceTexture;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Lookup(int32_t) -> GeckoSurfaceTexture::LocalRef;
struct ReleaseTexImage_t {
typedef GeckoSurfaceTexture Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "releaseTexImage";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto ReleaseTexImage() const -> void;
struct UpdateTexImage_t {
typedef GeckoSurfaceTexture Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "updateTexImage";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto UpdateTexImage() const -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class LayerSession : public mozilla::jni::ObjectBase<LayerSession>
{
public:
static const char name[];
explicit LayerSession(const Context& ctx) : ObjectBase<LayerSession>(ctx) {}
class Compositor;
struct GetCompositor_t {
typedef LayerSession Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getCompositorFromNative";
static constexpr char signature[] =
"()Ljava/lang/Object;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetCompositor() const -> mozilla::jni::Object::LocalRef;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
};
class LayerSession::Compositor : public mozilla::jni::ObjectBase<Compositor>
{
public:
static const char name[];
explicit Compositor(const Context& ctx) : ObjectBase<Compositor>(ctx) {}
struct AttachNPZC_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "attachNPZC";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/gfx/NativePanZoomController;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct CreateCompositor_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "createCompositor";
static constexpr char signature[] =
"(IILjava/lang/Object;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::PROXY;
};
struct DisposeNative_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disposeNative";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct EnableLayerUpdateNotifications_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "enableLayerUpdateNotifications";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct OnBoundsChanged_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t> Args;
static constexpr char name[] = "onBoundsChanged";
static constexpr char signature[] =
"(IIII)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnCompositorAttached_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "onCompositorAttached";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto OnCompositorAttached() const -> void;
struct OnCompositorDetached_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "onCompositorDetached";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto OnCompositorDetached() const -> void;
struct OnSelectionCaretDrag_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "onSelectionCaretDrag";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto OnSelectionCaretDrag(bool) const -> void;
struct RecvScreenPixels_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
mozilla::jni::IntArray::Param> Args;
static constexpr char name[] = "recvScreenPixels";
static constexpr char signature[] =
"(II[I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto RecvScreenPixels(int32_t, int32_t, mozilla::jni::IntArray::Param) const -> void;
struct RecvToolbarAnimatorMessage_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "recvToolbarAnimatorMessage";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto RecvToolbarAnimatorMessage(int32_t) const -> void;
struct RequestScreenPixels_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "requestScreenPixels";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SendToolbarAnimatorMessage_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "sendToolbarAnimatorMessage";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SendToolbarPixelsToCompositor_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
mozilla::jni::IntArray::Param> Args;
static constexpr char name[] = "sendToolbarPixelsToCompositor";
static constexpr char signature[] =
"(II[I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetDefaultClearColor_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "setDefaultClearColor";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetMaxToolbarHeight_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "setMaxToolbarHeight";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetPinned_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool,
int32_t> Args;
static constexpr char name[] = "setPinned";
static constexpr char signature[] =
"(ZI)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SyncPauseCompositor_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "syncPauseCompositor";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SyncResumeResizeCompositor_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "syncResumeResizeCompositor";
static constexpr char signature[] =
"(IILjava/lang/Object;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct UpdateOverscrollOffset_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
float,
float> Args;
static constexpr char name[] = "updateOverscrollOffset";
static constexpr char signature[] =
"(FF)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto UpdateOverscrollOffset(float, float) const -> void;
struct UpdateOverscrollVelocity_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
float,
float> Args;
static constexpr char name[] = "updateOverscrollVelocity";
static constexpr char signature[] =
"(FF)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto UpdateOverscrollVelocity(float, float) const -> void;
struct UpdateRootFrameMetrics_t {
typedef Compositor Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
float,
float,
float> Args;
static constexpr char name[] = "updateRootFrameMetrics";
static constexpr char signature[] =
"(FFF)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto UpdateRootFrameMetrics(float, float, float) const -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class NativePanZoomController : public mozilla::jni::ObjectBase<NativePanZoomController>
{
public:
static const char name[];
explicit NativePanZoomController(const Context& ctx) : ObjectBase<NativePanZoomController>(ctx) {}
struct DisposeNative_t {
typedef NativePanZoomController Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disposeNative";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct HandleMotionEvent_t {
typedef NativePanZoomController Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int64_t,
int32_t,
mozilla::jni::IntArray::Param,
mozilla::jni::FloatArray::Param,
mozilla::jni::FloatArray::Param,
mozilla::jni::FloatArray::Param,
mozilla::jni::FloatArray::Param,
mozilla::jni::FloatArray::Param,
mozilla::jni::FloatArray::Param> Args;
static constexpr char name[] = "handleMotionEvent";
static constexpr char signature[] =
"(IIJI[I[F[F[F[F[F[F)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct HandleMouseEvent_t {
typedef NativePanZoomController Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
int32_t,
int64_t,
int32_t,
float,
float,
int32_t> Args;
static constexpr char name[] = "handleMouseEvent";
static constexpr char signature[] =
"(IJIFFI)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct HandleScrollEvent_t {
typedef NativePanZoomController Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
int64_t,
int32_t,
float,
float,
float,
float> Args;
static constexpr char name[] = "handleScrollEvent";
static constexpr char signature[] =
"(JIFFFF)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetIsLongpressEnabled_t {
typedef NativePanZoomController Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "nativeSetIsLongpressEnabled";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct SetAttached_t {
typedef NativePanZoomController Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "setAttached";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SetAttached(bool) const -> void;
struct SynthesizeNativeMouseEvent_t {
typedef NativePanZoomController Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t> Args;
static constexpr char name[] = "synthesizeNativeMouseEvent";
static constexpr char signature[] =
"(III)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SynthesizeNativeMouseEvent(int32_t, int32_t, int32_t) const -> void;
struct SynthesizeNativeTouchPoint_t {
typedef NativePanZoomController Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t,
double,
int32_t> Args;
static constexpr char name[] = "synthesizeNativeTouchPoint";
static constexpr char signature[] =
"(IIIIDI)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::UI;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SynthesizeNativeTouchPoint(int32_t, int32_t, int32_t, int32_t, double, int32_t) const -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class StackScroller : public mozilla::jni::ObjectBase<StackScroller>
{
public:
static const char name[];
explicit StackScroller(const Context& ctx) : ObjectBase<StackScroller>(ctx) {}
struct New_t {
typedef StackScroller Owner;
typedef StackScroller::LocalRef ReturnType;
typedef StackScroller::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"(Landroid/content/Context;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New(mozilla::jni::Object::Param, StackScroller::LocalRef*) -> nsresult;
struct AbortAnimation_t {
typedef StackScroller Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "abortAnimation";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto AbortAnimation() const -> nsresult;
struct ComputeScrollOffset_t {
typedef StackScroller Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
int64_t> Args;
static constexpr char name[] = "computeScrollOffset";
static constexpr char signature[] =
"(J)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto ComputeScrollOffset(int64_t, bool*) const -> nsresult;
struct Fling_t {
typedef StackScroller Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int64_t> Args;
static constexpr char name[] = "fling";
static constexpr char signature[] =
"(IIIIIIIIIIJ)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Fling(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int64_t) const -> nsresult;
struct ForceFinished_t {
typedef StackScroller Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "forceFinished";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto ForceFinished(bool) const -> nsresult;
struct GetCurrSpeedX_t {
typedef StackScroller Owner;
typedef float ReturnType;
typedef float SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getCurrSpeedX";
static constexpr char signature[] =
"()F";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetCurrSpeedX(float*) const -> nsresult;
struct GetCurrSpeedY_t {
typedef StackScroller Owner;
typedef float ReturnType;
typedef float SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getCurrSpeedY";
static constexpr char signature[] =
"()F";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetCurrSpeedY(float*) const -> nsresult;
struct GetCurrX_t {
typedef StackScroller Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getCurrX";
static constexpr char signature[] =
"()I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetCurrX(int32_t*) const -> nsresult;
struct GetCurrY_t {
typedef StackScroller Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getCurrY";
static constexpr char signature[] =
"()I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetCurrY(int32_t*) const -> nsresult;
struct GetFinalX_t {
typedef StackScroller Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getFinalX";
static constexpr char signature[] =
"()I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetFinalX(int32_t*) const -> nsresult;
struct GetFinalY_t {
typedef StackScroller Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getFinalY";
static constexpr char signature[] =
"()I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetFinalY(int32_t*) const -> nsresult;
struct InitContants_t {
typedef StackScroller Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "initContants";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto InitContants() -> nsresult;
struct IsFinished_t {
typedef StackScroller Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isFinished";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsFinished(bool*) const -> nsresult;
struct SetFinalX_t {
typedef StackScroller Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "setFinalX";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SetFinalX(int32_t) const -> nsresult;
struct SpringBack_t {
typedef StackScroller Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int64_t> Args;
static constexpr char name[] = "springBack";
static constexpr char signature[] =
"(IIIIIIJ)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SpringBack(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int64_t, bool*) const -> nsresult;
struct StartScroll_t {
typedef StackScroller Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t,
int64_t,
int32_t> Args;
static constexpr char name[] = "startScroll";
static constexpr char signature[] =
"(IIIIJI)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto StartScroll(int32_t, int32_t, int32_t, int32_t, int64_t, int32_t) const -> nsresult;
struct ViscousFluid_t {
typedef StackScroller Owner;
typedef float ReturnType;
typedef float SetterType;
typedef mozilla::jni::Args<
float> Args;
static constexpr char name[] = "viscousFluid";
static constexpr char signature[] =
"(F)F";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto ViscousFluid(float, float*) -> nsresult;
static const int32_t FLING_MODE = 1;
static const int32_t SCROLL_MODE = 0;
struct MFlywheel_t {
typedef StackScroller Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "mFlywheel";
static constexpr char signature[] =
"Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto MFlywheel(bool*) const -> nsresult;
struct MMode_t {
typedef StackScroller Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "mMode";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto MMode(int32_t*) const -> nsresult;
auto MMode(int32_t) const -> nsresult;
struct MScrollerX_t {
typedef StackScroller Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "mScrollerX";
static constexpr char signature[] =
"Lorg/mozilla/gecko/gfx/StackScroller$SplineStackScroller;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto MScrollerX(mozilla::jni::Object::LocalRef*) const -> nsresult;
struct MScrollerY_t {
typedef StackScroller Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "mScrollerY";
static constexpr char signature[] =
"Lorg/mozilla/gecko/gfx/StackScroller$SplineStackScroller;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto MScrollerY(mozilla::jni::Object::LocalRef*) const -> nsresult;
struct SViscousFluidNormalize_t {
typedef StackScroller Owner;
typedef float ReturnType;
typedef float SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "sViscousFluidNormalize";
static constexpr char signature[] =
"F";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto SViscousFluidNormalize(float*) -> nsresult;
static auto SViscousFluidNormalize(float) -> nsresult;
struct SViscousFluidScale_t {
typedef StackScroller Owner;
typedef float ReturnType;
typedef float SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "sViscousFluidScale";
static constexpr char signature[] =
"F";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::NSRESULT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto SViscousFluidScale(float*) -> nsresult;
static auto SViscousFluidScale(float) -> nsresult;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class SurfaceAllocator : public mozilla::jni::ObjectBase<SurfaceAllocator>
{
public:
static const char name[];
explicit SurfaceAllocator(const Context& ctx) : ObjectBase<SurfaceAllocator>(ctx) {}
struct AcquireSurface_t {
typedef SurfaceAllocator Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
bool> Args;
static constexpr char name[] = "acquireSurface";
static constexpr char signature[] =
"(IIZ)Lorg/mozilla/gecko/gfx/GeckoSurface;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto AcquireSurface(int32_t, int32_t, bool) -> mozilla::jni::Object::LocalRef;
struct DisposeSurface_t {
typedef SurfaceAllocator Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "disposeSurface";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/gfx/GeckoSurface;)V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto DisposeSurface(mozilla::jni::Object::Param) -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class VsyncSource : public mozilla::jni::ObjectBase<VsyncSource>
{
public:
static const char name[];
explicit VsyncSource(const Context& ctx) : ObjectBase<VsyncSource>(ctx) {}
struct GetRefreshRate_t {
typedef VsyncSource Owner;
typedef float ReturnType;
typedef float SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getRefreshRate";
static constexpr char signature[] =
"()F";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetRefreshRate() const -> float;
struct NotifyVsync_t {
typedef VsyncSource Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "nativeNotifyVsync";
static constexpr char signature[] =
"()V";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct ObserveVsync_t {
typedef VsyncSource Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "observeVsync";
static constexpr char signature[] =
"(Z)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto ObserveVsync(bool) const -> bool;
struct INSTANCE_t {
typedef VsyncSource Owner;
typedef VsyncSource::LocalRef ReturnType;
typedef VsyncSource::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "INSTANCE";
static constexpr char signature[] =
"Lorg/mozilla/gecko/gfx/VsyncSource;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto INSTANCE() -> VsyncSource::LocalRef;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
Bug 1344347 - Move Android out-of-process decoder service into GeckoView r=jolin MozReview-Commit-ID: QTnp95uhQV --HG-- rename : mobile/android/base/aidl/org/mozilla/gecko/media/FormatParam.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/FormatParam.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodec.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodec.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaManager.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaManager.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/Sample.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/Sample.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodecFactory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodecFactory.java rename : mobile/android/base/java/org/mozilla/gecko/media/Codec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/Codec.java rename : mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/FormatParam.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/FormatParam.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrm.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrm.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java rename : mobile/android/base/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaDrmProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaManager.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java rename : mobile/android/base/java/org/mozilla/gecko/media/SamplePool.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SamplePool.java rename : mobile/android/base/java/org/mozilla/gecko/media/SessionKeyInfo.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SessionKeyInfo.java rename : mobile/android/base/java/org/mozilla/gecko/mozglue/SharedMemory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/SharedMemory.java
2017-03-01 19:17:09 +03:00
class CodecProxy : public mozilla::jni::ObjectBase<CodecProxy>
{
public:
static const char name[];
explicit CodecProxy(const Context& ctx) : ObjectBase<CodecProxy>(ctx) {}
class NativeCallbacks;
struct Create_t {
typedef CodecProxy Owner;
typedef CodecProxy::LocalRef ReturnType;
typedef CodecProxy::Param SetterType;
typedef mozilla::jni::Args<
bool,
mozilla::jni::Object::Param,
mozilla::jni::Object::Param,
mozilla::jni::Object::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "create";
static constexpr char signature[] =
"(ZLandroid/media/MediaFormat;Lorg/mozilla/gecko/gfx/GeckoSurface;Lorg/mozilla/gecko/media/CodecProxy$Callbacks;Ljava/lang/String;)Lorg/mozilla/gecko/media/CodecProxy;";
Bug 1344347 - Move Android out-of-process decoder service into GeckoView r=jolin MozReview-Commit-ID: QTnp95uhQV --HG-- rename : mobile/android/base/aidl/org/mozilla/gecko/media/FormatParam.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/FormatParam.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodec.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodec.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaManager.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaManager.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/Sample.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/Sample.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodecFactory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodecFactory.java rename : mobile/android/base/java/org/mozilla/gecko/media/Codec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/Codec.java rename : mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/FormatParam.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/FormatParam.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrm.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrm.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java rename : mobile/android/base/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaDrmProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaManager.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java rename : mobile/android/base/java/org/mozilla/gecko/media/SamplePool.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SamplePool.java rename : mobile/android/base/java/org/mozilla/gecko/media/SessionKeyInfo.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SessionKeyInfo.java rename : mobile/android/base/java/org/mozilla/gecko/mozglue/SharedMemory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/SharedMemory.java
2017-03-01 19:17:09 +03:00
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Create(bool, mozilla::jni::Object::Param, mozilla::jni::Object::Param, mozilla::jni::Object::Param, mozilla::jni::String::Param) -> CodecProxy::LocalRef;
struct Flush_t {
typedef CodecProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "flush";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Flush() const -> bool;
struct Input_t {
typedef CodecProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ByteBuffer::Param,
mozilla::jni::Object::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "input";
static constexpr char signature[] =
"(Ljava/nio/ByteBuffer;Landroid/media/MediaCodec$BufferInfo;Landroid/media/MediaCodec$CryptoInfo;)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Input(mozilla::jni::ByteBuffer::Param, mozilla::jni::Object::Param, mozilla::jni::Object::Param) const -> bool;
struct IsAdaptivePlaybackSupported_t {
typedef CodecProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isAdaptivePlaybackSupported";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsAdaptivePlaybackSupported() const -> bool;
struct IsTunneledPlaybackSupported_t {
typedef CodecProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isTunneledPlaybackSupported";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsTunneledPlaybackSupported() const -> bool;
Bug 1344347 - Move Android out-of-process decoder service into GeckoView r=jolin MozReview-Commit-ID: QTnp95uhQV --HG-- rename : mobile/android/base/aidl/org/mozilla/gecko/media/FormatParam.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/FormatParam.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodec.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodec.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaManager.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaManager.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/Sample.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/Sample.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodecFactory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodecFactory.java rename : mobile/android/base/java/org/mozilla/gecko/media/Codec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/Codec.java rename : mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/FormatParam.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/FormatParam.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrm.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrm.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java rename : mobile/android/base/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaDrmProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaManager.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java rename : mobile/android/base/java/org/mozilla/gecko/media/SamplePool.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SamplePool.java rename : mobile/android/base/java/org/mozilla/gecko/media/SessionKeyInfo.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SessionKeyInfo.java rename : mobile/android/base/java/org/mozilla/gecko/mozglue/SharedMemory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/SharedMemory.java
2017-03-01 19:17:09 +03:00
struct Release_t {
typedef CodecProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "release";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Release() const -> bool;
struct ReleaseOutput_t {
typedef CodecProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param,
bool> Args;
static constexpr char name[] = "releaseOutput";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/media/Sample;Z)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto ReleaseOutput(mozilla::jni::Object::Param, bool) const -> bool;
struct SetRates_t {
typedef CodecProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "setRates";
static constexpr char signature[] =
"(I)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SetRates(int32_t) const -> bool;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class CodecProxy::NativeCallbacks : public mozilla::jni::ObjectBase<NativeCallbacks>
{
public:
static const char name[];
explicit NativeCallbacks(const Context& ctx) : ObjectBase<NativeCallbacks>(ctx) {}
struct New_t {
typedef NativeCallbacks Owner;
typedef NativeCallbacks::LocalRef ReturnType;
typedef NativeCallbacks::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New() -> NativeCallbacks::LocalRef;
struct DisposeNative_t {
typedef NativeCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "disposeNative";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto DisposeNative() const -> void;
struct OnError_t {
typedef NativeCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "onError";
static constexpr char signature[] =
"(Z)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct OnInputStatus_t {
Bug 1344347 - Move Android out-of-process decoder service into GeckoView r=jolin MozReview-Commit-ID: QTnp95uhQV --HG-- rename : mobile/android/base/aidl/org/mozilla/gecko/media/FormatParam.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/FormatParam.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodec.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodec.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaManager.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaManager.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/Sample.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/Sample.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodecFactory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodecFactory.java rename : mobile/android/base/java/org/mozilla/gecko/media/Codec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/Codec.java rename : mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/FormatParam.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/FormatParam.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrm.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrm.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java rename : mobile/android/base/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaDrmProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaManager.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java rename : mobile/android/base/java/org/mozilla/gecko/media/SamplePool.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SamplePool.java rename : mobile/android/base/java/org/mozilla/gecko/media/SessionKeyInfo.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SessionKeyInfo.java rename : mobile/android/base/java/org/mozilla/gecko/mozglue/SharedMemory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/SharedMemory.java
2017-03-01 19:17:09 +03:00
typedef NativeCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int64_t,
bool> Args;
static constexpr char name[] = "onInputStatus";
Bug 1344347 - Move Android out-of-process decoder service into GeckoView r=jolin MozReview-Commit-ID: QTnp95uhQV --HG-- rename : mobile/android/base/aidl/org/mozilla/gecko/media/FormatParam.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/FormatParam.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodec.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodec.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaManager.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaManager.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/Sample.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/Sample.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodecFactory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodecFactory.java rename : mobile/android/base/java/org/mozilla/gecko/media/Codec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/Codec.java rename : mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/FormatParam.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/FormatParam.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrm.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrm.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java rename : mobile/android/base/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaDrmProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaManager.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java rename : mobile/android/base/java/org/mozilla/gecko/media/SamplePool.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SamplePool.java rename : mobile/android/base/java/org/mozilla/gecko/media/SessionKeyInfo.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SessionKeyInfo.java rename : mobile/android/base/java/org/mozilla/gecko/mozglue/SharedMemory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/SharedMemory.java
2017-03-01 19:17:09 +03:00
static constexpr char signature[] =
"(JZ)V";
Bug 1344347 - Move Android out-of-process decoder service into GeckoView r=jolin MozReview-Commit-ID: QTnp95uhQV --HG-- rename : mobile/android/base/aidl/org/mozilla/gecko/media/FormatParam.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/FormatParam.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodec.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodec.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaManager.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaManager.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/Sample.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/Sample.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodecFactory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodecFactory.java rename : mobile/android/base/java/org/mozilla/gecko/media/Codec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/Codec.java rename : mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/FormatParam.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/FormatParam.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrm.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrm.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java rename : mobile/android/base/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaDrmProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaManager.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java rename : mobile/android/base/java/org/mozilla/gecko/media/SamplePool.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SamplePool.java rename : mobile/android/base/java/org/mozilla/gecko/media/SessionKeyInfo.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SessionKeyInfo.java rename : mobile/android/base/java/org/mozilla/gecko/mozglue/SharedMemory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/SharedMemory.java
2017-03-01 19:17:09 +03:00
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct OnOutput_t {
typedef NativeCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "onOutput";
static constexpr char signature[] =
"(Lorg/mozilla/gecko/media/Sample;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct OnOutputFormatChanged_t {
typedef NativeCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "onOutputFormatChanged";
static constexpr char signature[] =
"(Landroid/media/MediaFormat;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoAudioInfo : public mozilla::jni::ObjectBase<GeckoAudioInfo>
{
public:
static const char name[];
explicit GeckoAudioInfo(const Context& ctx) : ObjectBase<GeckoAudioInfo>(ctx) {}
struct New_t {
typedef GeckoAudioInfo Owner;
typedef GeckoAudioInfo::LocalRef ReturnType;
typedef GeckoAudioInfo::Param SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t,
int64_t,
mozilla::jni::String::Param,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"(IIIIJLjava/lang/String;[B)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New(int32_t, int32_t, int32_t, int32_t, int64_t, mozilla::jni::String::Param, mozilla::jni::ByteArray::Param) -> GeckoAudioInfo::LocalRef;
struct BitDepth_t {
typedef GeckoAudioInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "bitDepth";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto BitDepth() const -> int32_t;
struct Channels_t {
typedef GeckoAudioInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "channels";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Channels() const -> int32_t;
struct CodecSpecificData_t {
typedef GeckoAudioInfo Owner;
typedef mozilla::jni::ByteArray::LocalRef ReturnType;
typedef mozilla::jni::ByteArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "codecSpecificData";
static constexpr char signature[] =
"[B";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto CodecSpecificData() const -> mozilla::jni::ByteArray::LocalRef;
struct Duration_t {
typedef GeckoAudioInfo Owner;
typedef int64_t ReturnType;
typedef int64_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "duration";
static constexpr char signature[] =
"J";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Duration() const -> int64_t;
struct MimeType_t {
typedef GeckoAudioInfo Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "mimeType";
static constexpr char signature[] =
"Ljava/lang/String;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto MimeType() const -> mozilla::jni::String::LocalRef;
struct Profile_t {
typedef GeckoAudioInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "profile";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Profile() const -> int32_t;
struct Rate_t {
typedef GeckoAudioInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "rate";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Rate() const -> int32_t;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class GeckoHLSDemuxerWrapper : public mozilla::jni::ObjectBase<GeckoHLSDemuxerWrapper>
{
public:
static const char name[];
explicit GeckoHLSDemuxerWrapper(const Context& ctx) : ObjectBase<GeckoHLSDemuxerWrapper>(ctx) {}
class Callbacks;
struct Create_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef GeckoHLSDemuxerWrapper::LocalRef ReturnType;
typedef GeckoHLSDemuxerWrapper::Param SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "create";
static constexpr char signature[] =
"(ILorg/mozilla/gecko/media/BaseHlsPlayer$DemuxerCallbacks;)Lorg/mozilla/gecko/media/GeckoHLSDemuxerWrapper;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Create(int32_t, mozilla::jni::Object::Param) -> GeckoHLSDemuxerWrapper::LocalRef;
struct Destroy_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "destroy";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Destroy() const -> void;
struct GetAudioInfo_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "getAudioInfo";
static constexpr char signature[] =
"(I)Lorg/mozilla/gecko/media/GeckoAudioInfo;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetAudioInfo(int32_t) const -> mozilla::jni::Object::LocalRef;
struct GetBuffered_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef int64_t ReturnType;
typedef int64_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getBuffered";
static constexpr char signature[] =
"()J";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetBuffered() const -> int64_t;
struct GetNextKeyFrameTime_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef int64_t ReturnType;
typedef int64_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getNextKeyFrameTime";
static constexpr char signature[] =
"()J";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetNextKeyFrameTime() const -> int64_t;
struct GetNumberOfTracks_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "getNumberOfTracks";
static constexpr char signature[] =
"(I)I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetNumberOfTracks(int32_t) const -> int32_t;
struct GetSamples_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef mozilla::jni::ObjectArray::LocalRef ReturnType;
typedef mozilla::jni::ObjectArray::Param SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t> Args;
static constexpr char name[] = "getSamples";
static constexpr char signature[] =
"(II)[Lorg/mozilla/gecko/media/GeckoHLSSample;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetSamples(int32_t, int32_t) const -> mozilla::jni::ObjectArray::LocalRef;
struct GetVideoInfo_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "getVideoInfo";
static constexpr char signature[] =
"(I)Lorg/mozilla/gecko/media/GeckoVideoInfo;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetVideoInfo(int32_t) const -> mozilla::jni::Object::LocalRef;
struct IsLiveStream_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isLiveStream";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsLiveStream() const -> bool;
struct Seek_t {
typedef GeckoHLSDemuxerWrapper Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
int64_t> Args;
static constexpr char name[] = "seek";
static constexpr char signature[] =
"(J)Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Seek(int64_t) const -> bool;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class GeckoHLSDemuxerWrapper::Callbacks : public mozilla::jni::ObjectBase<Callbacks>
{
public:
static const char name[];
explicit Callbacks(const Context& ctx) : ObjectBase<Callbacks>(ctx) {}
struct New_t {
typedef Callbacks Owner;
typedef Callbacks::LocalRef ReturnType;
typedef Callbacks::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New() -> Callbacks::LocalRef;
struct OnError_t {
typedef Callbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "onError";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct OnInitialized_t {
typedef Callbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
bool,
bool> Args;
static constexpr char name[] = "onInitialized";
static constexpr char signature[] =
"(ZZ)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoHLSResourceWrapper : public mozilla::jni::ObjectBase<GeckoHLSResourceWrapper>
{
public:
static const char name[];
explicit GeckoHLSResourceWrapper(const Context& ctx) : ObjectBase<GeckoHLSResourceWrapper>(ctx) {}
class Callbacks;
struct Create_t {
typedef GeckoHLSResourceWrapper Owner;
typedef GeckoHLSResourceWrapper::LocalRef ReturnType;
typedef GeckoHLSResourceWrapper::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "create";
static constexpr char signature[] =
"(Ljava/lang/String;Lorg/mozilla/gecko/media/BaseHlsPlayer$ResourceCallbacks;)Lorg/mozilla/gecko/media/GeckoHLSResourceWrapper;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Create(mozilla::jni::String::Param, mozilla::jni::Object::Param) -> GeckoHLSResourceWrapper::LocalRef;
struct Destroy_t {
typedef GeckoHLSResourceWrapper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "destroy";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Destroy() const -> void;
struct GetPlayerId_t {
typedef GeckoHLSResourceWrapper Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getPlayerId";
static constexpr char signature[] =
"()I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetPlayerId() const -> int32_t;
struct Pause_t {
typedef GeckoHLSResourceWrapper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "pause";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Pause() const -> void;
struct Play_t {
typedef GeckoHLSResourceWrapper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "play";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Play() const -> void;
struct Resume_t {
typedef GeckoHLSResourceWrapper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "resume";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Resume() const -> void;
struct Suspend_t {
typedef GeckoHLSResourceWrapper Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "suspend";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Suspend() const -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class GeckoHLSResourceWrapper::Callbacks : public mozilla::jni::ObjectBase<Callbacks>
{
public:
static const char name[];
explicit Callbacks(const Context& ctx) : ObjectBase<Callbacks>(ctx) {}
struct New_t {
typedef Callbacks Owner;
typedef Callbacks::LocalRef ReturnType;
typedef Callbacks::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New() -> Callbacks::LocalRef;
struct OnDataArrived_t {
typedef Callbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "onDataArrived";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct OnError_t {
typedef Callbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "onError";
static constexpr char signature[] =
"(I)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoHLSSample : public mozilla::jni::ObjectBase<GeckoHLSSample>
{
public:
static const char name[];
explicit GeckoHLSSample(const Context& ctx) : ObjectBase<GeckoHLSSample>(ctx) {}
struct IsEOS_t {
typedef GeckoHLSSample Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isEOS";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsEOS() const -> bool;
struct IsKeyFrame_t {
typedef GeckoHLSSample Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "isKeyFrame";
static constexpr char signature[] =
"()Z";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsKeyFrame() const -> bool;
struct WriteToByteBuffer_t {
typedef GeckoHLSSample Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ByteBuffer::Param> Args;
static constexpr char name[] = "writeToByteBuffer";
static constexpr char signature[] =
"(Ljava/nio/ByteBuffer;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto WriteToByteBuffer(mozilla::jni::ByteBuffer::Param) const -> void;
struct CryptoInfo_t {
typedef GeckoHLSSample Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "cryptoInfo";
static constexpr char signature[] =
"Landroid/media/MediaCodec$CryptoInfo;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto CryptoInfo() const -> mozilla::jni::Object::LocalRef;
struct Duration_t {
typedef GeckoHLSSample Owner;
typedef int64_t ReturnType;
typedef int64_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "duration";
static constexpr char signature[] =
"J";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Duration() const -> int64_t;
auto Duration(int64_t) const -> void;
struct FormatIndex_t {
typedef GeckoHLSSample Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "formatIndex";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto FormatIndex() const -> int32_t;
struct Info_t {
typedef GeckoHLSSample Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "info";
static constexpr char signature[] =
"Landroid/media/MediaCodec$BufferInfo;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Info() const -> mozilla::jni::Object::LocalRef;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class GeckoVideoInfo : public mozilla::jni::ObjectBase<GeckoVideoInfo>
{
public:
static const char name[];
explicit GeckoVideoInfo(const Context& ctx) : ObjectBase<GeckoVideoInfo>(ctx) {}
struct New_t {
typedef GeckoVideoInfo Owner;
typedef GeckoVideoInfo::LocalRef ReturnType;
typedef GeckoVideoInfo::Param SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int32_t,
int64_t,
mozilla::jni::String::Param,
mozilla::jni::ByteArray::Param,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"(IIIIIIJLjava/lang/String;[B[B)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int64_t, mozilla::jni::String::Param, mozilla::jni::ByteArray::Param, mozilla::jni::ByteArray::Param) -> GeckoVideoInfo::LocalRef;
struct CodecSpecificData_t {
typedef GeckoVideoInfo Owner;
typedef mozilla::jni::ByteArray::LocalRef ReturnType;
typedef mozilla::jni::ByteArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "codecSpecificData";
static constexpr char signature[] =
"[B";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto CodecSpecificData() const -> mozilla::jni::ByteArray::LocalRef;
struct DisplayHeight_t {
typedef GeckoVideoInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "displayHeight";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto DisplayHeight() const -> int32_t;
struct DisplayWidth_t {
typedef GeckoVideoInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "displayWidth";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto DisplayWidth() const -> int32_t;
struct Duration_t {
typedef GeckoVideoInfo Owner;
typedef int64_t ReturnType;
typedef int64_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "duration";
static constexpr char signature[] =
"J";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Duration() const -> int64_t;
struct ExtraData_t {
typedef GeckoVideoInfo Owner;
typedef mozilla::jni::ByteArray::LocalRef ReturnType;
typedef mozilla::jni::ByteArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "extraData";
static constexpr char signature[] =
"[B";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto ExtraData() const -> mozilla::jni::ByteArray::LocalRef;
struct MimeType_t {
typedef GeckoVideoInfo Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "mimeType";
static constexpr char signature[] =
"Ljava/lang/String;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto MimeType() const -> mozilla::jni::String::LocalRef;
struct PictureHeight_t {
typedef GeckoVideoInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "pictureHeight";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto PictureHeight() const -> int32_t;
struct PictureWidth_t {
typedef GeckoVideoInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "pictureWidth";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto PictureWidth() const -> int32_t;
struct Rotation_t {
typedef GeckoVideoInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "rotation";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Rotation() const -> int32_t;
struct StereoMode_t {
typedef GeckoVideoInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "stereoMode";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto StereoMode() const -> int32_t;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
Bug 1344347 - Move Android out-of-process decoder service into GeckoView r=jolin MozReview-Commit-ID: QTnp95uhQV --HG-- rename : mobile/android/base/aidl/org/mozilla/gecko/media/FormatParam.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/FormatParam.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodec.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodec.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/ICodecCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridge.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaDrmBridgeCallbacks.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/IMediaManager.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/IMediaManager.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/Sample.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/Sample.aidl rename : mobile/android/base/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl => mobile/android/geckoview/src/main/aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/AsyncCodecFactory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/AsyncCodecFactory.java rename : mobile/android/base/java/org/mozilla/gecko/media/Codec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/Codec.java rename : mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/FormatParam.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/FormatParam.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrm.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrm.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java rename : mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV23.java rename : mobile/android/base/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/JellyBeanAsyncCodec.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaDrmProxy.java rename : mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/MediaManager.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridge.java rename : mobile/android/base/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/RemoteMediaDrmBridgeStub.java rename : mobile/android/base/java/org/mozilla/gecko/media/SamplePool.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SamplePool.java rename : mobile/android/base/java/org/mozilla/gecko/media/SessionKeyInfo.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/SessionKeyInfo.java rename : mobile/android/base/java/org/mozilla/gecko/mozglue/SharedMemory.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/SharedMemory.java
2017-03-01 19:17:09 +03:00
class MediaDrmProxy : public mozilla::jni::ObjectBase<MediaDrmProxy>
{
public:
static const char name[];
explicit MediaDrmProxy(const Context& ctx) : ObjectBase<MediaDrmProxy>(ctx) {}
class NativeMediaDrmProxyCallbacks;
struct CanDecode_t {
typedef MediaDrmProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "CanDecode";
static constexpr char signature[] =
"(Ljava/lang/String;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CanDecode(mozilla::jni::String::Param) -> bool;
struct IsCryptoSchemeSupported_t {
typedef MediaDrmProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "IsCryptoSchemeSupported";
static constexpr char signature[] =
"(Ljava/lang/String;Ljava/lang/String;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto IsCryptoSchemeSupported(mozilla::jni::String::Param, mozilla::jni::String::Param) -> bool;
struct CloseSession_t {
typedef MediaDrmProxy Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "closeSession";
static constexpr char signature[] =
"(ILjava/lang/String;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto CloseSession(int32_t, mozilla::jni::String::Param) const -> void;
struct Create_t {
typedef MediaDrmProxy Owner;
typedef MediaDrmProxy::LocalRef ReturnType;
typedef MediaDrmProxy::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "create";
static constexpr char signature[] =
"(Ljava/lang/String;Lorg/mozilla/gecko/media/MediaDrmProxy$Callbacks;)Lorg/mozilla/gecko/media/MediaDrmProxy;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Create(mozilla::jni::String::Param, mozilla::jni::Object::Param) -> MediaDrmProxy::LocalRef;
struct CreateSession_t {
typedef MediaDrmProxy Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
mozilla::jni::String::Param,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "createSession";
static constexpr char signature[] =
"(IILjava/lang/String;[B)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto CreateSession(int32_t, int32_t, mozilla::jni::String::Param, mozilla::jni::ByteArray::Param) const -> void;
struct Destroy_t {
typedef MediaDrmProxy Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "destroy";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Destroy() const -> void;
struct GetMediaCrypto_t {
typedef MediaDrmProxy Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "getMediaCrypto";
static constexpr char signature[] =
"(Ljava/lang/String;)Landroid/media/MediaCrypto;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetMediaCrypto(mozilla::jni::String::Param) -> mozilla::jni::Object::LocalRef;
struct GetStubId_t {
typedef MediaDrmProxy Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "getStubId";
static constexpr char signature[] =
"()Ljava/lang/String;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto GetStubId() const -> mozilla::jni::String::LocalRef;
struct IsSchemeSupported_t {
typedef MediaDrmProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "isSchemeSupported";
static constexpr char signature[] =
"(Ljava/lang/String;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto IsSchemeSupported(mozilla::jni::String::Param) -> bool;
struct UpdateSession_t {
typedef MediaDrmProxy Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::String::Param,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "updateSession";
static constexpr char signature[] =
"(ILjava/lang/String;[B)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto UpdateSession(int32_t, mozilla::jni::String::Param, mozilla::jni::ByteArray::Param) const -> void;
static const char16_t AAC[];
static const char16_t AVC[];
static const char16_t OPUS[];
static const char16_t VORBIS[];
static const char16_t VP8[];
static const char16_t VP9[];
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class MediaDrmProxy::NativeMediaDrmProxyCallbacks : public mozilla::jni::ObjectBase<NativeMediaDrmProxyCallbacks>
{
public:
static const char name[];
explicit NativeMediaDrmProxyCallbacks(const Context& ctx) : ObjectBase<NativeMediaDrmProxyCallbacks>(ctx) {}
struct New_t {
typedef NativeMediaDrmProxyCallbacks Owner;
typedef NativeMediaDrmProxyCallbacks::LocalRef ReturnType;
typedef NativeMediaDrmProxyCallbacks::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"()V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New() -> NativeMediaDrmProxyCallbacks::LocalRef;
struct OnRejectPromise_t {
typedef NativeMediaDrmProxyCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "onRejectPromise";
static constexpr char signature[] =
"(ILjava/lang/String;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnSessionBatchedKeyChanged_t {
typedef NativeMediaDrmProxyCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ByteArray::Param,
mozilla::jni::ObjectArray::Param> Args;
static constexpr char name[] = "onSessionBatchedKeyChanged";
static constexpr char signature[] =
"([B[Lorg/mozilla/gecko/media/SessionKeyInfo;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnSessionClosed_t {
typedef NativeMediaDrmProxyCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "onSessionClosed";
static constexpr char signature[] =
"(I[B)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnSessionCreated_t {
typedef NativeMediaDrmProxyCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
int32_t,
mozilla::jni::ByteArray::Param,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "onSessionCreated";
static constexpr char signature[] =
"(II[B[B)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnSessionError_t {
typedef NativeMediaDrmProxyCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ByteArray::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "onSessionError";
static constexpr char signature[] =
"([BLjava/lang/String;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnSessionMessage_t {
typedef NativeMediaDrmProxyCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ByteArray::Param,
int32_t,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "onSessionMessage";
static constexpr char signature[] =
"([BI[B)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
struct OnSessionUpdated_t {
typedef NativeMediaDrmProxyCallbacks Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
int32_t,
mozilla::jni::ByteArray::Param> Args;
static constexpr char name[] = "onSessionUpdated";
static constexpr char signature[] =
"(I[B)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::GECKO;
};
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class Sample : public mozilla::jni::ObjectBase<Sample>
{
public:
static const char name[];
explicit Sample(const Context& ctx) : ObjectBase<Sample>(ctx) {}
struct WriteToByteBuffer_t {
typedef Sample Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ByteBuffer::Param> Args;
static constexpr char name[] = "writeToByteBuffer";
static constexpr char signature[] =
"(Ljava/nio/ByteBuffer;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto WriteToByteBuffer(mozilla::jni::ByteBuffer::Param) const -> void;
struct Info_t {
typedef Sample Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "info";
static constexpr char signature[] =
"Landroid/media/MediaCodec$BufferInfo;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Info() const -> mozilla::jni::Object::LocalRef;
auto Info(mozilla::jni::Object::Param) const -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
class SessionKeyInfo : public mozilla::jni::ObjectBase<SessionKeyInfo>
{
public:
static const char name[];
explicit SessionKeyInfo(const Context& ctx) : ObjectBase<SessionKeyInfo>(ctx) {}
struct New_t {
typedef SessionKeyInfo Owner;
typedef SessionKeyInfo::LocalRef ReturnType;
typedef SessionKeyInfo::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ByteArray::Param,
int32_t> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"([BI)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New(mozilla::jni::ByteArray::Param, int32_t) -> SessionKeyInfo::LocalRef;
struct KeyId_t {
typedef SessionKeyInfo Owner;
typedef mozilla::jni::ByteArray::LocalRef ReturnType;
typedef mozilla::jni::ByteArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "keyId";
static constexpr char signature[] =
"[B";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto KeyId() const -> mozilla::jni::ByteArray::LocalRef;
auto KeyId(mozilla::jni::ByteArray::Param) const -> void;
struct Status_t {
typedef SessionKeyInfo Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "status";
static constexpr char signature[] =
"I";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Status() const -> int32_t;
auto Status(int32_t) const -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki Add a GetIMEUpdatePreference method to TextEventDispatcherListener to optionally control which IME notifications are received by NotifyIME. This patch also makes nsBaseWidget forward its GetIMEUpdatePreference call to the widget's native TextEventDispatcherListener. Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki This patch implements GetIMEUpdatePreference for all TextEventDispatcherListener implementations, by moving previous implementations of nsIWidget::GetIMEUpdatePreference. Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki In PuppetWidget, add getter and setter for the widget's native TextEventDispatcherListener. This allows overriding of PuppetWidget's default IME handling. For example, on Android, the PuppetWidget's native TextEventDispatcherListener will communicate directly with Java IME code in the main process. Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker Add AIDL definition and implementation for an interface for the main process that child processes can access. Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is the only Android-specific entry point for child processes, so I think it's the most logical place to initialize JNI. Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin Support remote GeckoEditableChild instances that are created in the content processes and connect to the parent process GeckoEditableParent through binders. Support having multiple GeckoEditableChild instances in GeckoEditable by keeping track of which child is currently focused, and only allow calls to/from the focused child by using access tokens. Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin Add IProcessManager.getEditableParent, which a content process can call to get the GeckoEditableParent instance that corresponds to a given content process tab, from the main process. Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin Support creating and running GeckoEditableSupport attached to a PuppetWidget in content processes. Because we don't know PuppetWidget's lifetime as well as nsWindow's, when attached to PuppetWidget, we need to attach/detach our native object on focus/blur, respectively. Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin Listen to the "tab-child-created" notification and attach our content process GeckoEditableSupport to the new PuppetWidget. Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-08 06:34:39 +03:00
class GeckoProcessManager : public mozilla::jni::ObjectBase<GeckoProcessManager>
{
public:
static const char name[];
explicit GeckoProcessManager(const Context& ctx) : ObjectBase<GeckoProcessManager>(ctx) {}
struct GetEditableParent_t {
typedef GeckoProcessManager Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
int64_t,
int64_t> Args;
static constexpr char name[] = "nativeGetEditableParent";
static constexpr char signature[] =
"(JJ)Lorg/mozilla/gecko/IGeckoEditableParent;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
struct Start_t {
typedef GeckoProcessManager Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param,
mozilla::jni::ObjectArray::Param,
int32_t,
int32_t> Args;
static constexpr char name[] = "start";
static constexpr char signature[] =
"(Ljava/lang/String;[Ljava/lang/String;II)I";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Start(mozilla::jni::String::Param, mozilla::jni::ObjectArray::Param, int32_t, int32_t) -> int32_t;
Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki Add a GetIMEUpdatePreference method to TextEventDispatcherListener to optionally control which IME notifications are received by NotifyIME. This patch also makes nsBaseWidget forward its GetIMEUpdatePreference call to the widget's native TextEventDispatcherListener. Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki This patch implements GetIMEUpdatePreference for all TextEventDispatcherListener implementations, by moving previous implementations of nsIWidget::GetIMEUpdatePreference. Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki In PuppetWidget, add getter and setter for the widget's native TextEventDispatcherListener. This allows overriding of PuppetWidget's default IME handling. For example, on Android, the PuppetWidget's native TextEventDispatcherListener will communicate directly with Java IME code in the main process. Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker Add AIDL definition and implementation for an interface for the main process that child processes can access. Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is the only Android-specific entry point for child processes, so I think it's the most logical place to initialize JNI. Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin Support remote GeckoEditableChild instances that are created in the content processes and connect to the parent process GeckoEditableParent through binders. Support having multiple GeckoEditableChild instances in GeckoEditable by keeping track of which child is currently focused, and only allow calls to/from the focused child by using access tokens. Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin Add IProcessManager.getEditableParent, which a content process can call to get the GeckoEditableParent instance that corresponds to a given content process tab, from the main process. Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin Support creating and running GeckoEditableSupport attached to a PuppetWidget in content processes. Because we don't know PuppetWidget's lifetime as well as nsWindow's, when attached to PuppetWidget, we need to attach/detach our native object on focus/blur, respectively. Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin Listen to the "tab-child-created" notification and attach our content process GeckoEditableSupport to the new PuppetWidget. Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-08 06:34:39 +03:00
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
template<class Impl> class Natives;
};
class GeckoServiceChildProcess : public mozilla::jni::ObjectBase<GeckoServiceChildProcess>
{
public:
static const char name[];
explicit GeckoServiceChildProcess(const Context& ctx) : ObjectBase<GeckoServiceChildProcess>(ctx) {}
struct GetEditableParent_t {
typedef GeckoServiceChildProcess Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
int64_t,
int64_t> Args;
static constexpr char name[] = "getEditableParent";
static constexpr char signature[] =
"(JJ)Lorg/mozilla/gecko/IGeckoEditableParent;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto GetEditableParent(int64_t, int64_t) -> mozilla::jni::Object::LocalRef;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
};
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
class EventCallback : public mozilla::jni::ObjectBase<EventCallback>
{
public:
static const char name[];
explicit EventCallback(const Context& ctx) : ObjectBase<EventCallback>(ctx) {}
struct SendError_t {
typedef EventCallback Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "sendError";
static constexpr char signature[] =
"(Ljava/lang/Object;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SendError(mozilla::jni::Object::Param) const -> void;
struct SendSuccess_t {
typedef EventCallback Owner;
typedef void ReturnType;
typedef void SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "sendSuccess";
static constexpr char signature[] =
"(Ljava/lang/Object;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto SendSuccess(mozilla::jni::Object::Param) const -> void;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
};
class GeckoBundle : public mozilla::jni::ObjectBase<GeckoBundle>
{
public:
static const char name[];
explicit GeckoBundle(const Context& ctx) : ObjectBase<GeckoBundle>(ctx) {}
struct New_t {
typedef GeckoBundle Owner;
typedef GeckoBundle::LocalRef ReturnType;
typedef GeckoBundle::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::ObjectArray::Param,
mozilla::jni::ObjectArray::Param> Args;
static constexpr char name[] = "<init>";
static constexpr char signature[] =
"([Ljava/lang/String;[Ljava/lang/Object;)V";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto New(mozilla::jni::ObjectArray::Param, mozilla::jni::ObjectArray::Param) -> GeckoBundle::LocalRef;
struct Box_t {
typedef GeckoBundle Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
double> Args;
static constexpr char name[] = "box";
static constexpr char signature[] =
"(D)Ljava/lang/Object;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Box(double) -> mozilla::jni::Object::LocalRef;
struct Box2_t {
typedef GeckoBundle Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
int32_t> Args;
static constexpr char name[] = "box";
static constexpr char signature[] =
"(I)Ljava/lang/Object;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Box(int32_t) -> mozilla::jni::Object::LocalRef;
struct Box3_t {
typedef GeckoBundle Owner;
typedef mozilla::jni::Object::LocalRef ReturnType;
typedef mozilla::jni::Object::Param SetterType;
typedef mozilla::jni::Args<
bool> Args;
static constexpr char name[] = "box";
static constexpr char signature[] =
"(Z)Ljava/lang/Object;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto Box(bool) -> mozilla::jni::Object::LocalRef;
struct Keys_t {
typedef GeckoBundle Owner;
typedef mozilla::jni::ObjectArray::LocalRef ReturnType;
typedef mozilla::jni::ObjectArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "keys";
static constexpr char signature[] =
"()[Ljava/lang/String;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Keys() const -> mozilla::jni::ObjectArray::LocalRef;
struct UnboxBoolean_t {
typedef GeckoBundle Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "unboxBoolean";
static constexpr char signature[] =
"(Ljava/lang/Boolean;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto UnboxBoolean(mozilla::jni::Object::Param) -> bool;
struct UnboxDouble_t {
typedef GeckoBundle Owner;
typedef double ReturnType;
typedef double SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "unboxDouble";
static constexpr char signature[] =
"(Ljava/lang/Number;)D";
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto UnboxDouble(mozilla::jni::Object::Param) -> double;
struct UnboxInteger_t {
typedef GeckoBundle Owner;
typedef int32_t ReturnType;
typedef int32_t SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "unboxInteger";
static constexpr char signature[] =
"(Ljava/lang/Number;)I";
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto UnboxInteger(mozilla::jni::Object::Param) -> int32_t;
struct UnboxString_t {
typedef GeckoBundle Owner;
typedef mozilla::jni::String::LocalRef ReturnType;
typedef mozilla::jni::String::Param SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param> Args;
static constexpr char name[] = "unboxString";
static constexpr char signature[] =
"(Ljava/lang/Object;)Ljava/lang/String;";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto UnboxString(mozilla::jni::Object::Param) -> mozilla::jni::String::LocalRef;
Bug 1307820 - Implement per-GeckoView messaging; r=snorp r=sebastian Bug 1307820 - 1a. Move GeckoApp EventDispatcher to GeckoView; r=snorp Make it a GeckoView-specific EventDispatcher instead of GeckoApp-specific, so that GeckoView consumers can benefit from a per-view EventDispatcher. In addition, a few events like Gecko:Ready are moved back to the global EventDispatcher because that makes more sense. Bug 1307820 - 1b. Don't use GeckoApp EventDispatcher during inflation; r=snorp During layout inflation, we don't yet have GeckoView and therefore the GeckoView EventDispatcher, so we should not register events until later, typically during onAttachedToWindow. Bug 1307820 - 2. Introduce GeckoBundle; r=snorp The Android Bundle class has several disadvantages when used for holding structured data from JS. The most obvious one is the differentiation between int and double, which doesn't exist in JS. So when a JS number is converted to either a Bundle int or double, we run the risk of making a wrong conversion, resulting in a type mismatch exception when Java uses the Bundle. This extends to number arrays from JS. There is one more gotcha when using arrays. When we receive an empty array from JS, there is no way for us to determine the type of the array, because even empty arrays in Java have types. We are forced to pick an arbitrary type like boolean[], which can easily result in a type mismatch exception when using the array on the Java side. In addition, Bundle is fairly cumbersome, and we cannot access the inner structures of Bundle from Java or JNI, making it harder to use. With these factors in mind, this patch introduces GeckoBundle as a better choice for Gecko/Java communication. It is almost fully API-compatible with the Android Bundle; only the Bundle array methods are different. It resolves the numbers problem by performing conversions if necessary, and it is a lot more lightweight than Bundle. Bug 1307820 - 3. Convert BundleEventListener to use GeckoBundle; r=snorp Convert BundleEventListener from using Bundle to using GeckoBundle. Because NativeJSContainer still only supports Bundle, we do an extra conversion when sending Bundle messages, but eventually, as we eliminate the use of NativeJSContainer, that will go away as well. Bug 1307820 - 4. Introduce EventDispatcher interfaces; r=snorp Introduce several new XPCOM interfaces for the new EventDispatcher API, these interfaces are mostly mirrored after their Java counterparts. * nsIAndroidEventDispatcher is the main interface for registering/unregistering listeners and for dispatching events from JS/C++. * nsIAndroidEventListener is the interface that JS/C++ clients implement to receive events. * nsIAndroidEventCallback is the interface that JS/C++ clients implement to receive responses from dispatched events. * nsIAndroidView is the new interface that every window receives that is specific to the window/GeckoView pair. It is passed to chrome scripts through window arguments. Bug 1307820 - 5. Remove EventDispatcher references from gfx code; r=snorp EventDispatcher was used for JPZC, but NPZC doesn't use it anymore. Bug 1307820 - 6. General JNI template improvements; r=snorp This patch includes several improvements to the JNI templates. * Context::RawClassRef is removed to avoid misuse, as Context::ClassRef should be used instead. * Fix a compile error, in certain usages, in the DisposeNative overload in NativeStub. * Add Ref::IsInstanceOf and Context::IsInstanceOf to mirror the JNIEnv::IsInstanceOf call. * Add Ref::operator* and Context::operator* to provide an easy way to get a Context object. * Add built-in declarations for boxed Java objects (e.g. Boolean, Integer, etc). * Add ObjectArray::New for creating new object arrays of specific types. * Add lvalue qualifiers to LocalRef::operator= and GlobalRef::operator=, to prevent accidentally assigning to rvalues. (e.g. `objectArray->GetElement(0) = newObject;`, which won't work as intended.) Bug 1307820 - 7. Support ownership through RefPtr for native JNI objects; r=snorp In addition to direct ownership and weak pointer ownership, add a third ownership model where a native JNI object owns a RefPtr that holds a strong reference to the actual C++ object. This ownership model works well with ref-counted objects such as XPCOM objects, and is activated through the presence of public members AddRef() and Release() in the C++ object. Bug 1307820 - 8. Implement Gecko-side EventDispatcher; r=snorp Add a skeletal implementation of EventDispatcher on the Gecko side. Each widget::EventDispatcher will be associated with a Java EventDispatcher, so events can be dispatched from Gecko to Java and vice versa. AndroidBridge and nsWindow will implement nsIAndroidEventDispatcher through widget::EventDispatcher. Other patches will add more complete functionality such as GeckoBundle/JSObject translation and support for callbacks. Bug 1307820 - 9. Implement dispatching between Gecko/Java; r=snorp Implement translation between JSObject and GeckoBundle, and use that for dispatching events from Gecko to Java and vice versa. Bug 1307820 - 10. Implement callback support; r=snorp Implement callback support for both Gecko-to-Java events and Java-to-Gecko events. For Gecko-to-Java, we translate nsIAndroidEventCallback to a Java EventCallback through NativeCallbackDelegate and pass it to the Java listener. For Java-to-Gecko, we translate EventCallback to a nsIAndroidEventCallback through JavaCallbackDelegate and pass it to the Gecko listener. There is another JavaCallbackDelegate on the Java side that redirects the callback to a particular thread. For example, if the event was dispatched from the UI thread, we make sure the callback happens on the UI thread as well. Bug 1307820 - 11. Add BundleEventListener support for Gecko thread; r=snorp Add support for BundleEventListener on the Gecko thread, so that we can use it to replace any existing GeckoEventListener or NativeEventListener implementations that require the listener be run synchronously on the Gecko thread. Bug 1307820 - 12. Add global EventDispatcher in AndroidBridge; r=snorp Add an instance of EventDispatcher to AndroidBridge to act as a global event dispatcher. Bug 1307820 - 13. Add per-nsWindow EventDispatcher; r=snorp Add an instance of EventDispatcher to each nsWindow through an AndroidView object, which implements nsIAndroidView. The nsIAndroidView is passed to the chrome script through the window argument when opening the window. Bug 1307820 - 14. Update auto-generated bindings; r=me Bug 1307820 - 15. Update testEventDispatcher; r=snorp Update testEventDispatcher to include new functionalities in EventDisptcher. * Add tests for dispatching events to UI/background thread through nsIAndroidEventDispatcher::dispatch. * Add tests for dispatching events to UI/background thread through EventDispatcher.dispatch. * Add tests for dispatching events to Gecko thread through EventDispatcher.dispatch. Each kind of test exercises both the global EventDispatcher through EventDispatcher.getInstance() and the per-GeckoView EventDispatcher through GeckoApp.getEventDispatcher().
2016-11-14 16:29:50 +03:00
struct Values_t {
typedef GeckoBundle Owner;
typedef mozilla::jni::ObjectArray::LocalRef ReturnType;
typedef mozilla::jni::ObjectArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "values";
static constexpr char signature[] =
"()[Ljava/lang/Object;";
static const bool isStatic = false;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto Values() const -> mozilla::jni::ObjectArray::LocalRef;
struct EMPTY_BOOLEAN_ARRAY_t {
typedef GeckoBundle Owner;
typedef mozilla::jni::BooleanArray::LocalRef ReturnType;
typedef mozilla::jni::BooleanArray::Param SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "EMPTY_BOOLEAN_ARRAY";
static constexpr char signature[] =
"[Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto EMPTY_BOOLEAN_ARRAY() -> mozilla::jni::BooleanArray::LocalRef;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::GECKO;
};
class HardwareCodecCapabilityUtils : public mozilla::jni::ObjectBase<HardwareCodecCapabilityUtils>
{
public:
static const char name[];
explicit HardwareCodecCapabilityUtils(const Context& ctx) : ObjectBase<HardwareCodecCapabilityUtils>(ctx) {}
struct HasHWVP9_t {
typedef HardwareCodecCapabilityUtils Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "HasHWVP9";
static constexpr char signature[] =
"()Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto HasHWVP9() -> bool;
struct CheckSupportsAdaptivePlayback_t {
typedef HardwareCodecCapabilityUtils Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::Object::Param,
mozilla::jni::String::Param> Args;
static constexpr char name[] = "checkSupportsAdaptivePlayback";
static constexpr char signature[] =
"(Landroid/media/MediaCodec;Ljava/lang/String;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto CheckSupportsAdaptivePlayback(mozilla::jni::Object::Param, mozilla::jni::String::Param) -> bool;
struct FindDecoderCodecInfoForMimeType_t {
typedef HardwareCodecCapabilityUtils Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<
mozilla::jni::String::Param> Args;
static constexpr char name[] = "findDecoderCodecInfoForMimeType";
static constexpr char signature[] =
"(Ljava/lang/String;)Z";
static const bool isStatic = true;
static const mozilla::jni::ExceptionMode exceptionMode =
mozilla::jni::ExceptionMode::ABORT;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
static auto FindDecoderCodecInfoForMimeType(mozilla::jni::String::Param) -> bool;
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
};
} /* java */
} /* mozilla */
#endif // GeneratedJNIWrappers_h