revert change on generated jni files
authorSylvestre Ledru <sledru@mozilla.com>
Mon, 27 Feb 2017 23:10:52 +0100
changeset 1051584 1f499623ea9a91d9d858ff9a599574dff3dd014c
parent 1050732 bc761b1b23c66b6c441b4fc8dc1ac8569e4680d2
child 1051585 baeedfce50311a268061d5c3acbc1f60c0817842
push id173015
push usersledru@mozilla.com
push dateTue, 28 Feb 2017 07:30:45 +0000
treeherdertry@f5ebaceb2cb0 [default view] [failures only]
milestone54.0a1
revert change on generated jni files MozReview-Commit-ID: ERgvtrefWs2
widget/android/GeneratedJNINatives.h
widget/android/GeneratedJNIWrappers.cpp
widget/android/GeneratedJNIWrappers.h
--- a/widget/android/GeneratedJNINatives.h
+++ b/widget/android/GeneratedJNINatives.h
@@ -12,450 +12,457 @@
 
 namespace mozilla {
 namespace java {
 
 template<class Impl>
 class AlarmReceiver::Natives : public mozilla::jni::NativeImpl<AlarmReceiver, Impl>
 {
 public:
-  static const JNINativeMethod methods[1];
+    static const JNINativeMethod methods[1];
 };
 
 template<class Impl>
 const JNINativeMethod AlarmReceiver::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<AlarmReceiver::NotifyAlarmFired_t>(
-    mozilla::jni::NativeStub<AlarmReceiver::NotifyAlarmFired_t,
-                             Impl>::template Wrap<&Impl::NotifyAlarmFired>)
+    mozilla::jni::MakeNativeMethod<AlarmReceiver::NotifyAlarmFired_t>(
+            mozilla::jni::NativeStub<AlarmReceiver::NotifyAlarmFired_t, Impl>
+            ::template Wrap<&Impl::NotifyAlarmFired>)
 };
 
 template<class Impl>
 class AndroidGamepadManager::Natives : public mozilla::jni::NativeImpl<AndroidGamepadManager, Impl>
 {
 public:
-  static const JNINativeMethod methods[3];
+    static const JNINativeMethod methods[3];
 };
 
 template<class Impl>
 const JNINativeMethod AndroidGamepadManager::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<AndroidGamepadManager::OnAxisChange_t>(
-    mozilla::jni::NativeStub<AndroidGamepadManager::OnAxisChange_t,
-                             Impl>::template Wrap<&Impl::OnAxisChange>),
+    mozilla::jni::MakeNativeMethod<AndroidGamepadManager::OnAxisChange_t>(
+            mozilla::jni::NativeStub<AndroidGamepadManager::OnAxisChange_t, Impl>
+            ::template Wrap<&Impl::OnAxisChange>),
 
-  mozilla::jni::MakeNativeMethod<AndroidGamepadManager::OnButtonChange_t>(
-    mozilla::jni::NativeStub<AndroidGamepadManager::OnButtonChange_t,
-                             Impl>::template Wrap<&Impl::OnButtonChange>),
+    mozilla::jni::MakeNativeMethod<AndroidGamepadManager::OnButtonChange_t>(
+            mozilla::jni::NativeStub<AndroidGamepadManager::OnButtonChange_t, Impl>
+            ::template Wrap<&Impl::OnButtonChange>),
 
-  mozilla::jni::MakeNativeMethod<AndroidGamepadManager::OnGamepadChange_t>(
-    mozilla::jni::NativeStub<AndroidGamepadManager::OnGamepadChange_t,
-                             Impl>::template Wrap<&Impl::OnGamepadChange>)
+    mozilla::jni::MakeNativeMethod<AndroidGamepadManager::OnGamepadChange_t>(
+            mozilla::jni::NativeStub<AndroidGamepadManager::OnGamepadChange_t, Impl>
+            ::template Wrap<&Impl::OnGamepadChange>)
 };
 
 template<class Impl>
 class EventDispatcher::Natives : public mozilla::jni::NativeImpl<EventDispatcher, Impl>
 {
 public:
-  static const JNINativeMethod methods[3];
+    static const JNINativeMethod methods[3];
 };
 
 template<class Impl>
 const JNINativeMethod EventDispatcher::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<EventDispatcher::DispatchToGecko_t>(
-    mozilla::jni::NativeStub<EventDispatcher::DispatchToGecko_t,
-                             Impl>::template Wrap<&Impl::DispatchToGecko>),
+    mozilla::jni::MakeNativeMethod<EventDispatcher::DispatchToGecko_t>(
+            mozilla::jni::NativeStub<EventDispatcher::DispatchToGecko_t, Impl>
+            ::template Wrap<&Impl::DispatchToGecko>),
 
-  mozilla::jni::MakeNativeMethod<EventDispatcher::DisposeNative_t>(
-    mozilla::jni::NativeStub<EventDispatcher::DisposeNative_t,
-                             Impl>::template Wrap<&Impl::DisposeNative>),
+    mozilla::jni::MakeNativeMethod<EventDispatcher::DisposeNative_t>(
+            mozilla::jni::NativeStub<EventDispatcher::DisposeNative_t, Impl>
+            ::template Wrap<&Impl::DisposeNative>),
 
-  mozilla::jni::MakeNativeMethod<EventDispatcher::HasGeckoListener_t>(
-    mozilla::jni::NativeStub<EventDispatcher::HasGeckoListener_t,
-                             Impl>::template Wrap<&Impl::HasGeckoListener>)
+    mozilla::jni::MakeNativeMethod<EventDispatcher::HasGeckoListener_t>(
+            mozilla::jni::NativeStub<EventDispatcher::HasGeckoListener_t, Impl>
+            ::template Wrap<&Impl::HasGeckoListener>)
 };
 
 template<class Impl>
-class EventDispatcher::NativeCallbackDelegate::Natives
-  : public mozilla::jni::NativeImpl<NativeCallbackDelegate, Impl>
+class EventDispatcher::NativeCallbackDelegate::Natives : public mozilla::jni::NativeImpl<NativeCallbackDelegate, Impl>
 {
 public:
-  static const JNINativeMethod methods[3];
+    static const JNINativeMethod methods[3];
 };
 
 template<class Impl>
 const JNINativeMethod EventDispatcher::NativeCallbackDelegate::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<EventDispatcher::NativeCallbackDelegate::Finalize_t>(
-    mozilla::jni::NativeStub<EventDispatcher::NativeCallbackDelegate::Finalize_t,
-                             Impl>::template Wrap<&Impl::Finalize>),
+    mozilla::jni::MakeNativeMethod<EventDispatcher::NativeCallbackDelegate::Finalize_t>(
+            mozilla::jni::NativeStub<EventDispatcher::NativeCallbackDelegate::Finalize_t, Impl>
+            ::template Wrap<&Impl::Finalize>),
 
-  mozilla::jni::MakeNativeMethod<EventDispatcher::NativeCallbackDelegate::SendError_t>(
-    mozilla::jni::NativeStub<EventDispatcher::NativeCallbackDelegate::SendError_t,
-                             Impl>::template Wrap<&Impl::SendError>),
+    mozilla::jni::MakeNativeMethod<EventDispatcher::NativeCallbackDelegate::SendError_t>(
+            mozilla::jni::NativeStub<EventDispatcher::NativeCallbackDelegate::SendError_t, Impl>
+            ::template Wrap<&Impl::SendError>),
 
-  mozilla::jni::MakeNativeMethod<EventDispatcher::NativeCallbackDelegate::SendSuccess_t>(
-    mozilla::jni::NativeStub<EventDispatcher::NativeCallbackDelegate::SendSuccess_t,
-                             Impl>::template Wrap<&Impl::SendSuccess>)
+    mozilla::jni::MakeNativeMethod<EventDispatcher::NativeCallbackDelegate::SendSuccess_t>(
+            mozilla::jni::NativeStub<EventDispatcher::NativeCallbackDelegate::SendSuccess_t, Impl>
+            ::template Wrap<&Impl::SendSuccess>)
 };
 
 template<class Impl>
 class GeckoAppShell::Natives : public mozilla::jni::NativeImpl<GeckoAppShell, Impl>
 {
 public:
-  static const JNINativeMethod methods[8];
+    static const JNINativeMethod methods[8];
 };
 
 template<class Impl>
 const JNINativeMethod GeckoAppShell::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::NotifyObservers_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::NotifyObservers_t,
-                             Impl>::template Wrap<&Impl::NotifyObservers>),
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::NotifyObservers_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::NotifyObservers_t, Impl>
+            ::template Wrap<&Impl::NotifyObservers>),
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::NotifyAlertListener_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::NotifyAlertListener_t,
-                             Impl>::template Wrap<&Impl::NotifyAlertListener>),
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::NotifyAlertListener_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::NotifyAlertListener_t, Impl>
+            ::template Wrap<&Impl::NotifyAlertListener>),
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::NotifyUriVisited_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::NotifyUriVisited_t,
-                             Impl>::template Wrap<&Impl::NotifyUriVisited>),
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::NotifyUriVisited_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::NotifyUriVisited_t, Impl>
+            ::template Wrap<&Impl::NotifyUriVisited>),
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::OnFullScreenPluginHidden_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::OnFullScreenPluginHidden_t,
-                             Impl>::template Wrap<&Impl::OnFullScreenPluginHidden>),
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::OnFullScreenPluginHidden_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::OnFullScreenPluginHidden_t, Impl>
+            ::template Wrap<&Impl::OnFullScreenPluginHidden>),
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::OnLocationChanged_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::OnLocationChanged_t,
-                             Impl>::template Wrap<&Impl::OnLocationChanged>),
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::OnLocationChanged_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::OnLocationChanged_t, Impl>
+            ::template Wrap<&Impl::OnLocationChanged>),
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::OnSensorChanged_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::OnSensorChanged_t,
-                             Impl>::template Wrap<&Impl::OnSensorChanged>),
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::OnSensorChanged_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::OnSensorChanged_t, Impl>
+            ::template Wrap<&Impl::OnSensorChanged>),
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::ReportJavaCrash_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::ReportJavaCrash_t,
-                             Impl>::template Wrap<&Impl::ReportJavaCrash>),
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::ReportJavaCrash_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::ReportJavaCrash_t, Impl>
+            ::template Wrap<&Impl::ReportJavaCrash>),
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::SyncNotifyObservers_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::SyncNotifyObservers_t,
-                             Impl>::template Wrap<&Impl::SyncNotifyObservers>)
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::SyncNotifyObservers_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::SyncNotifyObservers_t, Impl>
+            ::template Wrap<&Impl::SyncNotifyObservers>)
 };
 
 template<class Impl>
-class GeckoAppShell::CameraCallback::Natives
-  : public mozilla::jni::NativeImpl<CameraCallback, Impl>
+class GeckoAppShell::CameraCallback::Natives : public mozilla::jni::NativeImpl<CameraCallback, Impl>
 {
 public:
-  static const JNINativeMethod methods[1];
+    static const JNINativeMethod methods[1];
 };
 
 template<class Impl>
 const JNINativeMethod GeckoAppShell::CameraCallback::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<GeckoAppShell::CameraCallback::OnFrameData_t>(
-    mozilla::jni::NativeStub<GeckoAppShell::CameraCallback::OnFrameData_t,
-                             Impl>::template Wrap<&Impl::OnFrameData>)
+    mozilla::jni::MakeNativeMethod<GeckoAppShell::CameraCallback::OnFrameData_t>(
+            mozilla::jni::NativeStub<GeckoAppShell::CameraCallback::OnFrameData_t, Impl>
+            ::template Wrap<&Impl::OnFrameData>)
 };
 
 template<class Impl>
 class GeckoBatteryManager::Natives : public mozilla::jni::NativeImpl<GeckoBatteryManager, Impl>
 {
 public:
-  static const JNINativeMethod methods[1];
+    static const JNINativeMethod methods[1];
 };
 
 template<class Impl>
 const JNINativeMethod GeckoBatteryManager::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<GeckoBatteryManager::OnBatteryChange_t>(
-    mozilla::jni::NativeStub<GeckoBatteryManager::OnBatteryChange_t,
-                             Impl>::template Wrap<&Impl::OnBatteryChange>)
+    mozilla::jni::MakeNativeMethod<GeckoBatteryManager::OnBatteryChange_t>(
+            mozilla::jni::NativeStub<GeckoBatteryManager::OnBatteryChange_t, Impl>
+            ::template Wrap<&Impl::OnBatteryChange>)
 };
 
 template<class Impl>
 class GeckoEditable::Natives : public mozilla::jni::NativeImpl<GeckoEditable, Impl>
 {
 public:
-  static const JNINativeMethod methods[7];
+    static const JNINativeMethod methods[7];
 };
 
 template<class Impl>
 const JNINativeMethod GeckoEditable::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<GeckoEditable::DisposeNative_t>(
-    mozilla::jni::NativeStub<GeckoEditable::DisposeNative_t,
-                             Impl>::template Wrap<&Impl::DisposeNative>),
+    mozilla::jni::MakeNativeMethod<GeckoEditable::DisposeNative_t>(
+            mozilla::jni::NativeStub<GeckoEditable::DisposeNative_t, Impl>
+            ::template Wrap<&Impl::DisposeNative>),
 
-  mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeAddCompositionRange_t>(
-    mozilla::jni::NativeStub<GeckoEditable::OnImeAddCompositionRange_t,
-                             Impl>::template Wrap<&Impl::OnImeAddCompositionRange>),
+    mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeAddCompositionRange_t>(
+            mozilla::jni::NativeStub<GeckoEditable::OnImeAddCompositionRange_t, Impl>
+            ::template Wrap<&Impl::OnImeAddCompositionRange>),
 
-  mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeReplaceText_t>(
-    mozilla::jni::NativeStub<GeckoEditable::OnImeReplaceText_t,
-                             Impl>::template Wrap<&Impl::OnImeReplaceText>),
+    mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeReplaceText_t>(
+            mozilla::jni::NativeStub<GeckoEditable::OnImeReplaceText_t, Impl>
+            ::template Wrap<&Impl::OnImeReplaceText>),
 
-  mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeRequestCursorUpdates_t>(
-    mozilla::jni::NativeStub<GeckoEditable::OnImeRequestCursorUpdates_t,
-                             Impl>::template Wrap<&Impl::OnImeRequestCursorUpdates>),
+    mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeRequestCursorUpdates_t>(
+            mozilla::jni::NativeStub<GeckoEditable::OnImeRequestCursorUpdates_t, Impl>
+            ::template Wrap<&Impl::OnImeRequestCursorUpdates>),
+
+    mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeSynchronize_t>(
+            mozilla::jni::NativeStub<GeckoEditable::OnImeSynchronize_t, Impl>
+            ::template Wrap<&Impl::OnImeSynchronize>),
 
-  mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeSynchronize_t>(
-    mozilla::jni::NativeStub<GeckoEditable::OnImeSynchronize_t,
-                             Impl>::template Wrap<&Impl::OnImeSynchronize>),
+    mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeUpdateComposition_t>(
+            mozilla::jni::NativeStub<GeckoEditable::OnImeUpdateComposition_t, Impl>
+            ::template Wrap<&Impl::OnImeUpdateComposition>),
 
-  mozilla::jni::MakeNativeMethod<GeckoEditable::OnImeUpdateComposition_t>(
-    mozilla::jni::NativeStub<GeckoEditable::OnImeUpdateComposition_t,
-                             Impl>::template Wrap<&Impl::OnImeUpdateComposition>),
-
-  mozilla::jni::MakeNativeMethod<GeckoEditable::OnKeyEvent_t>(
-    mozilla::jni::NativeStub<GeckoEditable::OnKeyEvent_t, Impl>::template Wrap<&Impl::OnKeyEvent>)
+    mozilla::jni::MakeNativeMethod<GeckoEditable::OnKeyEvent_t>(
+            mozilla::jni::NativeStub<GeckoEditable::OnKeyEvent_t, Impl>
+            ::template Wrap<&Impl::OnKeyEvent>)
 };
 
 template<class Impl>
 class GeckoNetworkManager::Natives : public mozilla::jni::NativeImpl<GeckoNetworkManager, Impl>
 {
 public:
-  static const JNINativeMethod methods[2];
+    static const JNINativeMethod methods[2];
 };
 
 template<class Impl>
 const JNINativeMethod GeckoNetworkManager::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<GeckoNetworkManager::OnConnectionChanged_t>(
-    mozilla::jni::NativeStub<GeckoNetworkManager::OnConnectionChanged_t,
-                             Impl>::template Wrap<&Impl::OnConnectionChanged>),
+    mozilla::jni::MakeNativeMethod<GeckoNetworkManager::OnConnectionChanged_t>(
+            mozilla::jni::NativeStub<GeckoNetworkManager::OnConnectionChanged_t, Impl>
+            ::template Wrap<&Impl::OnConnectionChanged>),
 
-  mozilla::jni::MakeNativeMethod<GeckoNetworkManager::OnStatusChanged_t>(
-    mozilla::jni::NativeStub<GeckoNetworkManager::OnStatusChanged_t,
-                             Impl>::template Wrap<&Impl::OnStatusChanged>)
+    mozilla::jni::MakeNativeMethod<GeckoNetworkManager::OnStatusChanged_t>(
+            mozilla::jni::NativeStub<GeckoNetworkManager::OnStatusChanged_t, Impl>
+            ::template Wrap<&Impl::OnStatusChanged>)
 };
 
 template<class Impl>
-class GeckoScreenOrientation::Natives
-  : public mozilla::jni::NativeImpl<GeckoScreenOrientation, Impl>
+class GeckoScreenOrientation::Natives : public mozilla::jni::NativeImpl<GeckoScreenOrientation, Impl>
 {
 public:
-  static const JNINativeMethod methods[1];
+    static const JNINativeMethod methods[1];
 };
 
 template<class Impl>
 const JNINativeMethod GeckoScreenOrientation::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<GeckoScreenOrientation::OnOrientationChange_t>(
-    mozilla::jni::NativeStub<GeckoScreenOrientation::OnOrientationChange_t,
-                             Impl>::template Wrap<&Impl::OnOrientationChange>)
+    mozilla::jni::MakeNativeMethod<GeckoScreenOrientation::OnOrientationChange_t>(
+            mozilla::jni::NativeStub<GeckoScreenOrientation::OnOrientationChange_t, Impl>
+            ::template Wrap<&Impl::OnOrientationChange>)
 };
 
 template<class Impl>
 class GeckoThread::Natives : public mozilla::jni::NativeImpl<GeckoThread, Impl>
 {
 public:
-  static const JNINativeMethod methods[6];
+    static const JNINativeMethod methods[6];
 };
 
 template<class Impl>
 const JNINativeMethod GeckoThread::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<GeckoThread::CreateServices_t>(
-    mozilla::jni::NativeStub<GeckoThread::CreateServices_t,
-                             Impl>::template Wrap<&Impl::CreateServices>),
+    mozilla::jni::MakeNativeMethod<GeckoThread::CreateServices_t>(
+            mozilla::jni::NativeStub<GeckoThread::CreateServices_t, Impl>
+            ::template Wrap<&Impl::CreateServices>),
 
-  mozilla::jni::MakeNativeMethod<GeckoThread::OnPause_t>(
-    mozilla::jni::NativeStub<GeckoThread::OnPause_t, Impl>::template Wrap<&Impl::OnPause>),
+    mozilla::jni::MakeNativeMethod<GeckoThread::OnPause_t>(
+            mozilla::jni::NativeStub<GeckoThread::OnPause_t, Impl>
+            ::template Wrap<&Impl::OnPause>),
 
-  mozilla::jni::MakeNativeMethod<GeckoThread::OnResume_t>(
-    mozilla::jni::NativeStub<GeckoThread::OnResume_t, Impl>::template Wrap<&Impl::OnResume>),
+    mozilla::jni::MakeNativeMethod<GeckoThread::OnResume_t>(
+            mozilla::jni::NativeStub<GeckoThread::OnResume_t, Impl>
+            ::template Wrap<&Impl::OnResume>),
 
-  mozilla::jni::MakeNativeMethod<GeckoThread::RunUiThreadCallback_t>(
-    mozilla::jni::NativeStub<GeckoThread::RunUiThreadCallback_t,
-                             Impl>::template Wrap<&Impl::RunUiThreadCallback>),
+    mozilla::jni::MakeNativeMethod<GeckoThread::RunUiThreadCallback_t>(
+            mozilla::jni::NativeStub<GeckoThread::RunUiThreadCallback_t, Impl>
+            ::template Wrap<&Impl::RunUiThreadCallback>),
 
-  mozilla::jni::MakeNativeMethod<GeckoThread::SpeculativeConnect_t>(
-    mozilla::jni::NativeStub<GeckoThread::SpeculativeConnect_t,
-                             Impl>::template Wrap<&Impl::SpeculativeConnect>),
+    mozilla::jni::MakeNativeMethod<GeckoThread::SpeculativeConnect_t>(
+            mozilla::jni::NativeStub<GeckoThread::SpeculativeConnect_t, Impl>
+            ::template Wrap<&Impl::SpeculativeConnect>),
 
-  mozilla::jni::MakeNativeMethod<GeckoThread::WaitOnGecko_t>(
-    mozilla::jni::NativeStub<GeckoThread::WaitOnGecko_t, Impl>::template Wrap<&Impl::WaitOnGecko>)
+    mozilla::jni::MakeNativeMethod<GeckoThread::WaitOnGecko_t>(
+            mozilla::jni::NativeStub<GeckoThread::WaitOnGecko_t, Impl>
+            ::template Wrap<&Impl::WaitOnGecko>)
 };
 
 template<class Impl>
 class GeckoView::Window::Natives : public mozilla::jni::NativeImpl<Window, Impl>
 {
 public:
-  static const JNINativeMethod methods[5];
+    static const JNINativeMethod methods[5];
 };
 
 template<class Impl>
 const JNINativeMethod GeckoView::Window::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<GeckoView::Window::Close_t>(
-    mozilla::jni::NativeStub<GeckoView::Window::Close_t, Impl>::template Wrap<&Impl::Close>),
+    mozilla::jni::MakeNativeMethod<GeckoView::Window::Close_t>(
+            mozilla::jni::NativeStub<GeckoView::Window::Close_t, Impl>
+            ::template Wrap<&Impl::Close>),
 
-  mozilla::jni::MakeNativeMethod<GeckoView::Window::DisposeNative_t>(
-    mozilla::jni::NativeStub<GeckoView::Window::DisposeNative_t,
-                             Impl>::template Wrap<&Impl::DisposeNative>),
+    mozilla::jni::MakeNativeMethod<GeckoView::Window::DisposeNative_t>(
+            mozilla::jni::NativeStub<GeckoView::Window::DisposeNative_t, Impl>
+            ::template Wrap<&Impl::DisposeNative>),
 
-  mozilla::jni::MakeNativeMethod<GeckoView::Window::LoadUri_t>(
-    mozilla::jni::NativeStub<GeckoView::Window::LoadUri_t, Impl>::template Wrap<&Impl::LoadUri>),
+    mozilla::jni::MakeNativeMethod<GeckoView::Window::LoadUri_t>(
+            mozilla::jni::NativeStub<GeckoView::Window::LoadUri_t, Impl>
+            ::template Wrap<&Impl::LoadUri>),
 
-  mozilla::jni::MakeNativeMethod<GeckoView::Window::Open_t>(
-    mozilla::jni::NativeStub<GeckoView::Window::Open_t, Impl>::template Wrap<&Impl::Open>),
+    mozilla::jni::MakeNativeMethod<GeckoView::Window::Open_t>(
+            mozilla::jni::NativeStub<GeckoView::Window::Open_t, Impl>
+            ::template Wrap<&Impl::Open>),
 
-  mozilla::jni::MakeNativeMethod<GeckoView::Window::Reattach_t>(
-    mozilla::jni::NativeStub<GeckoView::Window::Reattach_t, Impl>::template Wrap<&Impl::Reattach>)
+    mozilla::jni::MakeNativeMethod<GeckoView::Window::Reattach_t>(
+            mozilla::jni::NativeStub<GeckoView::Window::Reattach_t, Impl>
+            ::template Wrap<&Impl::Reattach>)
 };
 
 template<class Impl>
 class PrefsHelper::Natives : public mozilla::jni::NativeImpl<PrefsHelper, Impl>
 {
 public:
-  static const JNINativeMethod methods[4];
+    static const JNINativeMethod methods[4];
 };
 
 template<class Impl>
 const JNINativeMethod PrefsHelper::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<PrefsHelper::AddObserver_t>(
-    mozilla::jni::NativeStub<PrefsHelper::AddObserver_t, Impl>::template Wrap<&Impl::AddObserver>),
+    mozilla::jni::MakeNativeMethod<PrefsHelper::AddObserver_t>(
+            mozilla::jni::NativeStub<PrefsHelper::AddObserver_t, Impl>
+            ::template Wrap<&Impl::AddObserver>),
 
-  mozilla::jni::MakeNativeMethod<PrefsHelper::GetPrefs_t>(
-    mozilla::jni::NativeStub<PrefsHelper::GetPrefs_t, Impl>::template Wrap<&Impl::GetPrefs>),
+    mozilla::jni::MakeNativeMethod<PrefsHelper::GetPrefs_t>(
+            mozilla::jni::NativeStub<PrefsHelper::GetPrefs_t, Impl>
+            ::template Wrap<&Impl::GetPrefs>),
 
-  mozilla::jni::MakeNativeMethod<PrefsHelper::RemoveObserver_t>(
-    mozilla::jni::NativeStub<PrefsHelper::RemoveObserver_t,
-                             Impl>::template Wrap<&Impl::RemoveObserver>),
+    mozilla::jni::MakeNativeMethod<PrefsHelper::RemoveObserver_t>(
+            mozilla::jni::NativeStub<PrefsHelper::RemoveObserver_t, Impl>
+            ::template Wrap<&Impl::RemoveObserver>),
 
-  mozilla::jni::MakeNativeMethod<PrefsHelper::SetPref_t>(
-    mozilla::jni::NativeStub<PrefsHelper::SetPref_t, Impl>::template Wrap<&Impl::SetPref>)
+    mozilla::jni::MakeNativeMethod<PrefsHelper::SetPref_t>(
+            mozilla::jni::NativeStub<PrefsHelper::SetPref_t, Impl>
+            ::template Wrap<&Impl::SetPref>)
 };
 
 template<class Impl>
 class ScreenManagerHelper::Natives : public mozilla::jni::NativeImpl<ScreenManagerHelper, Impl>
 {
 public:
-  static const JNINativeMethod methods[2];
+    static const JNINativeMethod methods[2];
 };
 
 template<class Impl>
 const JNINativeMethod ScreenManagerHelper::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<ScreenManagerHelper::AddDisplay_t>(
-    mozilla::jni::NativeStub<ScreenManagerHelper::AddDisplay_t,
-                             Impl>::template Wrap<&Impl::AddDisplay>),
+    mozilla::jni::MakeNativeMethod<ScreenManagerHelper::AddDisplay_t>(
+            mozilla::jni::NativeStub<ScreenManagerHelper::AddDisplay_t, Impl>
+            ::template Wrap<&Impl::AddDisplay>),
 
-  mozilla::jni::MakeNativeMethod<ScreenManagerHelper::RemoveDisplay_t>(
-    mozilla::jni::NativeStub<ScreenManagerHelper::RemoveDisplay_t,
-                             Impl>::template Wrap<&Impl::RemoveDisplay>)
+    mozilla::jni::MakeNativeMethod<ScreenManagerHelper::RemoveDisplay_t>(
+            mozilla::jni::NativeStub<ScreenManagerHelper::RemoveDisplay_t, Impl>
+            ::template Wrap<&Impl::RemoveDisplay>)
 };
 
 template<class Impl>
-class SurfaceTextureListener::Natives
-  : public mozilla::jni::NativeImpl<SurfaceTextureListener, Impl>
+class SurfaceTextureListener::Natives : public mozilla::jni::NativeImpl<SurfaceTextureListener, Impl>
 {
 public:
-  static const JNINativeMethod methods[1];
+    static const JNINativeMethod methods[1];
 };
 
 template<class Impl>
 const JNINativeMethod SurfaceTextureListener::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<SurfaceTextureListener::OnFrameAvailable_t>(
-    mozilla::jni::NativeStub<SurfaceTextureListener::OnFrameAvailable_t,
-                             Impl>::template Wrap<&Impl::OnFrameAvailable>)
+    mozilla::jni::MakeNativeMethod<SurfaceTextureListener::OnFrameAvailable_t>(
+            mozilla::jni::NativeStub<SurfaceTextureListener::OnFrameAvailable_t, Impl>
+            ::template Wrap<&Impl::OnFrameAvailable>)
 };
 
 template<class Impl>
 class LayerView::Compositor::Natives : public mozilla::jni::NativeImpl<Compositor, Impl>
 {
 public:
-  static const JNINativeMethod methods[7];
+    static const JNINativeMethod methods[7];
 };
 
 template<class Impl>
 const JNINativeMethod LayerView::Compositor::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<LayerView::Compositor::AttachToJava_t>(
-    mozilla::jni::NativeStub<LayerView::Compositor::AttachToJava_t,
-                             Impl>::template Wrap<&Impl::AttachToJava>),
+    mozilla::jni::MakeNativeMethod<LayerView::Compositor::AttachToJava_t>(
+            mozilla::jni::NativeStub<LayerView::Compositor::AttachToJava_t, Impl>
+            ::template Wrap<&Impl::AttachToJava>),
 
-  mozilla::jni::MakeNativeMethod<LayerView::Compositor::CreateCompositor_t>(
-    mozilla::jni::NativeStub<LayerView::Compositor::CreateCompositor_t,
-                             Impl>::template Wrap<&Impl::CreateCompositor>),
+    mozilla::jni::MakeNativeMethod<LayerView::Compositor::CreateCompositor_t>(
+            mozilla::jni::NativeStub<LayerView::Compositor::CreateCompositor_t, Impl>
+            ::template Wrap<&Impl::CreateCompositor>),
 
-  mozilla::jni::MakeNativeMethod<LayerView::Compositor::DisposeNative_t>(
-    mozilla::jni::NativeStub<LayerView::Compositor::DisposeNative_t,
-                             Impl>::template Wrap<&Impl::DisposeNative>),
+    mozilla::jni::MakeNativeMethod<LayerView::Compositor::DisposeNative_t>(
+            mozilla::jni::NativeStub<LayerView::Compositor::DisposeNative_t, Impl>
+            ::template Wrap<&Impl::DisposeNative>),
 
-  mozilla::jni::MakeNativeMethod<LayerView::Compositor::OnSizeChanged_t>(
-    mozilla::jni::NativeStub<LayerView::Compositor::OnSizeChanged_t,
-                             Impl>::template Wrap<&Impl::OnSizeChanged>),
+    mozilla::jni::MakeNativeMethod<LayerView::Compositor::OnSizeChanged_t>(
+            mozilla::jni::NativeStub<LayerView::Compositor::OnSizeChanged_t, Impl>
+            ::template Wrap<&Impl::OnSizeChanged>),
 
-  mozilla::jni::MakeNativeMethod<LayerView::Compositor::SyncInvalidateAndScheduleComposite_t>(
-    mozilla::jni::NativeStub<LayerView::Compositor::SyncInvalidateAndScheduleComposite_t,
-                             Impl>::template Wrap<&Impl::SyncInvalidateAndScheduleComposite>),
+    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SyncInvalidateAndScheduleComposite_t>(
+            mozilla::jni::NativeStub<LayerView::Compositor::SyncInvalidateAndScheduleComposite_t, Impl>
+            ::template Wrap<&Impl::SyncInvalidateAndScheduleComposite>),
 
-  mozilla::jni::MakeNativeMethod<LayerView::Compositor::SyncPauseCompositor_t>(
-    mozilla::jni::NativeStub<LayerView::Compositor::SyncPauseCompositor_t,
-                             Impl>::template Wrap<&Impl::SyncPauseCompositor>),
+    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SyncPauseCompositor_t>(
+            mozilla::jni::NativeStub<LayerView::Compositor::SyncPauseCompositor_t, Impl>
+            ::template Wrap<&Impl::SyncPauseCompositor>),
 
-  mozilla::jni::MakeNativeMethod<LayerView::Compositor::SyncResumeResizeCompositor_t>(
-    mozilla::jni::NativeStub<LayerView::Compositor::SyncResumeResizeCompositor_t,
-                             Impl>::template Wrap<&Impl::SyncResumeResizeCompositor>)
+    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SyncResumeResizeCompositor_t>(
+            mozilla::jni::NativeStub<LayerView::Compositor::SyncResumeResizeCompositor_t, Impl>
+            ::template Wrap<&Impl::SyncResumeResizeCompositor>)
 };
 
 template<class Impl>
-class NativePanZoomController::Natives
-  : public mozilla::jni::NativeImpl<NativePanZoomController, Impl>
+class NativePanZoomController::Natives : public mozilla::jni::NativeImpl<NativePanZoomController, Impl>
 {
 public:
-  static const JNINativeMethod methods[7];
+    static const JNINativeMethod methods[7];
 };
 
 template<class Impl>
 const JNINativeMethod NativePanZoomController::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<NativePanZoomController::AdjustScrollForSurfaceShift_t>(
-    mozilla::jni::NativeStub<NativePanZoomController::AdjustScrollForSurfaceShift_t,
-                             Impl>::template Wrap<&Impl::AdjustScrollForSurfaceShift>),
+    mozilla::jni::MakeNativeMethod<NativePanZoomController::AdjustScrollForSurfaceShift_t>(
+            mozilla::jni::NativeStub<NativePanZoomController::AdjustScrollForSurfaceShift_t, Impl>
+            ::template Wrap<&Impl::AdjustScrollForSurfaceShift>),
 
-  mozilla::jni::MakeNativeMethod<NativePanZoomController::DisposeNative_t>(
-    mozilla::jni::NativeStub<NativePanZoomController::DisposeNative_t,
-                             Impl>::template Wrap<&Impl::DisposeNative>),
+    mozilla::jni::MakeNativeMethod<NativePanZoomController::DisposeNative_t>(
+            mozilla::jni::NativeStub<NativePanZoomController::DisposeNative_t, Impl>
+            ::template Wrap<&Impl::DisposeNative>),
 
-  mozilla::jni::MakeNativeMethod<NativePanZoomController::HandleMotionEvent_t>(
-    mozilla::jni::NativeStub<NativePanZoomController::HandleMotionEvent_t,
-                             Impl>::template Wrap<&Impl::HandleMotionEvent>),
+    mozilla::jni::MakeNativeMethod<NativePanZoomController::HandleMotionEvent_t>(
+            mozilla::jni::NativeStub<NativePanZoomController::HandleMotionEvent_t, Impl>
+            ::template Wrap<&Impl::HandleMotionEvent>),
 
-  mozilla::jni::MakeNativeMethod<NativePanZoomController::HandleMotionEventVelocity_t>(
-    mozilla::jni::NativeStub<NativePanZoomController::HandleMotionEventVelocity_t,
-                             Impl>::template Wrap<&Impl::HandleMotionEventVelocity>),
+    mozilla::jni::MakeNativeMethod<NativePanZoomController::HandleMotionEventVelocity_t>(
+            mozilla::jni::NativeStub<NativePanZoomController::HandleMotionEventVelocity_t, Impl>
+            ::template Wrap<&Impl::HandleMotionEventVelocity>),
 
-  mozilla::jni::MakeNativeMethod<NativePanZoomController::HandleMouseEvent_t>(
-    mozilla::jni::NativeStub<NativePanZoomController::HandleMouseEvent_t,
-                             Impl>::template Wrap<&Impl::HandleMouseEvent>),
+    mozilla::jni::MakeNativeMethod<NativePanZoomController::HandleMouseEvent_t>(
+            mozilla::jni::NativeStub<NativePanZoomController::HandleMouseEvent_t, Impl>
+            ::template Wrap<&Impl::HandleMouseEvent>),
 
-  mozilla::jni::MakeNativeMethod<NativePanZoomController::HandleScrollEvent_t>(
-    mozilla::jni::NativeStub<NativePanZoomController::HandleScrollEvent_t,
-                             Impl>::template Wrap<&Impl::HandleScrollEvent>),
+    mozilla::jni::MakeNativeMethod<NativePanZoomController::HandleScrollEvent_t>(
+            mozilla::jni::NativeStub<NativePanZoomController::HandleScrollEvent_t, Impl>
+            ::template Wrap<&Impl::HandleScrollEvent>),
 
-  mozilla::jni::MakeNativeMethod<NativePanZoomController::SetIsLongpressEnabled_t>(
-    mozilla::jni::NativeStub<NativePanZoomController::SetIsLongpressEnabled_t,
-                             Impl>::template Wrap<&Impl::SetIsLongpressEnabled>)
+    mozilla::jni::MakeNativeMethod<NativePanZoomController::SetIsLongpressEnabled_t>(
+            mozilla::jni::NativeStub<NativePanZoomController::SetIsLongpressEnabled_t, Impl>
+            ::template Wrap<&Impl::SetIsLongpressEnabled>)
 };
 
 template<class Impl>
 class VsyncSource::Natives : public mozilla::jni::NativeImpl<VsyncSource, Impl>
 {
 public:
-  static const JNINativeMethod methods[1];
+    static const JNINativeMethod methods[1];
 };
 
 template<class Impl>
 const JNINativeMethod VsyncSource::Natives<Impl>::methods[] = {
 
-  mozilla::jni::MakeNativeMethod<VsyncSource::NotifyVsync_t>(
-    mozilla::jni::NativeStub<VsyncSource::NotifyVsync_t, Impl>::template Wrap<&Impl::NotifyVsync>)
+    mozilla::jni::MakeNativeMethod<VsyncSource::NotifyVsync_t>(
+            mozilla::jni::NativeStub<VsyncSource::NotifyVsync_t, Impl>
+            ::template Wrap<&Impl::NotifyVsync>)
 };
 
 } /* java */
 } /* mozilla */
 #endif // GeneratedJNINatives_h
--- a/widget/android/GeneratedJNIWrappers.cpp
+++ b/widget/android/GeneratedJNIWrappers.cpp
@@ -5,909 +5,765 @@
 // will cause your build to fail.
 
 #include "GeneratedJNIWrappers.h"
 #include "mozilla/jni/Accessors.h"
 
 namespace mozilla {
 namespace java {
 
-const char AlarmReceiver::name[] = "org/mozilla/gecko/AlarmReceiver";
+const char AlarmReceiver::name[] =
+        "org/mozilla/gecko/AlarmReceiver";
 
 constexpr char AlarmReceiver::NotifyAlarmFired_t::name[];
 constexpr char AlarmReceiver::NotifyAlarmFired_t::signature[];
 
-const char AndroidGamepadManager::name[] = "org/mozilla/gecko/AndroidGamepadManager";
+const char AndroidGamepadManager::name[] =
+        "org/mozilla/gecko/AndroidGamepadManager";
 
 constexpr char AndroidGamepadManager::OnAxisChange_t::name[];
 constexpr char AndroidGamepadManager::OnAxisChange_t::signature[];
 
 constexpr char AndroidGamepadManager::OnButtonChange_t::name[];
 constexpr char AndroidGamepadManager::OnButtonChange_t::signature[];
 
 constexpr char AndroidGamepadManager::OnGamepadAdded_t::name[];
 constexpr char AndroidGamepadManager::OnGamepadAdded_t::signature[];
 
-auto
-AndroidGamepadManager::OnGamepadAdded(int32_t a0, int32_t a1) -> void
+auto AndroidGamepadManager::OnGamepadAdded(int32_t a0, int32_t a1) -> void
 {
-  return mozilla::jni::Method<OnGamepadAdded_t>::Call(
-    AndroidGamepadManager::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<OnGamepadAdded_t>::Call(AndroidGamepadManager::Context(), nullptr, a0, a1);
 }
 
 constexpr char AndroidGamepadManager::OnGamepadChange_t::name[];
 constexpr char AndroidGamepadManager::OnGamepadChange_t::signature[];
 
 constexpr char AndroidGamepadManager::Start_t::name[];
 constexpr char AndroidGamepadManager::Start_t::signature[];
 
-auto
-AndroidGamepadManager::Start() -> void
+auto AndroidGamepadManager::Start() -> void
 {
-  return mozilla::jni::Method<Start_t>::Call(AndroidGamepadManager::Context(), nullptr);
+    return mozilla::jni::Method<Start_t>::Call(AndroidGamepadManager::Context(), nullptr);
 }
 
 constexpr char AndroidGamepadManager::Stop_t::name[];
 constexpr char AndroidGamepadManager::Stop_t::signature[];
 
-auto
-AndroidGamepadManager::Stop() -> void
+auto AndroidGamepadManager::Stop() -> void
 {
-  return mozilla::jni::Method<Stop_t>::Call(AndroidGamepadManager::Context(), nullptr);
+    return mozilla::jni::Method<Stop_t>::Call(AndroidGamepadManager::Context(), nullptr);
 }
 
-const char EventDispatcher::name[] = "org/mozilla/gecko/EventDispatcher";
+const char EventDispatcher::name[] =
+        "org/mozilla/gecko/EventDispatcher";
 
 constexpr char EventDispatcher::DispatchToGecko_t::name[];
 constexpr char EventDispatcher::DispatchToGecko_t::signature[];
 
 constexpr char EventDispatcher::DispatchToThreads_t::name[];
 constexpr char EventDispatcher::DispatchToThreads_t::signature[];
 
-auto
-EventDispatcher::DispatchToThreads(mozilla::jni::String::Param a0,
-                                   mozilla::jni::Object::Param a1,
-                                   mozilla::jni::Object::Param a2) const -> bool
+auto EventDispatcher::DispatchToThreads(mozilla::jni::String::Param a0, mozilla::jni::Object::Param a1, mozilla::jni::Object::Param a2) const -> bool
 {
-  return mozilla::jni::Method<DispatchToThreads_t>::Call(
-    EventDispatcher::mCtx, nullptr, a0, a1, a2);
+    return mozilla::jni::Method<DispatchToThreads_t>::Call(EventDispatcher::mCtx, nullptr, a0, a1, a2);
 }
 
 constexpr char EventDispatcher::DisposeNative_t::name[];
 constexpr char EventDispatcher::DisposeNative_t::signature[];
 
 constexpr char EventDispatcher::GetInstance_t::name[];
 constexpr char EventDispatcher::GetInstance_t::signature[];
 
-auto
-EventDispatcher::GetInstance() -> EventDispatcher::LocalRef
+auto EventDispatcher::GetInstance() -> EventDispatcher::LocalRef
 {
-  return mozilla::jni::Method<GetInstance_t>::Call(EventDispatcher::Context(), nullptr);
+    return mozilla::jni::Method<GetInstance_t>::Call(EventDispatcher::Context(), nullptr);
 }
 
 constexpr char EventDispatcher::HasGeckoListener_t::name[];
 constexpr char EventDispatcher::HasGeckoListener_t::signature[];
 
 constexpr char EventDispatcher::SetAttachedToGecko_t::name[];
 constexpr char EventDispatcher::SetAttachedToGecko_t::signature[];
 
-auto
-EventDispatcher::SetAttachedToGecko(int32_t a0) const -> void
+auto EventDispatcher::SetAttachedToGecko(int32_t a0) const -> void
 {
-  return mozilla::jni::Method<SetAttachedToGecko_t>::Call(EventDispatcher::mCtx, nullptr, a0);
+    return mozilla::jni::Method<SetAttachedToGecko_t>::Call(EventDispatcher::mCtx, nullptr, a0);
 }
 
 const char EventDispatcher::NativeCallbackDelegate::name[] =
-  "org/mozilla/gecko/EventDispatcher$NativeCallbackDelegate";
+        "org/mozilla/gecko/EventDispatcher$NativeCallbackDelegate";
 
 constexpr char EventDispatcher::NativeCallbackDelegate::New_t::name[];
 constexpr char EventDispatcher::NativeCallbackDelegate::New_t::signature[];
 
-auto
-EventDispatcher::NativeCallbackDelegate::New() -> NativeCallbackDelegate::LocalRef
+auto EventDispatcher::NativeCallbackDelegate::New() -> NativeCallbackDelegate::LocalRef
 {
-  return mozilla::jni::Constructor<New_t>::Call(NativeCallbackDelegate::Context(), nullptr);
+    return mozilla::jni::Constructor<New_t>::Call(NativeCallbackDelegate::Context(), nullptr);
 }
 
 constexpr char EventDispatcher::NativeCallbackDelegate::Finalize_t::name[];
 constexpr char EventDispatcher::NativeCallbackDelegate::Finalize_t::signature[];
 
 constexpr char EventDispatcher::NativeCallbackDelegate::SendError_t::name[];
 constexpr char EventDispatcher::NativeCallbackDelegate::SendError_t::signature[];
 
 constexpr char EventDispatcher::NativeCallbackDelegate::SendSuccess_t::name[];
 constexpr char EventDispatcher::NativeCallbackDelegate::SendSuccess_t::signature[];
 
-const char GeckoAppShell::name[] = "org/mozilla/gecko/GeckoAppShell";
+const char GeckoAppShell::name[] =
+        "org/mozilla/gecko/GeckoAppShell";
 
 constexpr char GeckoAppShell::AddFullScreenPluginView_t::name[];
 constexpr char GeckoAppShell::AddFullScreenPluginView_t::signature[];
 
-auto
-GeckoAppShell::AddFullScreenPluginView(mozilla::jni::Object::Param a0) -> void
+auto GeckoAppShell::AddFullScreenPluginView(mozilla::jni::Object::Param a0) -> void
 {
-  return mozilla::jni::Method<AddFullScreenPluginView_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<AddFullScreenPluginView_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::CancelVibrate_t::name[];
 constexpr char GeckoAppShell::CancelVibrate_t::signature[];
 
-auto
-GeckoAppShell::CancelVibrate() -> void
+auto GeckoAppShell::CancelVibrate() -> void
 {
-  return mozilla::jni::Method<CancelVibrate_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<CancelVibrate_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::CheckURIVisited_t::name[];
 constexpr char GeckoAppShell::CheckURIVisited_t::signature[];
 
-auto
-GeckoAppShell::CheckURIVisited(mozilla::jni::String::Param a0) -> void
+auto GeckoAppShell::CheckURIVisited(mozilla::jni::String::Param a0) -> void
 {
-  return mozilla::jni::Method<CheckURIVisited_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<CheckURIVisited_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::CloseCamera_t::name[];
 constexpr char GeckoAppShell::CloseCamera_t::signature[];
 
-auto
-GeckoAppShell::CloseCamera() -> void
+auto GeckoAppShell::CloseCamera() -> void
 {
-  return mozilla::jni::Method<CloseCamera_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<CloseCamera_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::CloseNotification_t::name[];
 constexpr char GeckoAppShell::CloseNotification_t::signature[];
 
-auto
-GeckoAppShell::CloseNotification(mozilla::jni::String::Param a0) -> void
+auto GeckoAppShell::CloseNotification(mozilla::jni::String::Param a0) -> void
 {
-  return mozilla::jni::Method<CloseNotification_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<CloseNotification_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::ConnectionGetMimeType_t::name[];
 constexpr char GeckoAppShell::ConnectionGetMimeType_t::signature[];
 
-auto
-GeckoAppShell::ConnectionGetMimeType(mozilla::jni::Object::Param a0)
-  -> mozilla::jni::String::LocalRef
+auto GeckoAppShell::ConnectionGetMimeType(mozilla::jni::Object::Param a0) -> mozilla::jni::String::LocalRef
 {
-  return mozilla::jni::Method<ConnectionGetMimeType_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<ConnectionGetMimeType_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::CreateInputStream_t::name[];
 constexpr char GeckoAppShell::CreateInputStream_t::signature[];
 
-auto
-GeckoAppShell::CreateInputStream(mozilla::jni::Object::Param a0) -> mozilla::jni::Object::LocalRef
+auto GeckoAppShell::CreateInputStream(mozilla::jni::Object::Param a0) -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<CreateInputStream_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<CreateInputStream_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::CreateShortcut_t::name[];
 constexpr char GeckoAppShell::CreateShortcut_t::signature[];
 
-auto
-GeckoAppShell::CreateShortcut(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1)
-  -> void
+auto GeckoAppShell::CreateShortcut(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1) -> void
 {
-  return mozilla::jni::Method<CreateShortcut_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<CreateShortcut_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoAppShell::DisableAlarm_t::name[];
 constexpr char GeckoAppShell::DisableAlarm_t::signature[];
 
-auto
-GeckoAppShell::DisableAlarm() -> void
+auto GeckoAppShell::DisableAlarm() -> void
 {
-  return mozilla::jni::Method<DisableAlarm_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<DisableAlarm_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::DisableBatteryNotifications_t::name[];
 constexpr char GeckoAppShell::DisableBatteryNotifications_t::signature[];
 
-auto
-GeckoAppShell::DisableBatteryNotifications() -> void
+auto GeckoAppShell::DisableBatteryNotifications() -> void
 {
-  return mozilla::jni::Method<DisableBatteryNotifications_t>::Call(GeckoAppShell::Context(),
-                                                                   nullptr);
+    return mozilla::jni::Method<DisableBatteryNotifications_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::DisableNetworkNotifications_t::name[];
 constexpr char GeckoAppShell::DisableNetworkNotifications_t::signature[];
 
-auto
-GeckoAppShell::DisableNetworkNotifications() -> void
+auto GeckoAppShell::DisableNetworkNotifications() -> void
 {
-  return mozilla::jni::Method<DisableNetworkNotifications_t>::Call(GeckoAppShell::Context(),
-                                                                   nullptr);
+    return mozilla::jni::Method<DisableNetworkNotifications_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::DisableScreenOrientationNotifications_t::name[];
 constexpr char GeckoAppShell::DisableScreenOrientationNotifications_t::signature[];
 
-auto
-GeckoAppShell::DisableScreenOrientationNotifications() -> void
+auto GeckoAppShell::DisableScreenOrientationNotifications() -> void
 {
-  return mozilla::jni::Method<DisableScreenOrientationNotifications_t>::Call(
-    GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<DisableScreenOrientationNotifications_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::DisableSensor_t::name[];
 constexpr char GeckoAppShell::DisableSensor_t::signature[];
 
-auto
-GeckoAppShell::DisableSensor(int32_t a0) -> void
+auto GeckoAppShell::DisableSensor(int32_t a0) -> void
 {
-  return mozilla::jni::Method<DisableSensor_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<DisableSensor_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::EnableBatteryNotifications_t::name[];
 constexpr char GeckoAppShell::EnableBatteryNotifications_t::signature[];
 
-auto
-GeckoAppShell::EnableBatteryNotifications() -> void
+auto GeckoAppShell::EnableBatteryNotifications() -> void
 {
-  return mozilla::jni::Method<EnableBatteryNotifications_t>::Call(GeckoAppShell::Context(),
-                                                                  nullptr);
+    return mozilla::jni::Method<EnableBatteryNotifications_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::EnableLocation_t::name[];
 constexpr char GeckoAppShell::EnableLocation_t::signature[];
 
-auto
-GeckoAppShell::EnableLocation(bool a0) -> void
+auto GeckoAppShell::EnableLocation(bool a0) -> void
 {
-  return mozilla::jni::Method<EnableLocation_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<EnableLocation_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::EnableLocationHighAccuracy_t::name[];
 constexpr char GeckoAppShell::EnableLocationHighAccuracy_t::signature[];
 
-auto
-GeckoAppShell::EnableLocationHighAccuracy(bool a0) -> void
+auto GeckoAppShell::EnableLocationHighAccuracy(bool a0) -> void
 {
-  return mozilla::jni::Method<EnableLocationHighAccuracy_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<EnableLocationHighAccuracy_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::EnableNetworkNotifications_t::name[];
 constexpr char GeckoAppShell::EnableNetworkNotifications_t::signature[];
 
-auto
-GeckoAppShell::EnableNetworkNotifications() -> void
+auto GeckoAppShell::EnableNetworkNotifications() -> void
 {
-  return mozilla::jni::Method<EnableNetworkNotifications_t>::Call(GeckoAppShell::Context(),
-                                                                  nullptr);
+    return mozilla::jni::Method<EnableNetworkNotifications_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::EnableScreenOrientationNotifications_t::name[];
 constexpr char GeckoAppShell::EnableScreenOrientationNotifications_t::signature[];
 
-auto
-GeckoAppShell::EnableScreenOrientationNotifications() -> void
+auto GeckoAppShell::EnableScreenOrientationNotifications() -> void
 {
-  return mozilla::jni::Method<EnableScreenOrientationNotifications_t>::Call(
-    GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<EnableScreenOrientationNotifications_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::EnableSensor_t::name[];
 constexpr char GeckoAppShell::EnableSensor_t::signature[];
 
-auto
-GeckoAppShell::EnableSensor(int32_t a0) -> void
+auto GeckoAppShell::EnableSensor(int32_t a0) -> void
 {
-  return mozilla::jni::Method<EnableSensor_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<EnableSensor_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::GetApplicationContext_t::name[];
 constexpr char GeckoAppShell::GetApplicationContext_t::signature[];
 
-auto
-GeckoAppShell::GetApplicationContext() -> mozilla::jni::Object::LocalRef
+auto GeckoAppShell::GetApplicationContext() -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<GetApplicationContext_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetApplicationContext_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetConnection_t::name[];
 constexpr char GeckoAppShell::GetConnection_t::signature[];
 
-auto
-GeckoAppShell::GetConnection(mozilla::jni::String::Param a0) -> mozilla::jni::Object::LocalRef
+auto GeckoAppShell::GetConnection(mozilla::jni::String::Param a0) -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<GetConnection_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<GetConnection_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::GetContext_t::name[];
 constexpr char GeckoAppShell::GetContext_t::signature[];
 
-auto
-GeckoAppShell::GetContext() -> mozilla::jni::Object::LocalRef
+auto GeckoAppShell::GetContext() -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<GetContext_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetContext_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetCurrentBatteryInformation_t::name[];
 constexpr char GeckoAppShell::GetCurrentBatteryInformation_t::signature[];
 
-auto
-GeckoAppShell::GetCurrentBatteryInformation() -> mozilla::jni::DoubleArray::LocalRef
+auto GeckoAppShell::GetCurrentBatteryInformation() -> mozilla::jni::DoubleArray::LocalRef
 {
-  return mozilla::jni::Method<GetCurrentBatteryInformation_t>::Call(GeckoAppShell::Context(),
-                                                                    nullptr);
+    return mozilla::jni::Method<GetCurrentBatteryInformation_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetCurrentNetworkInformation_t::name[];
 constexpr char GeckoAppShell::GetCurrentNetworkInformation_t::signature[];
 
-auto
-GeckoAppShell::GetCurrentNetworkInformation() -> mozilla::jni::DoubleArray::LocalRef
+auto GeckoAppShell::GetCurrentNetworkInformation() -> mozilla::jni::DoubleArray::LocalRef
 {
-  return mozilla::jni::Method<GetCurrentNetworkInformation_t>::Call(GeckoAppShell::Context(),
-                                                                    nullptr);
+    return mozilla::jni::Method<GetCurrentNetworkInformation_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetDensity_t::name[];
 constexpr char GeckoAppShell::GetDensity_t::signature[];
 
-auto
-GeckoAppShell::GetDensity() -> float
+auto GeckoAppShell::GetDensity() -> float
 {
-  return mozilla::jni::Method<GetDensity_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetDensity_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetDpi_t::name[];
 constexpr char GeckoAppShell::GetDpi_t::signature[];
 
-auto
-GeckoAppShell::GetDpi() -> int32_t
+auto GeckoAppShell::GetDpi() -> int32_t
 {
-  return mozilla::jni::Method<GetDpi_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetDpi_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetExceptionStackTrace_t::name[];
 constexpr char GeckoAppShell::GetExceptionStackTrace_t::signature[];
 
-auto
-GeckoAppShell::GetExceptionStackTrace(mozilla::jni::Throwable::Param a0)
-  -> mozilla::jni::String::LocalRef
+auto GeckoAppShell::GetExceptionStackTrace(mozilla::jni::Throwable::Param a0) -> mozilla::jni::String::LocalRef
 {
-  return mozilla::jni::Method<GetExceptionStackTrace_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<GetExceptionStackTrace_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::GetExtensionFromMimeType_t::name[];
 constexpr char GeckoAppShell::GetExtensionFromMimeType_t::signature[];
 
-auto
-GeckoAppShell::GetExtensionFromMimeType(mozilla::jni::String::Param a0)
-  -> mozilla::jni::String::LocalRef
+auto GeckoAppShell::GetExtensionFromMimeType(mozilla::jni::String::Param a0) -> mozilla::jni::String::LocalRef
 {
-  return mozilla::jni::Method<GetExtensionFromMimeType_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<GetExtensionFromMimeType_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::GetExternalPublicDirectory_t::name[];
 constexpr char GeckoAppShell::GetExternalPublicDirectory_t::signature[];
 
-auto
-GeckoAppShell::GetExternalPublicDirectory(mozilla::jni::String::Param a0)
-  -> mozilla::jni::String::LocalRef
+auto GeckoAppShell::GetExternalPublicDirectory(mozilla::jni::String::Param a0) -> mozilla::jni::String::LocalRef
 {
-  return mozilla::jni::Method<GetExternalPublicDirectory_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<GetExternalPublicDirectory_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::GetHWDecoderCapability_t::name[];
 constexpr char GeckoAppShell::GetHWDecoderCapability_t::signature[];
 
-auto
-GeckoAppShell::GetHWDecoderCapability() -> bool
+auto GeckoAppShell::GetHWDecoderCapability() -> bool
 {
-  return mozilla::jni::Method<GetHWDecoderCapability_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetHWDecoderCapability_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetHWEncoderCapability_t::name[];
 constexpr char GeckoAppShell::GetHWEncoderCapability_t::signature[];
 
-auto
-GeckoAppShell::GetHWEncoderCapability() -> bool
+auto GeckoAppShell::GetHWEncoderCapability() -> bool
 {
-  return mozilla::jni::Method<GetHWEncoderCapability_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetHWEncoderCapability_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetHandlersForMimeType_t::name[];
 constexpr char GeckoAppShell::GetHandlersForMimeType_t::signature[];
 
-auto
-GeckoAppShell::GetHandlersForMimeType(mozilla::jni::String::Param a0,
-                                      mozilla::jni::String::Param a1)
-  -> mozilla::jni::ObjectArray::LocalRef
+auto GeckoAppShell::GetHandlersForMimeType(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1) -> mozilla::jni::ObjectArray::LocalRef
 {
-  return mozilla::jni::Method<GetHandlersForMimeType_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<GetHandlersForMimeType_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoAppShell::GetHandlersForURL_t::name[];
 constexpr char GeckoAppShell::GetHandlersForURL_t::signature[];
 
-auto
-GeckoAppShell::GetHandlersForURL(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1)
-  -> mozilla::jni::ObjectArray::LocalRef
+auto GeckoAppShell::GetHandlersForURL(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1) -> mozilla::jni::ObjectArray::LocalRef
 {
-  return mozilla::jni::Method<GetHandlersForURL_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<GetHandlersForURL_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoAppShell::GetIconForExtension_t::name[];
 constexpr char GeckoAppShell::GetIconForExtension_t::signature[];
 
-auto
-GeckoAppShell::GetIconForExtension(mozilla::jni::String::Param a0, int32_t a1)
-  -> mozilla::jni::ByteArray::LocalRef
+auto GeckoAppShell::GetIconForExtension(mozilla::jni::String::Param a0, int32_t a1) -> mozilla::jni::ByteArray::LocalRef
 {
-  return mozilla::jni::Method<GetIconForExtension_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<GetIconForExtension_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoAppShell::GetMaxTouchPoints_t::name[];
 constexpr char GeckoAppShell::GetMaxTouchPoints_t::signature[];
 
-auto
-GeckoAppShell::GetMaxTouchPoints() -> int32_t
+auto GeckoAppShell::GetMaxTouchPoints() -> int32_t
 {
-  return mozilla::jni::Method<GetMaxTouchPoints_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetMaxTouchPoints_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetMimeTypeFromExtensions_t::name[];
 constexpr char GeckoAppShell::GetMimeTypeFromExtensions_t::signature[];
 
-auto
-GeckoAppShell::GetMimeTypeFromExtensions(mozilla::jni::String::Param a0)
-  -> mozilla::jni::String::LocalRef
+auto GeckoAppShell::GetMimeTypeFromExtensions(mozilla::jni::String::Param a0) -> mozilla::jni::String::LocalRef
 {
-  return mozilla::jni::Method<GetMimeTypeFromExtensions_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<GetMimeTypeFromExtensions_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::GetNetworkLinkType_t::name[];
 constexpr char GeckoAppShell::GetNetworkLinkType_t::signature[];
 
-auto
-GeckoAppShell::GetNetworkLinkType() -> int32_t
+auto GeckoAppShell::GetNetworkLinkType() -> int32_t
 {
-  return mozilla::jni::Method<GetNetworkLinkType_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetNetworkLinkType_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetProxyForURI_t::name[];
 constexpr char GeckoAppShell::GetProxyForURI_t::signature[];
 
-auto
-GeckoAppShell::GetProxyForURI(mozilla::jni::String::Param a0,
-                              mozilla::jni::String::Param a1,
-                              mozilla::jni::String::Param a2,
-                              int32_t a3) -> mozilla::jni::String::LocalRef
+auto GeckoAppShell::GetProxyForURI(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1, mozilla::jni::String::Param a2, int32_t a3) -> mozilla::jni::String::LocalRef
 {
-  return mozilla::jni::Method<GetProxyForURI_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1, a2, a3);
+    return mozilla::jni::Method<GetProxyForURI_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1, a2, a3);
 }
 
 constexpr char GeckoAppShell::GetScreenAngle_t::name[];
 constexpr char GeckoAppShell::GetScreenAngle_t::signature[];
 
-auto
-GeckoAppShell::GetScreenAngle() -> int32_t
+auto GeckoAppShell::GetScreenAngle() -> int32_t
 {
-  return mozilla::jni::Method<GetScreenAngle_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetScreenAngle_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetScreenDepth_t::name[];
 constexpr char GeckoAppShell::GetScreenDepth_t::signature[];
 
-auto
-GeckoAppShell::GetScreenDepth() -> int32_t
+auto GeckoAppShell::GetScreenDepth() -> int32_t
 {
-  return mozilla::jni::Method<GetScreenDepth_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetScreenDepth_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetScreenOrientation_t::name[];
 constexpr char GeckoAppShell::GetScreenOrientation_t::signature[];
 
-auto
-GeckoAppShell::GetScreenOrientation() -> int16_t
+auto GeckoAppShell::GetScreenOrientation() -> int16_t
 {
-  return mozilla::jni::Method<GetScreenOrientation_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetScreenOrientation_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetScreenSize_t::name[];
 constexpr char GeckoAppShell::GetScreenSize_t::signature[];
 
-auto
-GeckoAppShell::GetScreenSize() -> mozilla::jni::Object::LocalRef
+auto GeckoAppShell::GetScreenSize() -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<GetScreenSize_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetScreenSize_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetShowPasswordSetting_t::name[];
 constexpr char GeckoAppShell::GetShowPasswordSetting_t::signature[];
 
-auto
-GeckoAppShell::GetShowPasswordSetting() -> bool
+auto GeckoAppShell::GetShowPasswordSetting() -> bool
 {
-  return mozilla::jni::Method<GetShowPasswordSetting_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetShowPasswordSetting_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::GetSystemColors_t::name[];
 constexpr char GeckoAppShell::GetSystemColors_t::signature[];
 
-auto
-GeckoAppShell::GetSystemColors() -> mozilla::jni::IntArray::LocalRef
+auto GeckoAppShell::GetSystemColors() -> mozilla::jni::IntArray::LocalRef
 {
-  return mozilla::jni::Method<GetSystemColors_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<GetSystemColors_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::HandleUncaughtException_t::name[];
 constexpr char GeckoAppShell::HandleUncaughtException_t::signature[];
 
-auto
-GeckoAppShell::HandleUncaughtException(mozilla::jni::Throwable::Param a0) -> void
+auto GeckoAppShell::HandleUncaughtException(mozilla::jni::Throwable::Param a0) -> void
 {
-  return mozilla::jni::Method<HandleUncaughtException_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<HandleUncaughtException_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::HideProgressDialog_t::name[];
 constexpr char GeckoAppShell::HideProgressDialog_t::signature[];
 
-auto
-GeckoAppShell::HideProgressDialog() -> void
+auto GeckoAppShell::HideProgressDialog() -> void
 {
-  return mozilla::jni::Method<HideProgressDialog_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<HideProgressDialog_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::InitCamera_t::name[];
 constexpr char GeckoAppShell::InitCamera_t::signature[];
 
-auto
-GeckoAppShell::InitCamera(mozilla::jni::String::Param a0, int32_t a1, int32_t a2, int32_t a3)
-  -> mozilla::jni::IntArray::LocalRef
+auto GeckoAppShell::InitCamera(mozilla::jni::String::Param a0, int32_t a1, int32_t a2, int32_t a3) -> mozilla::jni::IntArray::LocalRef
 {
-  return mozilla::jni::Method<InitCamera_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1, a2, a3);
+    return mozilla::jni::Method<InitCamera_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1, a2, a3);
 }
 
 constexpr char GeckoAppShell::IsNetworkLinkKnown_t::name[];
 constexpr char GeckoAppShell::IsNetworkLinkKnown_t::signature[];
 
-auto
-GeckoAppShell::IsNetworkLinkKnown() -> bool
+auto GeckoAppShell::IsNetworkLinkKnown() -> bool
 {
-  return mozilla::jni::Method<IsNetworkLinkKnown_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<IsNetworkLinkKnown_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::IsNetworkLinkUp_t::name[];
 constexpr char GeckoAppShell::IsNetworkLinkUp_t::signature[];
 
-auto
-GeckoAppShell::IsNetworkLinkUp() -> bool
+auto GeckoAppShell::IsNetworkLinkUp() -> bool
 {
-  return mozilla::jni::Method<IsNetworkLinkUp_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<IsNetworkLinkUp_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::IsTablet_t::name[];
 constexpr char GeckoAppShell::IsTablet_t::signature[];
 
-auto
-GeckoAppShell::IsTablet() -> bool
+auto GeckoAppShell::IsTablet() -> bool
 {
-  return mozilla::jni::Method<IsTablet_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<IsTablet_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::KillAnyZombies_t::name[];
 constexpr char GeckoAppShell::KillAnyZombies_t::signature[];
 
-auto
-GeckoAppShell::KillAnyZombies() -> void
+auto GeckoAppShell::KillAnyZombies() -> void
 {
-  return mozilla::jni::Method<KillAnyZombies_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<KillAnyZombies_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::LaunchOrBringToFront_t::name[];
 constexpr char GeckoAppShell::LaunchOrBringToFront_t::signature[];
 
-auto
-GeckoAppShell::LaunchOrBringToFront() -> void
+auto GeckoAppShell::LaunchOrBringToFront() -> void
 {
-  return mozilla::jni::Method<LaunchOrBringToFront_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<LaunchOrBringToFront_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::LoadPluginClass_t::name[];
 constexpr char GeckoAppShell::LoadPluginClass_t::signature[];
 
-auto
-GeckoAppShell::LoadPluginClass(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1)
-  -> mozilla::jni::Class::LocalRef
+auto GeckoAppShell::LoadPluginClass(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1) -> mozilla::jni::Class::LocalRef
 {
-  return mozilla::jni::Method<LoadPluginClass_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<LoadPluginClass_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoAppShell::LockScreenOrientation_t::name[];
 constexpr char GeckoAppShell::LockScreenOrientation_t::signature[];
 
-auto
-GeckoAppShell::LockScreenOrientation(int32_t a0) -> void
+auto GeckoAppShell::LockScreenOrientation(int32_t a0) -> void
 {
-  return mozilla::jni::Method<LockScreenOrientation_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<LockScreenOrientation_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::MarkURIVisited_t::name[];
 constexpr char GeckoAppShell::MarkURIVisited_t::signature[];
 
-auto
-GeckoAppShell::MarkURIVisited(mozilla::jni::String::Param a0) -> void
+auto GeckoAppShell::MarkURIVisited(mozilla::jni::String::Param a0) -> void
 {
-  return mozilla::jni::Method<MarkURIVisited_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<MarkURIVisited_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::MoveTaskToBack_t::name[];
 constexpr char GeckoAppShell::MoveTaskToBack_t::signature[];
 
-auto
-GeckoAppShell::MoveTaskToBack() -> void
+auto GeckoAppShell::MoveTaskToBack() -> void
 {
-  return mozilla::jni::Method<MoveTaskToBack_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<MoveTaskToBack_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::NotifyObservers_t::name[];
 constexpr char GeckoAppShell::NotifyObservers_t::signature[];
 
 constexpr char GeckoAppShell::NotifyAlertListener_t::name[];
 constexpr char GeckoAppShell::NotifyAlertListener_t::signature[];
 
 constexpr char GeckoAppShell::NotifyUriVisited_t::name[];
 constexpr char GeckoAppShell::NotifyUriVisited_t::signature[];
 
 constexpr char GeckoAppShell::NotifyWakeLockChanged_t::name[];
 constexpr char GeckoAppShell::NotifyWakeLockChanged_t::signature[];
 
-auto
-GeckoAppShell::NotifyWakeLockChanged(mozilla::jni::String::Param a0,
-                                     mozilla::jni::String::Param a1) -> void
+auto GeckoAppShell::NotifyWakeLockChanged(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1) -> void
 {
-  return mozilla::jni::Method<NotifyWakeLockChanged_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<NotifyWakeLockChanged_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoAppShell::OnFullScreenPluginHidden_t::name[];
 constexpr char GeckoAppShell::OnFullScreenPluginHidden_t::signature[];
 
 constexpr char GeckoAppShell::OnLocationChanged_t::name[];
 constexpr char GeckoAppShell::OnLocationChanged_t::signature[];
 
 constexpr char GeckoAppShell::OnSensorChanged_t::name[];
 constexpr char GeckoAppShell::OnSensorChanged_t::signature[];
 
 constexpr char GeckoAppShell::OpenUriExternal_t::name[];
 constexpr char GeckoAppShell::OpenUriExternal_t::signature[];
 
-auto
-GeckoAppShell::OpenUriExternal(mozilla::jni::String::Param a0,
-                               mozilla::jni::String::Param a1,
-                               mozilla::jni::String::Param a2,
-                               mozilla::jni::String::Param a3,
-                               mozilla::jni::String::Param a4,
-                               mozilla::jni::String::Param a5) -> bool
+auto GeckoAppShell::OpenUriExternal(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1, mozilla::jni::String::Param a2, mozilla::jni::String::Param a3, mozilla::jni::String::Param a4, mozilla::jni::String::Param a5) -> bool
 {
-  return mozilla::jni::Method<OpenUriExternal_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1, a2, a3, a4, a5);
+    return mozilla::jni::Method<OpenUriExternal_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1, a2, a3, a4, a5);
 }
 
 constexpr char GeckoAppShell::PerformHapticFeedback_t::name[];
 constexpr char GeckoAppShell::PerformHapticFeedback_t::signature[];
 
-auto
-GeckoAppShell::PerformHapticFeedback(bool a0) -> void
+auto GeckoAppShell::PerformHapticFeedback(bool a0) -> void
 {
-  return mozilla::jni::Method<PerformHapticFeedback_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<PerformHapticFeedback_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::RemoveFullScreenPluginView_t::name[];
 constexpr char GeckoAppShell::RemoveFullScreenPluginView_t::signature[];
 
-auto
-GeckoAppShell::RemoveFullScreenPluginView(mozilla::jni::Object::Param a0) -> void
+auto GeckoAppShell::RemoveFullScreenPluginView(mozilla::jni::Object::Param a0) -> void
 {
-  return mozilla::jni::Method<RemoveFullScreenPluginView_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<RemoveFullScreenPluginView_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::ReportJavaCrash_t::name[];
 constexpr char GeckoAppShell::ReportJavaCrash_t::signature[];
 
 constexpr char GeckoAppShell::ScheduleRestart_t::name[];
 constexpr char GeckoAppShell::ScheduleRestart_t::signature[];
 
-auto
-GeckoAppShell::ScheduleRestart() -> void
+auto GeckoAppShell::ScheduleRestart() -> void
 {
-  return mozilla::jni::Method<ScheduleRestart_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<ScheduleRestart_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::SetAlarm_t::name[];
 constexpr char GeckoAppShell::SetAlarm_t::signature[];
 
-auto
-GeckoAppShell::SetAlarm(int32_t a0, int32_t a1) -> bool
+auto GeckoAppShell::SetAlarm(int32_t a0, int32_t a1) -> bool
 {
-  return mozilla::jni::Method<SetAlarm_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<SetAlarm_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoAppShell::SetFullScreen_t::name[];
 constexpr char GeckoAppShell::SetFullScreen_t::signature[];
 
-auto
-GeckoAppShell::SetFullScreen(bool a0) -> void
+auto GeckoAppShell::SetFullScreen(bool a0) -> void
 {
-  return mozilla::jni::Method<SetFullScreen_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<SetFullScreen_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::SetKeepScreenOn_t::name[];
 constexpr char GeckoAppShell::SetKeepScreenOn_t::signature[];
 
-auto
-GeckoAppShell::SetKeepScreenOn(bool a0) -> void
+auto GeckoAppShell::SetKeepScreenOn(bool a0) -> void
 {
-  return mozilla::jni::Method<SetKeepScreenOn_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<SetKeepScreenOn_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::SetScreenDepthOverride_t::name[];
 constexpr char GeckoAppShell::SetScreenDepthOverride_t::signature[];
 
-auto
-GeckoAppShell::SetScreenDepthOverride(int32_t a0) -> void
+auto GeckoAppShell::SetScreenDepthOverride(int32_t a0) -> void
 {
-  return mozilla::jni::Method<SetScreenDepthOverride_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<SetScreenDepthOverride_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::SetURITitle_t::name[];
 constexpr char GeckoAppShell::SetURITitle_t::signature[];
 
-auto
-GeckoAppShell::SetURITitle(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1) -> void
+auto GeckoAppShell::SetURITitle(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1) -> void
 {
-  return mozilla::jni::Method<SetURITitle_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<SetURITitle_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoAppShell::ShowNotification_t::name[];
 constexpr char GeckoAppShell::ShowNotification_t::signature[];
 
-auto
-GeckoAppShell::ShowNotification(mozilla::jni::String::Param a0,
-                                mozilla::jni::String::Param a1,
-                                mozilla::jni::String::Param a2,
-                                mozilla::jni::String::Param a3,
-                                mozilla::jni::String::Param a4,
-                                mozilla::jni::String::Param a5,
-                                mozilla::jni::String::Param a6) -> void
+auto GeckoAppShell::ShowNotification(mozilla::jni::String::Param a0, mozilla::jni::String::Param a1, mozilla::jni::String::Param a2, mozilla::jni::String::Param a3, mozilla::jni::String::Param a4, mozilla::jni::String::Param a5, mozilla::jni::String::Param a6) -> void
 {
-  return mozilla::jni::Method<ShowNotification_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1, a2, a3, a4, a5, a6);
+    return mozilla::jni::Method<ShowNotification_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1, a2, a3, a4, a5, a6);
 }
 
 constexpr char GeckoAppShell::StartGeckoServiceChildProcess_t::name[];
 constexpr char GeckoAppShell::StartGeckoServiceChildProcess_t::signature[];
 
-auto
-GeckoAppShell::StartGeckoServiceChildProcess(mozilla::jni::String::Param a0,
-                                             mozilla::jni::ObjectArray::Param a1,
-                                             int32_t a2,
-                                             int32_t a3) -> int32_t
+auto GeckoAppShell::StartGeckoServiceChildProcess(mozilla::jni::String::Param a0, mozilla::jni::ObjectArray::Param a1, int32_t a2, int32_t a3) -> int32_t
 {
-  return mozilla::jni::Method<StartGeckoServiceChildProcess_t>::Call(
-    GeckoAppShell::Context(), nullptr, a0, a1, a2, a3);
+    return mozilla::jni::Method<StartGeckoServiceChildProcess_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1, a2, a3);
 }
 
 constexpr char GeckoAppShell::SyncNotifyObservers_t::name[];
 constexpr char GeckoAppShell::SyncNotifyObservers_t::signature[];
 
 constexpr char GeckoAppShell::UnlockProfile_t::name[];
 constexpr char GeckoAppShell::UnlockProfile_t::signature[];
 
-auto
-GeckoAppShell::UnlockProfile() -> bool
+auto GeckoAppShell::UnlockProfile() -> bool
 {
-  return mozilla::jni::Method<UnlockProfile_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<UnlockProfile_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::UnlockScreenOrientation_t::name[];
 constexpr char GeckoAppShell::UnlockScreenOrientation_t::signature[];
 
-auto
-GeckoAppShell::UnlockScreenOrientation() -> void
+auto GeckoAppShell::UnlockScreenOrientation() -> void
 {
-  return mozilla::jni::Method<UnlockScreenOrientation_t>::Call(GeckoAppShell::Context(), nullptr);
+    return mozilla::jni::Method<UnlockScreenOrientation_t>::Call(GeckoAppShell::Context(), nullptr);
 }
 
 constexpr char GeckoAppShell::Vibrate_t::name[];
 constexpr char GeckoAppShell::Vibrate_t::signature[];
 
-auto
-GeckoAppShell::Vibrate(int64_t a0) -> void
+auto GeckoAppShell::Vibrate(int64_t a0) -> void
 {
-  return mozilla::jni::Method<Vibrate_t>::Call(GeckoAppShell::Context(), nullptr, a0);
+    return mozilla::jni::Method<Vibrate_t>::Call(GeckoAppShell::Context(), nullptr, a0);
 }
 
 constexpr char GeckoAppShell::Vibrate2_t::name[];
 constexpr char GeckoAppShell::Vibrate2_t::signature[];
 
-auto
-GeckoAppShell::Vibrate(mozilla::jni::LongArray::Param a0, int32_t a1) -> void
+auto GeckoAppShell::Vibrate(mozilla::jni::LongArray::Param a0, int32_t a1) -> void
 {
-  return mozilla::jni::Method<Vibrate2_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<Vibrate2_t>::Call(GeckoAppShell::Context(), nullptr, a0, a1);
 }
 
 const char GeckoAppShell::CameraCallback::name[] =
-  "org/mozilla/gecko/GeckoAppShell$CameraCallback";
+        "org/mozilla/gecko/GeckoAppShell$CameraCallback";
 
 constexpr char GeckoAppShell::CameraCallback::OnFrameData_t::name[];
 constexpr char GeckoAppShell::CameraCallback::OnFrameData_t::signature[];
 
-const char GeckoBatteryManager::name[] = "org/mozilla/gecko/GeckoBatteryManager";
+const char GeckoBatteryManager::name[] =
+        "org/mozilla/gecko/GeckoBatteryManager";
 
 constexpr char GeckoBatteryManager::OnBatteryChange_t::name[];
 constexpr char GeckoBatteryManager::OnBatteryChange_t::signature[];
 
-const char GeckoEditable::name[] = "org/mozilla/gecko/GeckoEditable";
+const char GeckoEditable::name[] =
+        "org/mozilla/gecko/GeckoEditable";
 
 constexpr char GeckoEditable::New_t::name[];
 constexpr char GeckoEditable::New_t::signature[];
 
-auto
-GeckoEditable::New(mozilla::jni::Object::Param a0) -> GeckoEditable::LocalRef
+auto GeckoEditable::New(mozilla::jni::Object::Param a0) -> GeckoEditable::LocalRef
 {
-  return mozilla::jni::Constructor<New_t>::Call(GeckoEditable::Context(), nullptr, a0);
+    return mozilla::jni::Constructor<New_t>::Call(GeckoEditable::Context(), nullptr, a0);
 }
 
 constexpr char GeckoEditable::DisposeNative_t::name[];
 constexpr char GeckoEditable::DisposeNative_t::signature[];
 
 constexpr char GeckoEditable::NotifyIME_t::name[];
 constexpr char GeckoEditable::NotifyIME_t::signature[];
 
-auto
-GeckoEditable::NotifyIME(int32_t a0) const -> void
+auto GeckoEditable::NotifyIME(int32_t a0) const -> void
 {
-  return mozilla::jni::Method<NotifyIME_t>::Call(GeckoEditable::mCtx, nullptr, a0);
+    return mozilla::jni::Method<NotifyIME_t>::Call(GeckoEditable::mCtx, nullptr, a0);
 }
 
 constexpr char GeckoEditable::NotifyIMEContext_t::name[];
 constexpr char GeckoEditable::NotifyIMEContext_t::signature[];
 
-auto
-GeckoEditable::NotifyIMEContext(int32_t a0,
-                                mozilla::jni::String::Param a1,
-                                mozilla::jni::String::Param a2,
-                                mozilla::jni::String::Param a3) const -> void
+auto GeckoEditable::NotifyIMEContext(int32_t a0, mozilla::jni::String::Param a1, mozilla::jni::String::Param a2, mozilla::jni::String::Param a3) const -> void
 {
-  return mozilla::jni::Method<NotifyIMEContext_t>::Call(
-    GeckoEditable::mCtx, nullptr, a0, a1, a2, a3);
+    return mozilla::jni::Method<NotifyIMEContext_t>::Call(GeckoEditable::mCtx, nullptr, a0, a1, a2, a3);
 }
 
 constexpr char GeckoEditable::OnDefaultKeyEvent_t::name[];
 constexpr char GeckoEditable::OnDefaultKeyEvent_t::signature[];
 
-auto
-GeckoEditable::OnDefaultKeyEvent(mozilla::jni::Object::Param a0) const -> void
+auto GeckoEditable::OnDefaultKeyEvent(mozilla::jni::Object::Param a0) const -> void
 {
-  return mozilla::jni::Method<OnDefaultKeyEvent_t>::Call(GeckoEditable::mCtx, nullptr, a0);
+    return mozilla::jni::Method<OnDefaultKeyEvent_t>::Call(GeckoEditable::mCtx, nullptr, a0);
 }
 
 constexpr char GeckoEditable::OnImeAddCompositionRange_t::name[];
 constexpr char GeckoEditable::OnImeAddCompositionRange_t::signature[];
 
 constexpr char GeckoEditable::OnImeReplaceText_t::name[];
 constexpr char GeckoEditable::OnImeReplaceText_t::signature[];
 
@@ -921,266 +777,242 @@ constexpr char GeckoEditable::OnImeUpdat
 constexpr char GeckoEditable::OnImeUpdateComposition_t::signature[];
 
 constexpr char GeckoEditable::OnKeyEvent_t::name[];
 constexpr char GeckoEditable::OnKeyEvent_t::signature[];
 
 constexpr char GeckoEditable::OnSelectionChange_t::name[];
 constexpr char GeckoEditable::OnSelectionChange_t::signature[];
 
-auto
-GeckoEditable::OnSelectionChange(int32_t a0, int32_t a1) const -> void
+auto GeckoEditable::OnSelectionChange(int32_t a0, int32_t a1) const -> void
 {
-  return mozilla::jni::Method<OnSelectionChange_t>::Call(GeckoEditable::mCtx, nullptr, a0, a1);
+    return mozilla::jni::Method<OnSelectionChange_t>::Call(GeckoEditable::mCtx, nullptr, a0, a1);
 }
 
 constexpr char GeckoEditable::OnTextChange_t::name[];
 constexpr char GeckoEditable::OnTextChange_t::signature[];
 
-auto
-GeckoEditable::OnTextChange(mozilla::jni::String::Param a0,
-                            int32_t a1,
-                            int32_t a2,
-                            int32_t a3) const -> void
+auto GeckoEditable::OnTextChange(mozilla::jni::String::Param a0, int32_t a1, int32_t a2, int32_t a3) const -> void
 {
-  return mozilla::jni::Method<OnTextChange_t>::Call(GeckoEditable::mCtx, nullptr, a0, a1, a2, a3);
+    return mozilla::jni::Method<OnTextChange_t>::Call(GeckoEditable::mCtx, nullptr, a0, a1, a2, a3);
 }
 
 constexpr char GeckoEditable::OnViewChange_t::name[];
 constexpr char GeckoEditable::OnViewChange_t::signature[];
 
-auto
-GeckoEditable::OnViewChange(mozilla::jni::Object::Param a0) const -> void
+auto GeckoEditable::OnViewChange(mozilla::jni::Object::Param a0) const -> void
 {
-  return mozilla::jni::Method<OnViewChange_t>::Call(GeckoEditable::mCtx, nullptr, a0);
+    return mozilla::jni::Method<OnViewChange_t>::Call(GeckoEditable::mCtx, nullptr, a0);
 }
 
 constexpr char GeckoEditable::UpdateCompositionRects_t::name[];
 constexpr char GeckoEditable::UpdateCompositionRects_t::signature[];
 
-auto
-GeckoEditable::UpdateCompositionRects(mozilla::jni::ObjectArray::Param a0) const -> void
+auto GeckoEditable::UpdateCompositionRects(mozilla::jni::ObjectArray::Param a0) const -> void
 {
-  return mozilla::jni::Method<UpdateCompositionRects_t>::Call(GeckoEditable::mCtx, nullptr, a0);
+    return mozilla::jni::Method<UpdateCompositionRects_t>::Call(GeckoEditable::mCtx, nullptr, a0);
 }
 
-const char GeckoEditableListener::name[] = "org/mozilla/gecko/GeckoEditableListener";
+const char GeckoEditableListener::name[] =
+        "org/mozilla/gecko/GeckoEditableListener";
 
-const char GeckoNetworkManager::name[] = "org/mozilla/gecko/GeckoNetworkManager";
+const char GeckoNetworkManager::name[] =
+        "org/mozilla/gecko/GeckoNetworkManager";
 
 constexpr char GeckoNetworkManager::OnConnectionChanged_t::name[];
 constexpr char GeckoNetworkManager::OnConnectionChanged_t::signature[];
 
 constexpr char GeckoNetworkManager::OnStatusChanged_t::name[];
 constexpr char GeckoNetworkManager::OnStatusChanged_t::signature[];
 
-const char GeckoScreenOrientation::name[] = "org/mozilla/gecko/GeckoScreenOrientation";
+const char GeckoScreenOrientation::name[] =
+        "org/mozilla/gecko/GeckoScreenOrientation";
 
 constexpr char GeckoScreenOrientation::OnOrientationChange_t::name[];
 constexpr char GeckoScreenOrientation::OnOrientationChange_t::signature[];
 
-const char GeckoThread::name[] = "org/mozilla/gecko/GeckoThread";
+const char GeckoThread::name[] =
+        "org/mozilla/gecko/GeckoThread";
 
 constexpr char GeckoThread::CheckAndSetState_t::name[];
 constexpr char GeckoThread::CheckAndSetState_t::signature[];
 
-auto
-GeckoThread::CheckAndSetState(mozilla::jni::Object::Param a0, mozilla::jni::Object::Param a1)
-  -> bool
+auto GeckoThread::CheckAndSetState(mozilla::jni::Object::Param a0, mozilla::jni::Object::Param a1) -> bool
 {
-  return mozilla::jni::Method<CheckAndSetState_t>::Call(GeckoThread::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<CheckAndSetState_t>::Call(GeckoThread::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoThread::CreateServices_t::name[];
 constexpr char GeckoThread::CreateServices_t::signature[];
 
 constexpr char GeckoThread::OnPause_t::name[];
 constexpr char GeckoThread::OnPause_t::signature[];
 
 constexpr char GeckoThread::OnResume_t::name[];
 constexpr char GeckoThread::OnResume_t::signature[];
 
 constexpr char GeckoThread::PumpMessageLoop_t::name[];
 constexpr char GeckoThread::PumpMessageLoop_t::signature[];
 
-auto
-GeckoThread::PumpMessageLoop(mozilla::jni::Object::Param a0) -> bool
+auto GeckoThread::PumpMessageLoop(mozilla::jni::Object::Param a0) -> bool
 {
-  return mozilla::jni::Method<PumpMessageLoop_t>::Call(GeckoThread::Context(), nullptr, a0);
+    return mozilla::jni::Method<PumpMessageLoop_t>::Call(GeckoThread::Context(), nullptr, a0);
 }
 
 constexpr char GeckoThread::RequestUiThreadCallback_t::name[];
 constexpr char GeckoThread::RequestUiThreadCallback_t::signature[];
 
-auto
-GeckoThread::RequestUiThreadCallback(int64_t a0) -> void
+auto GeckoThread::RequestUiThreadCallback(int64_t a0) -> void
 {
-  return mozilla::jni::Method<RequestUiThreadCallback_t>::Call(
-    GeckoThread::Context(), nullptr, a0);
+    return mozilla::jni::Method<RequestUiThreadCallback_t>::Call(GeckoThread::Context(), nullptr, a0);
 }
 
 constexpr char GeckoThread::RunUiThreadCallback_t::name[];
 constexpr char GeckoThread::RunUiThreadCallback_t::signature[];
 
 constexpr char GeckoThread::SetState_t::name[];
 constexpr char GeckoThread::SetState_t::signature[];
 
-auto
-GeckoThread::SetState(mozilla::jni::Object::Param a0) -> void
+auto GeckoThread::SetState(mozilla::jni::Object::Param a0) -> void
 {
-  return mozilla::jni::Method<SetState_t>::Call(GeckoThread::Context(), nullptr, a0);
+    return mozilla::jni::Method<SetState_t>::Call(GeckoThread::Context(), nullptr, a0);
 }
 
 constexpr char GeckoThread::SpeculativeConnect_t::name[];
 constexpr char GeckoThread::SpeculativeConnect_t::signature[];
 
 constexpr char GeckoThread::WaitOnGecko_t::name[];
 constexpr char GeckoThread::WaitOnGecko_t::signature[];
 
 constexpr char GeckoThread::ClsLoader_t::name[];
 constexpr char GeckoThread::ClsLoader_t::signature[];
 
-auto
-GeckoThread::ClsLoader() -> mozilla::jni::Object::LocalRef
+auto GeckoThread::ClsLoader() -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Field<ClsLoader_t>::Get(GeckoThread::Context(), nullptr);
+    return mozilla::jni::Field<ClsLoader_t>::Get(GeckoThread::Context(), nullptr);
 }
 
 constexpr char GeckoThread::MsgQueue_t::name[];
 constexpr char GeckoThread::MsgQueue_t::signature[];
 
-auto
-GeckoThread::MsgQueue() -> mozilla::jni::Object::LocalRef
+auto GeckoThread::MsgQueue() -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Field<MsgQueue_t>::Get(GeckoThread::Context(), nullptr);
+    return mozilla::jni::Field<MsgQueue_t>::Get(GeckoThread::Context(), nullptr);
 }
 
-auto
-GeckoThread::MsgQueue(mozilla::jni::Object::Param a0) -> void
+auto GeckoThread::MsgQueue(mozilla::jni::Object::Param a0) -> void
 {
-  return mozilla::jni::Field<MsgQueue_t>::Set(GeckoThread::Context(), nullptr, a0);
+    return mozilla::jni::Field<MsgQueue_t>::Set(GeckoThread::Context(), nullptr, a0);
 }
 
-const char GeckoThread::State::name[] = "org/mozilla/gecko/GeckoThread$State";
+const char GeckoThread::State::name[] =
+        "org/mozilla/gecko/GeckoThread$State";
 
 constexpr char GeckoThread::State::EXITED_t::name[];
 constexpr char GeckoThread::State::EXITED_t::signature[];
 
-auto
-GeckoThread::State::EXITED() -> State::LocalRef
+auto GeckoThread::State::EXITED() -> State::LocalRef
 {
-  return mozilla::jni::Field<EXITED_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<EXITED_t>::Get(State::Context(), nullptr);
 }
 
 constexpr char GeckoThread::State::EXITING_t::name[];
 constexpr char GeckoThread::State::EXITING_t::signature[];
 
-auto
-GeckoThread::State::EXITING() -> State::LocalRef
+auto GeckoThread::State::EXITING() -> State::LocalRef
 {
-  return mozilla::jni::Field<EXITING_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<EXITING_t>::Get(State::Context(), nullptr);
 }
 
 constexpr char GeckoThread::State::INITIAL_t::name[];
 constexpr char GeckoThread::State::INITIAL_t::signature[];
 
-auto
-GeckoThread::State::INITIAL() -> State::LocalRef
+auto GeckoThread::State::INITIAL() -> State::LocalRef
 {
-  return mozilla::jni::Field<INITIAL_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<INITIAL_t>::Get(State::Context(), nullptr);
 }
 
 constexpr char GeckoThread::State::JNI_READY_t::name[];
 constexpr char GeckoThread::State::JNI_READY_t::signature[];
 
-auto
-GeckoThread::State::JNI_READY() -> State::LocalRef
+auto GeckoThread::State::JNI_READY() -> State::LocalRef
 {
-  return mozilla::jni::Field<JNI_READY_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<JNI_READY_t>::Get(State::Context(), nullptr);
 }
 
 constexpr char GeckoThread::State::LAUNCHED_t::name[];
 constexpr char GeckoThread::State::LAUNCHED_t::signature[];
 
-auto
-GeckoThread::State::LAUNCHED() -> State::LocalRef
+auto GeckoThread::State::LAUNCHED() -> State::LocalRef
 {
-  return mozilla::jni::Field<LAUNCHED_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<LAUNCHED_t>::Get(State::Context(), nullptr);
 }
 
 constexpr char GeckoThread::State::LIBS_READY_t::name[];
 constexpr char GeckoThread::State::LIBS_READY_t::signature[];
 
-auto
-GeckoThread::State::LIBS_READY() -> State::LocalRef
+auto GeckoThread::State::LIBS_READY() -> State::LocalRef
 {
-  return mozilla::jni::Field<LIBS_READY_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<LIBS_READY_t>::Get(State::Context(), nullptr);
 }
 
 constexpr char GeckoThread::State::MOZGLUE_READY_t::name[];
 constexpr char GeckoThread::State::MOZGLUE_READY_t::signature[];
 
-auto
-GeckoThread::State::MOZGLUE_READY() -> State::LocalRef
+auto GeckoThread::State::MOZGLUE_READY() -> State::LocalRef
 {
-  return mozilla::jni::Field<MOZGLUE_READY_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<MOZGLUE_READY_t>::Get(State::Context(), nullptr);
 }
 
 constexpr char GeckoThread::State::PROFILE_READY_t::name[];
 constexpr char GeckoThread::State::PROFILE_READY_t::signature[];
 
-auto
-GeckoThread::State::PROFILE_READY() -> State::LocalRef
+auto GeckoThread::State::PROFILE_READY() -> State::LocalRef
 {
-  return mozilla::jni::Field<PROFILE_READY_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<PROFILE_READY_t>::Get(State::Context(), nullptr);
 }
 
 constexpr char GeckoThread::State::RUNNING_t::name[];
 constexpr char GeckoThread::State::RUNNING_t::signature[];
 
-auto
-GeckoThread::State::RUNNING() -> State::LocalRef
+auto GeckoThread::State::RUNNING() -> State::LocalRef
 {
-  return mozilla::jni::Field<RUNNING_t>::Get(State::Context(), nullptr);
+    return mozilla::jni::Field<RUNNING_t>::Get(State::Context(), nullptr);
 }
 
-const char GeckoView::name[] = "org/mozilla/gecko/GeckoView";
+const char GeckoView::name[] =
+        "org/mozilla/gecko/GeckoView";
 
-const char GeckoView::Window::name[] = "org/mozilla/gecko/GeckoView$Window";
+const char GeckoView::Window::name[] =
+        "org/mozilla/gecko/GeckoView$Window";
 
 constexpr char GeckoView::Window::Close_t::name[];
 constexpr char GeckoView::Window::Close_t::signature[];
 
 constexpr char GeckoView::Window::DisposeNative_t::name[];
 constexpr char GeckoView::Window::DisposeNative_t::signature[];
 
 constexpr char GeckoView::Window::LoadUri_t::name[];
 constexpr char GeckoView::Window::LoadUri_t::signature[];
 
 constexpr char GeckoView::Window::Open_t::name[];
 constexpr char GeckoView::Window::Open_t::signature[];
 
 constexpr char GeckoView::Window::Reattach_t::name[];
 constexpr char GeckoView::Window::Reattach_t::signature[];
 
-const char PrefsHelper::name[] = "org/mozilla/gecko/PrefsHelper";
+const char PrefsHelper::name[] =
+        "org/mozilla/gecko/PrefsHelper";
 
 constexpr char PrefsHelper::CallPrefHandler_t::name[];
 constexpr char PrefsHelper::CallPrefHandler_t::signature[];
 
-auto
-PrefsHelper::CallPrefHandler(mozilla::jni::Object::Param a0,
-                             int32_t a1,
-                             mozilla::jni::String::Param a2,
-                             bool a3,
-                             int32_t a4,
-                             mozilla::jni::String::Param a5) -> void
+auto PrefsHelper::CallPrefHandler(mozilla::jni::Object::Param a0, int32_t a1, mozilla::jni::String::Param a2, bool a3, int32_t a4, mozilla::jni::String::Param a5) -> void
 {
-  return mozilla::jni::Method<CallPrefHandler_t>::Call(
-    PrefsHelper::Context(), nullptr, a0, a1, a2, a3, a4, a5);
+    return mozilla::jni::Method<CallPrefHandler_t>::Call(PrefsHelper::Context(), nullptr, a0, a1, a2, a3, a4, a5);
 }
 
 constexpr char PrefsHelper::AddObserver_t::name[];
 constexpr char PrefsHelper::AddObserver_t::signature[];
 
 constexpr char PrefsHelper::GetPrefs_t::name[];
 constexpr char PrefsHelper::GetPrefs_t::signature[];
 
@@ -1188,313 +1020,241 @@ constexpr char PrefsHelper::RemoveObserv
 constexpr char PrefsHelper::RemoveObserver_t::signature[];
 
 constexpr char PrefsHelper::SetPref_t::name[];
 constexpr char PrefsHelper::SetPref_t::signature[];
 
 constexpr char PrefsHelper::OnPrefChange_t::name[];
 constexpr char PrefsHelper::OnPrefChange_t::signature[];
 
-auto
-PrefsHelper::OnPrefChange(mozilla::jni::String::Param a0,
-                          int32_t a1,
-                          bool a2,
-                          int32_t a3,
-                          mozilla::jni::String::Param a4) -> void
+auto PrefsHelper::OnPrefChange(mozilla::jni::String::Param a0, int32_t a1, bool a2, int32_t a3, mozilla::jni::String::Param a4) -> void
 {
-  return mozilla::jni::Method<OnPrefChange_t>::Call(
-    PrefsHelper::Context(), nullptr, a0, a1, a2, a3, a4);
+    return mozilla::jni::Method<OnPrefChange_t>::Call(PrefsHelper::Context(), nullptr, a0, a1, a2, a3, a4);
 }
 
-const char ScreenManagerHelper::name[] = "org/mozilla/gecko/ScreenManagerHelper";
+const char ScreenManagerHelper::name[] =
+        "org/mozilla/gecko/ScreenManagerHelper";
 
 constexpr char ScreenManagerHelper::AddDisplay_t::name[];
 constexpr char ScreenManagerHelper::AddDisplay_t::signature[];
 
 constexpr char ScreenManagerHelper::RemoveDisplay_t::name[];
 constexpr char ScreenManagerHelper::RemoveDisplay_t::signature[];
 
-const char SurfaceTextureListener::name[] = "org/mozilla/gecko/SurfaceTextureListener";
+const char SurfaceTextureListener::name[] =
+        "org/mozilla/gecko/SurfaceTextureListener";
 
 constexpr char SurfaceTextureListener::New_t::name[];
 constexpr char SurfaceTextureListener::New_t::signature[];
 
-auto
-SurfaceTextureListener::New() -> SurfaceTextureListener::LocalRef
+auto SurfaceTextureListener::New() -> SurfaceTextureListener::LocalRef
 {
-  return mozilla::jni::Constructor<New_t>::Call(SurfaceTextureListener::Context(), nullptr);
+    return mozilla::jni::Constructor<New_t>::Call(SurfaceTextureListener::Context(), nullptr);
 }
 
 constexpr char SurfaceTextureListener::OnFrameAvailable_t::name[];
 constexpr char SurfaceTextureListener::OnFrameAvailable_t::signature[];
 
-const char GeckoLayerClient::name[] = "org/mozilla/gecko/gfx/GeckoLayerClient";
+const char GeckoLayerClient::name[] =
+        "org/mozilla/gecko/gfx/GeckoLayerClient";
 
 constexpr char GeckoLayerClient::ContentDocumentChanged_t::name[];
 constexpr char GeckoLayerClient::ContentDocumentChanged_t::signature[];
 
-auto
-GeckoLayerClient::ContentDocumentChanged() const -> void
+auto GeckoLayerClient::ContentDocumentChanged() const -> void
 {
-  return mozilla::jni::Method<ContentDocumentChanged_t>::Call(GeckoLayerClient::mCtx, nullptr);
+    return mozilla::jni::Method<ContentDocumentChanged_t>::Call(GeckoLayerClient::mCtx, nullptr);
 }
 
 constexpr char GeckoLayerClient::CreateFrame_t::name[];
 constexpr char GeckoLayerClient::CreateFrame_t::signature[];
 
-auto
-GeckoLayerClient::CreateFrame() const -> mozilla::jni::Object::LocalRef
+auto GeckoLayerClient::CreateFrame() const -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<CreateFrame_t>::Call(GeckoLayerClient::mCtx, nullptr);
+    return mozilla::jni::Method<CreateFrame_t>::Call(GeckoLayerClient::mCtx, nullptr);
 }
 
 constexpr char GeckoLayerClient::IsContentDocumentDisplayed_t::name[];
 constexpr char GeckoLayerClient::IsContentDocumentDisplayed_t::signature[];
 
-auto
-GeckoLayerClient::IsContentDocumentDisplayed() const -> bool
+auto GeckoLayerClient::IsContentDocumentDisplayed() const -> bool
 {
-  return mozilla::jni::Method<IsContentDocumentDisplayed_t>::Call(GeckoLayerClient::mCtx, nullptr);
+    return mozilla::jni::Method<IsContentDocumentDisplayed_t>::Call(GeckoLayerClient::mCtx, nullptr);
 }
 
 constexpr char GeckoLayerClient::OnGeckoReady_t::name[];
 constexpr char GeckoLayerClient::OnGeckoReady_t::signature[];
 
-auto
-GeckoLayerClient::OnGeckoReady() const -> void
+auto GeckoLayerClient::OnGeckoReady() const -> void
 {
-  return mozilla::jni::Method<OnGeckoReady_t>::Call(GeckoLayerClient::mCtx, nullptr);
+    return mozilla::jni::Method<OnGeckoReady_t>::Call(GeckoLayerClient::mCtx, nullptr);
 }
 
 constexpr char GeckoLayerClient::SetFirstPaintViewport_t::name[];
 constexpr char GeckoLayerClient::SetFirstPaintViewport_t::signature[];
 
-auto
-GeckoLayerClient::SetFirstPaintViewport(float a0,
-                                        float a1,
-                                        float a2,
-                                        float a3,
-                                        float a4,
-                                        float a5,
-                                        float a6) const -> void
+auto GeckoLayerClient::SetFirstPaintViewport(float a0, float a1, float a2, float a3, float a4, float a5, float a6) const -> void
 {
-  return mozilla::jni::Method<SetFirstPaintViewport_t>::Call(
-    GeckoLayerClient::mCtx, nullptr, a0, a1, a2, a3, a4, a5, a6);
+    return mozilla::jni::Method<SetFirstPaintViewport_t>::Call(GeckoLayerClient::mCtx, nullptr, a0, a1, a2, a3, a4, a5, a6);
 }
 
 constexpr char GeckoLayerClient::SyncFrameMetrics_t::name[];
 constexpr char GeckoLayerClient::SyncFrameMetrics_t::signature[];
 
-auto
-GeckoLayerClient::SyncFrameMetrics(float a0,
-                                   float a1,
-                                   float a2,
-                                   float a3,
-                                   float a4,
-                                   float a5,
-                                   float a6,
-                                   int32_t a7,
-                                   int32_t a8,
-                                   int32_t a9,
-                                   int32_t a10,
-                                   float a11,
-                                   bool a12,
-                                   int32_t a13) const -> mozilla::jni::Object::LocalRef
+auto GeckoLayerClient::SyncFrameMetrics(float a0, float a1, float a2, float a3, float a4, float a5, float a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10, float a11, bool a12, int32_t a13) const -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<SyncFrameMetrics_t>::Call(
-    GeckoLayerClient::mCtx, nullptr, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
+    return mozilla::jni::Method<SyncFrameMetrics_t>::Call(GeckoLayerClient::mCtx, nullptr, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
 }
 
 constexpr char GeckoLayerClient::SynthesizeNativeMouseEvent_t::name[];
 constexpr char GeckoLayerClient::SynthesizeNativeMouseEvent_t::signature[];
 
-auto
-GeckoLayerClient::SynthesizeNativeMouseEvent(int32_t a0, int32_t a1, int32_t a2) const -> void
+auto GeckoLayerClient::SynthesizeNativeMouseEvent(int32_t a0, int32_t a1, int32_t a2) const -> void
 {
-  return mozilla::jni::Method<SynthesizeNativeMouseEvent_t>::Call(
-    GeckoLayerClient::mCtx, nullptr, a0, a1, a2);
+    return mozilla::jni::Method<SynthesizeNativeMouseEvent_t>::Call(GeckoLayerClient::mCtx, nullptr, a0, a1, a2);
 }
 
 constexpr char GeckoLayerClient::SynthesizeNativeTouchPoint_t::name[];
 constexpr char GeckoLayerClient::SynthesizeNativeTouchPoint_t::signature[];
 
-auto
-GeckoLayerClient::SynthesizeNativeTouchPoint(int32_t a0,
-                                             int32_t a1,
-                                             int32_t a2,
-                                             int32_t a3,
-                                             double a4,
-                                             int32_t a5) const -> void
+auto GeckoLayerClient::SynthesizeNativeTouchPoint(int32_t a0, int32_t a1, int32_t a2, int32_t a3, double a4, int32_t a5) const -> void
 {
-  return mozilla::jni::Method<SynthesizeNativeTouchPoint_t>::Call(
-    GeckoLayerClient::mCtx, nullptr, a0, a1, a2, a3, a4, a5);
+    return mozilla::jni::Method<SynthesizeNativeTouchPoint_t>::Call(GeckoLayerClient::mCtx, nullptr, a0, a1, a2, a3, a4, a5);
 }
 
 constexpr char GeckoLayerClient::ClearColor_t::name[];
 constexpr char GeckoLayerClient::ClearColor_t::signature[];
 
-auto
-GeckoLayerClient::ClearColor() const -> int32_t
+auto GeckoLayerClient::ClearColor() const -> int32_t
 {
-  return mozilla::jni::Field<ClearColor_t>::Get(GeckoLayerClient::mCtx, nullptr);
+    return mozilla::jni::Field<ClearColor_t>::Get(GeckoLayerClient::mCtx, nullptr);
 }
 
-auto
-GeckoLayerClient::ClearColor(int32_t a0) const -> void
+auto GeckoLayerClient::ClearColor(int32_t a0) const -> void
 {
-  return mozilla::jni::Field<ClearColor_t>::Set(GeckoLayerClient::mCtx, nullptr, a0);
+    return mozilla::jni::Field<ClearColor_t>::Set(GeckoLayerClient::mCtx, nullptr, a0);
 }
 
-const char ImmutableViewportMetrics::name[] = "org/mozilla/gecko/gfx/ImmutableViewportMetrics";
+const char ImmutableViewportMetrics::name[] =
+        "org/mozilla/gecko/gfx/ImmutableViewportMetrics";
 
 constexpr char ImmutableViewportMetrics::New_t::name[];
 constexpr char ImmutableViewportMetrics::New_t::signature[];
 
-auto
-ImmutableViewportMetrics::New(float a0,
-                              float a1,
-                              float a2,
-                              float a3,
-                              float a4,
-                              float a5,
-                              float a6,
-                              float a7,
-                              float a8,
-                              float a9,
-                              int32_t a10,
-                              int32_t a11,
-                              float a12) -> ImmutableViewportMetrics::LocalRef
+auto ImmutableViewportMetrics::New(float a0, float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8, float a9, int32_t a10, int32_t a11, float a12) -> ImmutableViewportMetrics::LocalRef
 {
-  return mozilla::jni::Constructor<New_t>::Call(ImmutableViewportMetrics::Context(),
-                                                nullptr,
-                                                a0,
-                                                a1,
-                                                a2,
-                                                a3,
-                                                a4,
-                                                a5,
-                                                a6,
-                                                a7,
-                                                a8,
-                                                a9,
-                                                a10,
-                                                a11,
-                                                a12);
+    return mozilla::jni::Constructor<New_t>::Call(ImmutableViewportMetrics::Context(), nullptr, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
 }
 
-const char LayerRenderer::name[] = "org/mozilla/gecko/gfx/LayerRenderer";
+const char LayerRenderer::name[] =
+        "org/mozilla/gecko/gfx/LayerRenderer";
 
-const char LayerRenderer::Frame::name[] = "org/mozilla/gecko/gfx/LayerRenderer$Frame";
+const char LayerRenderer::Frame::name[] =
+        "org/mozilla/gecko/gfx/LayerRenderer$Frame";
 
 constexpr char LayerRenderer::Frame::BeginDrawing_t::name[];
 constexpr char LayerRenderer::Frame::BeginDrawing_t::signature[];
 
-auto
-LayerRenderer::Frame::BeginDrawing() const -> void
+auto LayerRenderer::Frame::BeginDrawing() const -> void
 {
-  return mozilla::jni::Method<BeginDrawing_t>::Call(Frame::mCtx, nullptr);
+    return mozilla::jni::Method<BeginDrawing_t>::Call(Frame::mCtx, nullptr);
 }
 
 constexpr char LayerRenderer::Frame::EndDrawing_t::name[];
 constexpr char LayerRenderer::Frame::EndDrawing_t::signature[];
 
-auto
-LayerRenderer::Frame::EndDrawing() const -> void
+auto LayerRenderer::Frame::EndDrawing() const -> void
 {
-  return mozilla::jni::Method<EndDrawing_t>::Call(Frame::mCtx, nullptr);
+    return mozilla::jni::Method<EndDrawing_t>::Call(Frame::mCtx, nullptr);
 }
 
-const char LayerView::name[] = "org/mozilla/gecko/gfx/LayerView";
+const char LayerView::name[] =
+        "org/mozilla/gecko/gfx/LayerView";
 
 constexpr char LayerView::GetCompositor_t::name[];
 constexpr char LayerView::GetCompositor_t::signature[];
 
-auto
-LayerView::GetCompositor() const -> mozilla::jni::Object::LocalRef
+auto LayerView::GetCompositor() const -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<GetCompositor_t>::Call(LayerView::mCtx, nullptr);
+    return mozilla::jni::Method<GetCompositor_t>::Call(LayerView::mCtx, nullptr);
 }
 
 constexpr char LayerView::UpdateZoomedView_t::name[];
 constexpr char LayerView::UpdateZoomedView_t::signature[];
 
-auto
-LayerView::UpdateZoomedView(mozilla::jni::ByteBuffer::Param a0) -> void
+auto LayerView::UpdateZoomedView(mozilla::jni::ByteBuffer::Param a0) -> void
 {
-  return mozilla::jni::Method<UpdateZoomedView_t>::Call(LayerView::Context(), nullptr, a0);
+    return mozilla::jni::Method<UpdateZoomedView_t>::Call(LayerView::Context(), nullptr, a0);
 }
 
 constexpr char LayerView::CompositorCreated_t::name[];
 constexpr char LayerView::CompositorCreated_t::signature[];
 
-auto
-LayerView::CompositorCreated() const -> bool
+auto LayerView::CompositorCreated() const -> bool
 {
-  return mozilla::jni::Field<CompositorCreated_t>::Get(LayerView::mCtx, nullptr);
+    return mozilla::jni::Field<CompositorCreated_t>::Get(LayerView::mCtx, nullptr);
 }
 
-auto
-LayerView::CompositorCreated(bool a0) const -> void
+auto LayerView::CompositorCreated(bool a0) const -> void
 {
-  return mozilla::jni::Field<CompositorCreated_t>::Set(LayerView::mCtx, nullptr, a0);
+    return mozilla::jni::Field<CompositorCreated_t>::Set(LayerView::mCtx, nullptr, a0);
 }
 
-const char LayerView::Compositor::name[] = "org/mozilla/gecko/gfx/LayerView$Compositor";
+const char LayerView::Compositor::name[] =
+        "org/mozilla/gecko/gfx/LayerView$Compositor";
 
 constexpr char LayerView::Compositor::AttachToJava_t::name[];
 constexpr char LayerView::Compositor::AttachToJava_t::signature[];
 
 constexpr char LayerView::Compositor::CreateCompositor_t::name[];
 constexpr char LayerView::Compositor::CreateCompositor_t::signature[];
 
 constexpr char LayerView::Compositor::Destroy_t::name[];
 constexpr char LayerView::Compositor::Destroy_t::signature[];
 
-auto
-LayerView::Compositor::Destroy() const -> void
+auto LayerView::Compositor::Destroy() const -> void
 {
-  return mozilla::jni::Method<Destroy_t>::Call(Compositor::mCtx, nullptr);
+    return mozilla::jni::Method<Destroy_t>::Call(Compositor::mCtx, nullptr);
 }
 
 constexpr char LayerView::Compositor::DisposeNative_t::name[];
 constexpr char LayerView::Compositor::DisposeNative_t::signature[];
 
 constexpr char LayerView::Compositor::OnSizeChanged_t::name[];
 constexpr char LayerView::Compositor::OnSizeChanged_t::signature[];
 
 constexpr char LayerView::Compositor::Reattach_t::name[];
 constexpr char LayerView::Compositor::Reattach_t::signature[];
 
-auto
-LayerView::Compositor::Reattach() const -> void
+auto LayerView::Compositor::Reattach() const -> void
 {
-  return mozilla::jni::Method<Reattach_t>::Call(Compositor::mCtx, nullptr);
+    return mozilla::jni::Method<Reattach_t>::Call(Compositor::mCtx, nullptr);
 }
 
 constexpr char LayerView::Compositor::SyncInvalidateAndScheduleComposite_t::name[];
 constexpr char LayerView::Compositor::SyncInvalidateAndScheduleComposite_t::signature[];
 
 constexpr char LayerView::Compositor::SyncPauseCompositor_t::name[];
 constexpr char LayerView::Compositor::SyncPauseCompositor_t::signature[];
 
 constexpr char LayerView::Compositor::SyncResumeResizeCompositor_t::name[];
 constexpr char LayerView::Compositor::SyncResumeResizeCompositor_t::signature[];
 
-const char NativePanZoomController::name[] = "org/mozilla/gecko/gfx/NativePanZoomController";
+const char NativePanZoomController::name[] =
+        "org/mozilla/gecko/gfx/NativePanZoomController";
 
 constexpr char NativePanZoomController::AdjustScrollForSurfaceShift_t::name[];
 constexpr char NativePanZoomController::AdjustScrollForSurfaceShift_t::signature[];
 
 constexpr char NativePanZoomController::Destroy_t::name[];
 constexpr char NativePanZoomController::Destroy_t::signature[];
 
-auto
-NativePanZoomController::Destroy() const -> void
+auto NativePanZoomController::Destroy() const -> void
 {
-  return mozilla::jni::Method<Destroy_t>::Call(NativePanZoomController::mCtx, nullptr);
+    return mozilla::jni::Method<Destroy_t>::Call(NativePanZoomController::mCtx, nullptr);
 }
 
 constexpr char NativePanZoomController::DisposeNative_t::name[];
 constexpr char NativePanZoomController::DisposeNative_t::signature[];
 
 constexpr char NativePanZoomController::HandleMotionEvent_t::name[];
 constexpr char NativePanZoomController::HandleMotionEvent_t::signature[];
 
@@ -1508,735 +1268,640 @@ constexpr char NativePanZoomController::
 constexpr char NativePanZoomController::HandleScrollEvent_t::signature[];
 
 constexpr char NativePanZoomController::SetIsLongpressEnabled_t::name[];
 constexpr char NativePanZoomController::SetIsLongpressEnabled_t::signature[];
 
 constexpr char NativePanZoomController::OnSelectionDragState_t::name[];
 constexpr char NativePanZoomController::OnSelectionDragState_t::signature[];
 
-auto
-NativePanZoomController::OnSelectionDragState(bool a0) const -> void
+auto NativePanZoomController::OnSelectionDragState(bool a0) const -> void
 {
-  return mozilla::jni::Method<OnSelectionDragState_t>::Call(
-    NativePanZoomController::mCtx, nullptr, a0);
+    return mozilla::jni::Method<OnSelectionDragState_t>::Call(NativePanZoomController::mCtx, nullptr, a0);
 }
 
 constexpr char NativePanZoomController::SetScrollingRootContent_t::name[];
 constexpr char NativePanZoomController::SetScrollingRootContent_t::signature[];
 
-auto
-NativePanZoomController::SetScrollingRootContent(bool a0) const -> void
+auto NativePanZoomController::SetScrollingRootContent(bool a0) const -> void
 {
-  return mozilla::jni::Method<SetScrollingRootContent_t>::Call(
-    NativePanZoomController::mCtx, nullptr, a0);
+    return mozilla::jni::Method<SetScrollingRootContent_t>::Call(NativePanZoomController::mCtx, nullptr, a0);
 }
 
 constexpr char NativePanZoomController::UpdateOverscrollOffset_t::name[];
 constexpr char NativePanZoomController::UpdateOverscrollOffset_t::signature[];
 
-auto
-NativePanZoomController::UpdateOverscrollOffset(float a0, float a1) const -> void
+auto NativePanZoomController::UpdateOverscrollOffset(float a0, float a1) const -> void
 {
-  return mozilla::jni::Method<UpdateOverscrollOffset_t>::Call(
-    NativePanZoomController::mCtx, nullptr, a0, a1);
+    return mozilla::jni::Method<UpdateOverscrollOffset_t>::Call(NativePanZoomController::mCtx, nullptr, a0, a1);
 }
 
 constexpr char NativePanZoomController::UpdateOverscrollVelocity_t::name[];
 constexpr char NativePanZoomController::UpdateOverscrollVelocity_t::signature[];
 
-auto
-NativePanZoomController::UpdateOverscrollVelocity(float a0, float a1) const -> void
+auto NativePanZoomController::UpdateOverscrollVelocity(float a0, float a1) const -> void
 {
-  return mozilla::jni::Method<UpdateOverscrollVelocity_t>::Call(
-    NativePanZoomController::mCtx, nullptr, a0, a1);
+    return mozilla::jni::Method<UpdateOverscrollVelocity_t>::Call(NativePanZoomController::mCtx, nullptr, a0, a1);
 }
 
-const char StackScroller::name[] = "org/mozilla/gecko/gfx/StackScroller";
+const char StackScroller::name[] =
+        "org/mozilla/gecko/gfx/StackScroller";
 
 constexpr char StackScroller::New_t::name[];
 constexpr char StackScroller::New_t::signature[];
 
-auto
-StackScroller::New(mozilla::jni::Object::Param a0, StackScroller::LocalRef* a1) -> nsresult
+auto StackScroller::New(mozilla::jni::Object::Param a0, StackScroller::LocalRef* a1) -> nsresult
 {
-  MOZ_ASSERT(a1);
-  nsresult rv = NS_OK;
-  *a1 = mozilla::jni::Constructor<New_t>::Call(StackScroller::Context(), &rv, a0);
-  return rv;
+    MOZ_ASSERT(a1);
+    nsresult rv = NS_OK;
+    *a1 = mozilla::jni::Constructor<New_t>::Call(StackScroller::Context(), &rv, a0);
+    return rv;
 }
 
 constexpr char StackScroller::AbortAnimation_t::name[];
 constexpr char StackScroller::AbortAnimation_t::signature[];
 
-auto
-StackScroller::AbortAnimation() const -> nsresult
+auto StackScroller::AbortAnimation() const -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Method<AbortAnimation_t>::Call(StackScroller::mCtx, &rv);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Method<AbortAnimation_t>::Call(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::ComputeScrollOffset_t::name[];
 constexpr char StackScroller::ComputeScrollOffset_t::signature[];
 
-auto
-StackScroller::ComputeScrollOffset(int64_t a0, bool* a1) const -> nsresult
+auto StackScroller::ComputeScrollOffset(int64_t a0, bool* a1) const -> nsresult
 {
-  MOZ_ASSERT(a1);
-  nsresult rv = NS_OK;
-  *a1 = mozilla::jni::Method<ComputeScrollOffset_t>::Call(StackScroller::mCtx, &rv, a0);
-  return rv;
+    MOZ_ASSERT(a1);
+    nsresult rv = NS_OK;
+    *a1 = mozilla::jni::Method<ComputeScrollOffset_t>::Call(StackScroller::mCtx, &rv, a0);
+    return rv;
 }
 
 constexpr char StackScroller::Fling_t::name[];
 constexpr char StackScroller::Fling_t::signature[];
 
-auto
-StackScroller::Fling(int32_t a0,
-                     int32_t a1,
-                     int32_t a2,
-                     int32_t a3,
-                     int32_t a4,
-                     int32_t a5,
-                     int32_t a6,
-                     int32_t a7,
-                     int32_t a8,
-                     int32_t a9,
-                     int64_t a10) const -> nsresult
+auto StackScroller::Fling(int32_t a0, int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int64_t a10) const -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Method<Fling_t>::Call(
-    StackScroller::mCtx, &rv, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Method<Fling_t>::Call(StackScroller::mCtx, &rv, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
+    return rv;
 }
 
 constexpr char StackScroller::ForceFinished_t::name[];
 constexpr char StackScroller::ForceFinished_t::signature[];
 
-auto
-StackScroller::ForceFinished(bool a0) const -> nsresult
+auto StackScroller::ForceFinished(bool a0) const -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Method<ForceFinished_t>::Call(StackScroller::mCtx, &rv, a0);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Method<ForceFinished_t>::Call(StackScroller::mCtx, &rv, a0);
+    return rv;
 }
 
 constexpr char StackScroller::GetCurrSpeedX_t::name[];
 constexpr char StackScroller::GetCurrSpeedX_t::signature[];
 
-auto
-StackScroller::GetCurrSpeedX(float* a0) const -> nsresult
+auto StackScroller::GetCurrSpeedX(float* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Method<GetCurrSpeedX_t>::Call(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Method<GetCurrSpeedX_t>::Call(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::GetCurrSpeedY_t::name[];
 constexpr char StackScroller::GetCurrSpeedY_t::signature[];
 
-auto
-StackScroller::GetCurrSpeedY(float* a0) const -> nsresult
+auto StackScroller::GetCurrSpeedY(float* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Method<GetCurrSpeedY_t>::Call(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Method<GetCurrSpeedY_t>::Call(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::GetCurrX_t::name[];
 constexpr char StackScroller::GetCurrX_t::signature[];
 
-auto
-StackScroller::GetCurrX(int32_t* a0) const -> nsresult
+auto StackScroller::GetCurrX(int32_t* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Method<GetCurrX_t>::Call(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Method<GetCurrX_t>::Call(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::GetCurrY_t::name[];
 constexpr char StackScroller::GetCurrY_t::signature[];
 
-auto
-StackScroller::GetCurrY(int32_t* a0) const -> nsresult
+auto StackScroller::GetCurrY(int32_t* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Method<GetCurrY_t>::Call(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Method<GetCurrY_t>::Call(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::GetFinalX_t::name[];
 constexpr char StackScroller::GetFinalX_t::signature[];
 
-auto
-StackScroller::GetFinalX(int32_t* a0) const -> nsresult
+auto StackScroller::GetFinalX(int32_t* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Method<GetFinalX_t>::Call(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Method<GetFinalX_t>::Call(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::GetFinalY_t::name[];
 constexpr char StackScroller::GetFinalY_t::signature[];
 
-auto
-StackScroller::GetFinalY(int32_t* a0) const -> nsresult
+auto StackScroller::GetFinalY(int32_t* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Method<GetFinalY_t>::Call(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Method<GetFinalY_t>::Call(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::InitContants_t::name[];
 constexpr char StackScroller::InitContants_t::signature[];
 
-auto
-StackScroller::InitContants() -> nsresult
+auto StackScroller::InitContants() -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Method<InitContants_t>::Call(StackScroller::Context(), &rv);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Method<InitContants_t>::Call(StackScroller::Context(), &rv);
+    return rv;
 }
 
 constexpr char StackScroller::IsFinished_t::name[];
 constexpr char StackScroller::IsFinished_t::signature[];
 
-auto
-StackScroller::IsFinished(bool* a0) const -> nsresult
+auto StackScroller::IsFinished(bool* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Method<IsFinished_t>::Call(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Method<IsFinished_t>::Call(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::SetFinalX_t::name[];
 constexpr char StackScroller::SetFinalX_t::signature[];
 
-auto
-StackScroller::SetFinalX(int32_t a0) const -> nsresult
+auto StackScroller::SetFinalX(int32_t a0) const -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Method<SetFinalX_t>::Call(StackScroller::mCtx, &rv, a0);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Method<SetFinalX_t>::Call(StackScroller::mCtx, &rv, a0);
+    return rv;
 }
 
 constexpr char StackScroller::SpringBack_t::name[];
 constexpr char StackScroller::SpringBack_t::signature[];
 
-auto
-StackScroller::SpringBack(int32_t a0,
-                          int32_t a1,
-                          int32_t a2,
-                          int32_t a3,
-                          int32_t a4,
-                          int32_t a5,
-                          int64_t a6,
-                          bool* a7) const -> nsresult
+auto StackScroller::SpringBack(int32_t a0, int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int64_t a6, bool* a7) const -> nsresult
 {
-  MOZ_ASSERT(a7);
-  nsresult rv = NS_OK;
-  *a7 =
-    mozilla::jni::Method<SpringBack_t>::Call(StackScroller::mCtx, &rv, a0, a1, a2, a3, a4, a5, a6);
-  return rv;
+    MOZ_ASSERT(a7);
+    nsresult rv = NS_OK;
+    *a7 = mozilla::jni::Method<SpringBack_t>::Call(StackScroller::mCtx, &rv, a0, a1, a2, a3, a4, a5, a6);
+    return rv;
 }
 
 constexpr char StackScroller::StartScroll_t::name[];
 constexpr char StackScroller::StartScroll_t::signature[];
 
-auto
-StackScroller::StartScroll(int32_t a0, int32_t a1, int32_t a2, int32_t a3, int64_t a4, int32_t a5)
-  const -> nsresult
+auto StackScroller::StartScroll(int32_t a0, int32_t a1, int32_t a2, int32_t a3, int64_t a4, int32_t a5) const -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Method<StartScroll_t>::Call(StackScroller::mCtx, &rv, a0, a1, a2, a3, a4, a5);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Method<StartScroll_t>::Call(StackScroller::mCtx, &rv, a0, a1, a2, a3, a4, a5);
+    return rv;
 }
 
 constexpr char StackScroller::ViscousFluid_t::name[];
 constexpr char StackScroller::ViscousFluid_t::signature[];
 
-auto
-StackScroller::ViscousFluid(float a0, float* a1) -> nsresult
+auto StackScroller::ViscousFluid(float a0, float* a1) -> nsresult
 {
-  MOZ_ASSERT(a1);
-  nsresult rv = NS_OK;
-  *a1 = mozilla::jni::Method<ViscousFluid_t>::Call(StackScroller::Context(), &rv, a0);
-  return rv;
+    MOZ_ASSERT(a1);
+    nsresult rv = NS_OK;
+    *a1 = mozilla::jni::Method<ViscousFluid_t>::Call(StackScroller::Context(), &rv, a0);
+    return rv;
 }
 
 constexpr char StackScroller::MFlywheel_t::name[];
 constexpr char StackScroller::MFlywheel_t::signature[];
 
-auto
-StackScroller::MFlywheel(bool* a0) const -> nsresult
+auto StackScroller::MFlywheel(bool* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Field<MFlywheel_t>::Get(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Field<MFlywheel_t>::Get(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::MMode_t::name[];
 constexpr char StackScroller::MMode_t::signature[];
 
-auto
-StackScroller::MMode(int32_t* a0) const -> nsresult
+auto StackScroller::MMode(int32_t* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Field<MMode_t>::Get(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Field<MMode_t>::Get(StackScroller::mCtx, &rv);
+    return rv;
 }
 
-auto
-StackScroller::MMode(int32_t a0) const -> nsresult
+auto StackScroller::MMode(int32_t a0) const -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Field<MMode_t>::Set(StackScroller::mCtx, &rv, a0);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Field<MMode_t>::Set(StackScroller::mCtx, &rv, a0);
+    return rv;
 }
 
 constexpr char StackScroller::MScrollerX_t::name[];
 constexpr char StackScroller::MScrollerX_t::signature[];
 
-auto
-StackScroller::MScrollerX(mozilla::jni::Object::LocalRef* a0) const -> nsresult
+auto StackScroller::MScrollerX(mozilla::jni::Object::LocalRef* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Field<MScrollerX_t>::Get(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Field<MScrollerX_t>::Get(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::MScrollerY_t::name[];
 constexpr char StackScroller::MScrollerY_t::signature[];
 
-auto
-StackScroller::MScrollerY(mozilla::jni::Object::LocalRef* a0) const -> nsresult
+auto StackScroller::MScrollerY(mozilla::jni::Object::LocalRef* a0) const -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Field<MScrollerY_t>::Get(StackScroller::mCtx, &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Field<MScrollerY_t>::Get(StackScroller::mCtx, &rv);
+    return rv;
 }
 
 constexpr char StackScroller::SViscousFluidNormalize_t::name[];
 constexpr char StackScroller::SViscousFluidNormalize_t::signature[];
 
-auto
-StackScroller::SViscousFluidNormalize(float* a0) -> nsresult
+auto StackScroller::SViscousFluidNormalize(float* a0) -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Field<SViscousFluidNormalize_t>::Get(StackScroller::Context(), &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Field<SViscousFluidNormalize_t>::Get(StackScroller::Context(), &rv);
+    return rv;
 }
 
-auto
-StackScroller::SViscousFluidNormalize(float a0) -> nsresult
+auto StackScroller::SViscousFluidNormalize(float a0) -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Field<SViscousFluidNormalize_t>::Set(StackScroller::Context(), &rv, a0);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Field<SViscousFluidNormalize_t>::Set(StackScroller::Context(), &rv, a0);
+    return rv;
 }
 
 constexpr char StackScroller::SViscousFluidScale_t::name[];
 constexpr char StackScroller::SViscousFluidScale_t::signature[];
 
-auto
-StackScroller::SViscousFluidScale(float* a0) -> nsresult
+auto StackScroller::SViscousFluidScale(float* a0) -> nsresult
 {
-  MOZ_ASSERT(a0);
-  nsresult rv = NS_OK;
-  *a0 = mozilla::jni::Field<SViscousFluidScale_t>::Get(StackScroller::Context(), &rv);
-  return rv;
+    MOZ_ASSERT(a0);
+    nsresult rv = NS_OK;
+    *a0 = mozilla::jni::Field<SViscousFluidScale_t>::Get(StackScroller::Context(), &rv);
+    return rv;
 }
 
-auto
-StackScroller::SViscousFluidScale(float a0) -> nsresult
+auto StackScroller::SViscousFluidScale(float a0) -> nsresult
 {
-  nsresult rv = NS_OK;
-  mozilla::jni::Field<SViscousFluidScale_t>::Set(StackScroller::Context(), &rv, a0);
-  return rv;
+    nsresult rv = NS_OK;
+    mozilla::jni::Field<SViscousFluidScale_t>::Set(StackScroller::Context(), &rv, a0);
+    return rv;
 }
 
-const char ViewTransform::name[] = "org/mozilla/gecko/gfx/ViewTransform";
+const char ViewTransform::name[] =
+        "org/mozilla/gecko/gfx/ViewTransform";
 
 constexpr char ViewTransform::New_t::name[];
 constexpr char ViewTransform::New_t::signature[];
 
-auto
-ViewTransform::New(float a0, float a1, float a2) -> ViewTransform::LocalRef
+auto ViewTransform::New(float a0, float a1, float a2) -> ViewTransform::LocalRef
 {
-  return mozilla::jni::Constructor<New_t>::Call(ViewTransform::Context(), nullptr, a0, a1, a2);
+    return mozilla::jni::Constructor<New_t>::Call(ViewTransform::Context(), nullptr, a0, a1, a2);
 }
 
 constexpr char ViewTransform::FixedLayerMarginBottom_t::name[];
 constexpr char ViewTransform::FixedLayerMarginBottom_t::signature[];
 
-auto
-ViewTransform::FixedLayerMarginBottom() const -> float
+auto ViewTransform::FixedLayerMarginBottom() const -> float
 {
-  return mozilla::jni::Field<FixedLayerMarginBottom_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<FixedLayerMarginBottom_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::FixedLayerMarginBottom(float a0) const -> void
+auto ViewTransform::FixedLayerMarginBottom(float a0) const -> void
 {
-  return mozilla::jni::Field<FixedLayerMarginBottom_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<FixedLayerMarginBottom_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
 constexpr char ViewTransform::FixedLayerMarginLeft_t::name[];
 constexpr char ViewTransform::FixedLayerMarginLeft_t::signature[];
 
-auto
-ViewTransform::FixedLayerMarginLeft() const -> float
+auto ViewTransform::FixedLayerMarginLeft() const -> float
 {
-  return mozilla::jni::Field<FixedLayerMarginLeft_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<FixedLayerMarginLeft_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::FixedLayerMarginLeft(float a0) const -> void
+auto ViewTransform::FixedLayerMarginLeft(float a0) const -> void
 {
-  return mozilla::jni::Field<FixedLayerMarginLeft_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<FixedLayerMarginLeft_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
 constexpr char ViewTransform::FixedLayerMarginRight_t::name[];
 constexpr char ViewTransform::FixedLayerMarginRight_t::signature[];
 
-auto
-ViewTransform::FixedLayerMarginRight() const -> float
+auto ViewTransform::FixedLayerMarginRight() const -> float
 {
-  return mozilla::jni::Field<FixedLayerMarginRight_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<FixedLayerMarginRight_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::FixedLayerMarginRight(float a0) const -> void
+auto ViewTransform::FixedLayerMarginRight(float a0) const -> void
 {
-  return mozilla::jni::Field<FixedLayerMarginRight_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<FixedLayerMarginRight_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
 constexpr char ViewTransform::FixedLayerMarginTop_t::name[];
 constexpr char ViewTransform::FixedLayerMarginTop_t::signature[];
 
-auto
-ViewTransform::FixedLayerMarginTop() const -> float
+auto ViewTransform::FixedLayerMarginTop() const -> float
 {
-  return mozilla::jni::Field<FixedLayerMarginTop_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<FixedLayerMarginTop_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::FixedLayerMarginTop(float a0) const -> void
+auto ViewTransform::FixedLayerMarginTop(float a0) const -> void
 {
-  return mozilla::jni::Field<FixedLayerMarginTop_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<FixedLayerMarginTop_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
 constexpr char ViewTransform::Height_t::name[];
 constexpr char ViewTransform::Height_t::signature[];
 
-auto
-ViewTransform::Height() const -> float
+auto ViewTransform::Height() const -> float
 {
-  return mozilla::jni::Field<Height_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<Height_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::Height(float a0) const -> void
+auto ViewTransform::Height(float a0) const -> void
 {
-  return mozilla::jni::Field<Height_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<Height_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
 constexpr char ViewTransform::Scale_t::name[];
 constexpr char ViewTransform::Scale_t::signature[];
 
-auto
-ViewTransform::Scale() const -> float
+auto ViewTransform::Scale() const -> float
 {
-  return mozilla::jni::Field<Scale_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<Scale_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::Scale(float a0) const -> void
+auto ViewTransform::Scale(float a0) const -> void
 {
-  return mozilla::jni::Field<Scale_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<Scale_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
 constexpr char ViewTransform::Width_t::name[];
 constexpr char ViewTransform::Width_t::signature[];
 
-auto
-ViewTransform::Width() const -> float
+auto ViewTransform::Width() const -> float
 {
-  return mozilla::jni::Field<Width_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<Width_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::Width(float a0) const -> void
+auto ViewTransform::Width(float a0) const -> void
 {
-  return mozilla::jni::Field<Width_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<Width_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
 constexpr char ViewTransform::X_t::name[];
 constexpr char ViewTransform::X_t::signature[];
 
-auto
-ViewTransform::X() const -> float
+auto ViewTransform::X() const -> float
 {
-  return mozilla::jni::Field<X_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<X_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::X(float a0) const -> void
+auto ViewTransform::X(float a0) const -> void
 {
-  return mozilla::jni::Field<X_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<X_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
 constexpr char ViewTransform::Y_t::name[];
 constexpr char ViewTransform::Y_t::signature[];
 
-auto
-ViewTransform::Y() const -> float
+auto ViewTransform::Y() const -> float
 {
-  return mozilla::jni::Field<Y_t>::Get(ViewTransform::mCtx, nullptr);
+    return mozilla::jni::Field<Y_t>::Get(ViewTransform::mCtx, nullptr);
 }
 
-auto
-ViewTransform::Y(float a0) const -> void
+auto ViewTransform::Y(float a0) const -> void
 {
-  return mozilla::jni::Field<Y_t>::Set(ViewTransform::mCtx, nullptr, a0);
+    return mozilla::jni::Field<Y_t>::Set(ViewTransform::mCtx, nullptr, a0);
 }
 
-const char VsyncSource::name[] = "org/mozilla/gecko/gfx/VsyncSource";
+const char VsyncSource::name[] =
+        "org/mozilla/gecko/gfx/VsyncSource";
 
 constexpr char VsyncSource::GetRefreshRate_t::name[];
 constexpr char VsyncSource::GetRefreshRate_t::signature[];
 
-auto
-VsyncSource::GetRefreshRate() const -> float
+auto VsyncSource::GetRefreshRate() const -> float
 {
-  return mozilla::jni::Method<GetRefreshRate_t>::Call(VsyncSource::mCtx, nullptr);
+    return mozilla::jni::Method<GetRefreshRate_t>::Call(VsyncSource::mCtx, nullptr);
 }
 
 constexpr char VsyncSource::NotifyVsync_t::name[];
 constexpr char VsyncSource::NotifyVsync_t::signature[];
 
 constexpr char VsyncSource::ObserveVsync_t::name[];
 constexpr char VsyncSource::ObserveVsync_t::signature[];
 
-auto
-VsyncSource::ObserveVsync(bool a0) const -> bool
+auto VsyncSource::ObserveVsync(bool a0) const -> bool
 {
-  return mozilla::jni::Method<ObserveVsync_t>::Call(VsyncSource::mCtx, nullptr, a0);
+    return mozilla::jni::Method<ObserveVsync_t>::Call(VsyncSource::mCtx, nullptr, a0);
 }
 
 constexpr char VsyncSource::INSTANCE_t::name[];
 constexpr char VsyncSource::INSTANCE_t::signature[];
 
-auto
-VsyncSource::INSTANCE() -> VsyncSource::LocalRef
+auto VsyncSource::INSTANCE() -> VsyncSource::LocalRef
 {
-  return mozilla::jni::Field<INSTANCE_t>::Get(VsyncSource::Context(), nullptr);
+    return mozilla::jni::Field<INSTANCE_t>::Get(VsyncSource::Context(), nullptr);
 }
 
-const char Clipboard::name[] = "org/mozilla/gecko/util/Clipboard";
+const char Clipboard::name[] =
+        "org/mozilla/gecko/util/Clipboard";
 
 constexpr char Clipboard::ClearText_t::name[];
 constexpr char Clipboard::ClearText_t::signature[];
 
-auto
-Clipboard::ClearText() -> void
+auto Clipboard::ClearText() -> void
 {
-  return mozilla::jni::Method<ClearText_t>::Call(Clipboard::Context(), nullptr);
+    return mozilla::jni::Method<ClearText_t>::Call(Clipboard::Context(), nullptr);
 }
 
 constexpr char Clipboard::GetText_t::name[];
 constexpr char Clipboard::GetText_t::signature[];
 
-auto
-Clipboard::GetText() -> mozilla::jni::String::LocalRef
+auto Clipboard::GetText() -> mozilla::jni::String::LocalRef
 {
-  return mozilla::jni::Method<GetText_t>::Call(Clipboard::Context(), nullptr);
+    return mozilla::jni::Method<GetText_t>::Call(Clipboard::Context(), nullptr);
 }
 
 constexpr char Clipboard::HasText_t::name[];
 constexpr char Clipboard::HasText_t::signature[];
 
-auto
-Clipboard::HasText() -> bool
+auto Clipboard::HasText() -> bool
 {
-  return mozilla::jni::Method<HasText_t>::Call(Clipboard::Context(), nullptr);
+    return mozilla::jni::Method<HasText_t>::Call(Clipboard::Context(), nullptr);
 }
 
 constexpr char Clipboard::SetText_t::name[];
 constexpr char Clipboard::SetText_t::signature[];
 
-auto
-Clipboard::SetText(mozilla::jni::String::Param a0) -> void
+auto Clipboard::SetText(mozilla::jni::String::Param a0) -> void
 {
-  return mozilla::jni::Method<SetText_t>::Call(Clipboard::Context(), nullptr, a0);
+    return mozilla::jni::Method<SetText_t>::Call(Clipboard::Context(), nullptr, a0);
 }
 
-const char EventCallback::name[] = "org/mozilla/gecko/util/EventCallback";
+const char EventCallback::name[] =
+        "org/mozilla/gecko/util/EventCallback";
 
 constexpr char EventCallback::SendError_t::name[];
 constexpr char EventCallback::SendError_t::signature[];
 
-auto
-EventCallback::SendError(mozilla::jni::Object::Param a0) const -> void
+auto EventCallback::SendError(mozilla::jni::Object::Param a0) const -> void
 {
-  return mozilla::jni::Method<SendError_t>::Call(EventCallback::mCtx, nullptr, a0);
+    return mozilla::jni::Method<SendError_t>::Call(EventCallback::mCtx, nullptr, a0);
 }
 
 constexpr char EventCallback::SendSuccess_t::name[];
 constexpr char EventCallback::SendSuccess_t::signature[];
 
-auto
-EventCallback::SendSuccess(mozilla::jni::Object::Param a0) const -> void
+auto EventCallback::SendSuccess(mozilla::jni::Object::Param a0) const -> void
 {
-  return mozilla::jni::Method<SendSuccess_t>::Call(EventCallback::mCtx, nullptr, a0);
+    return mozilla::jni::Method<SendSuccess_t>::Call(EventCallback::mCtx, nullptr, a0);
 }
 
-const char GeckoBundle::name[] = "org/mozilla/gecko/util/GeckoBundle";
+const char GeckoBundle::name[] =
+        "org/mozilla/gecko/util/GeckoBundle";
 
 constexpr char GeckoBundle::New_t::name[];
 constexpr char GeckoBundle::New_t::signature[];
 
-auto
-GeckoBundle::New(mozilla::jni::ObjectArray::Param a0, mozilla::jni::ObjectArray::Param a1)
-  -> GeckoBundle::LocalRef
+auto GeckoBundle::New(mozilla::jni::ObjectArray::Param a0, mozilla::jni::ObjectArray::Param a1) -> GeckoBundle::LocalRef
 {
-  return mozilla::jni::Constructor<New_t>::Call(GeckoBundle::Context(), nullptr, a0, a1);
+    return mozilla::jni::Constructor<New_t>::Call(GeckoBundle::Context(), nullptr, a0, a1);
 }
 
 constexpr char GeckoBundle::Box_t::name[];
 constexpr char GeckoBundle::Box_t::signature[];
 
-auto
-GeckoBundle::Box(double a0) -> mozilla::jni::Object::LocalRef
+auto GeckoBundle::Box(double a0) -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<Box_t>::Call(GeckoBundle::Context(), nullptr, a0);
+    return mozilla::jni::Method<Box_t>::Call(GeckoBundle::Context(), nullptr, a0);
 }
 
 constexpr char GeckoBundle::Box2_t::name[];
 constexpr char GeckoBundle::Box2_t::signature[];
 
-auto
-GeckoBundle::Box(int32_t a0) -> mozilla::jni::Object::LocalRef
+auto GeckoBundle::Box(int32_t a0) -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<Box2_t>::Call(GeckoBundle::Context(), nullptr, a0);
+    return mozilla::jni::Method<Box2_t>::Call(GeckoBundle::Context(), nullptr, a0);
 }
 
 constexpr char GeckoBundle::Box3_t::name[];
 constexpr char GeckoBundle::Box3_t::signature[];
 
-auto
-GeckoBundle::Box(bool a0) -> mozilla::jni::Object::LocalRef
+auto GeckoBundle::Box(bool a0) -> mozilla::jni::Object::LocalRef
 {
-  return mozilla::jni::Method<Box3_t>::Call(GeckoBundle::Context(), nullptr, a0);
+    return mozilla::jni::Method<Box3_t>::Call(GeckoBundle::Context(), nullptr, a0);
 }
 
 constexpr char GeckoBundle::Keys_t::name[];
 constexpr char GeckoBundle::Keys_t::signature[];
 
-auto
-GeckoBundle::Keys() const -> mozilla::jni::ObjectArray::LocalRef
+auto GeckoBundle::Keys() const -> mozilla::jni::ObjectArray::LocalRef
 {
-  return mozilla::jni::Method<Keys_t>::Call(GeckoBundle::mCtx, nullptr);
+    return mozilla::jni::Method<Keys_t>::Call(GeckoBundle::mCtx, nullptr);
 }
 
 constexpr char GeckoBundle::UnboxBoolean_t::name[];
 constexpr char GeckoBundle::UnboxBoolean_t::signature[];
 
-auto
-GeckoBundle::UnboxBoolean(mozilla::jni::Object::Param a0) -> bool
+auto GeckoBundle::UnboxBoolean(mozilla::jni::Object::Param a0) -> bool
 {
-  return mozilla::jni::Method<UnboxBoolean_t>::Call(GeckoBundle::Context(), nullptr, a0);
+    return mozilla::jni::Method<UnboxBoolean_t>::Call(GeckoBundle::Context(), nullptr, a0);
 }
 
 constexpr char GeckoBundle::UnboxDouble_t::name[];
 constexpr char GeckoBundle::UnboxDouble_t::signature[];
 
-auto
-GeckoBundle::UnboxDouble(mozilla::jni::Object::Param a0) -> double
+auto GeckoBundle::UnboxDouble(mozilla::jni::Object::Param a0) -> double
 {
-  return mozilla::jni::Method<UnboxDouble_t>::Call(GeckoBundle::Context(), nullptr, a0);
+    return mozilla::jni::Method<UnboxDouble_t>::Call(GeckoBundle::Context(), nullptr, a0);
 }
 
 constexpr char GeckoBundle::UnboxInteger_t::name[];
 constexpr char GeckoBundle::UnboxInteger_t::signature[];
 
-auto
-GeckoBundle::UnboxInteger(mozilla::jni::Object::Param a0) -> int32_t
+auto GeckoBundle::UnboxInteger(mozilla::jni::Object::Param a0) -> int32_t
 {
-  return mozilla::jni::Method<UnboxInteger_t>::Call(GeckoBundle::Context(), nullptr, a0);
+    return mozilla::jni::Method<UnboxInteger_t>::Call(GeckoBundle::Context(), nullptr, a0);
 }
 
 constexpr char GeckoBundle::UnboxString_t::name[];
 constexpr char GeckoBundle::UnboxString_t::signature[];
 
-auto
-GeckoBundle::UnboxString(mozilla::jni::Object::Param a0) -> mozilla::jni::String::LocalRef
+auto GeckoBundle::UnboxString(mozilla::jni::Object::Param a0) -> mozilla::jni::String::LocalRef
 {
-  return mozilla::jni::Method<UnboxString_t>::Call(GeckoBundle::Context(), nullptr, a0);
+    return mozilla::jni::Method<UnboxString_t>::Call(GeckoBundle::Context(), nullptr, a0);
 }
 
 constexpr char GeckoBundle::Values_t::name[];
 constexpr char GeckoBundle::Values_t::signature[];
 
-auto
-GeckoBundle::Values() const -> mozilla::jni::ObjectArray::LocalRef
+auto GeckoBundle::Values() const -> mozilla::jni::ObjectArray::LocalRef
 {
-  return mozilla::jni::Method<Values_t>::Call(GeckoBundle::mCtx, nullptr);
+    return mozilla::jni::Method<Values_t>::Call(GeckoBundle::mCtx, nullptr);
 }
 
 constexpr char GeckoBundle::EMPTY_BOOLEAN_ARRAY_t::name[];
 constexpr char GeckoBundle::EMPTY_BOOLEAN_ARRAY_t::signature[];
 
-auto
-GeckoBundle::EMPTY_BOOLEAN_ARRAY() -> mozilla::jni::BooleanArray::LocalRef
+auto GeckoBundle::EMPTY_BOOLEAN_ARRAY() -> mozilla::jni::BooleanArray::LocalRef
 {
-  return mozilla::jni::Field<EMPTY_BOOLEAN_ARRAY_t>::Get(GeckoBundle::Context(), nullptr);
+    return mozilla::jni::Field<EMPTY_BOOLEAN_ARRAY_t>::Get(GeckoBundle::Context(), nullptr);
 }
 
 const char HardwareCodecCapabilityUtils::name[] =
-  "org/mozilla/gecko/util/HardwareCodecCapabilityUtils";
+        "org/mozilla/gecko/util/HardwareCodecCapabilityUtils";
 
 constexpr char HardwareCodecCapabilityUtils::HasHWVP9_t::name[];
 constexpr char HardwareCodecCapabilityUtils::HasHWVP9_t::signature[];
 
-auto
-HardwareCodecCapabilityUtils::HasHWVP9() -> bool
+auto HardwareCodecCapabilityUtils::HasHWVP9() -> bool
 {
-  return mozilla::jni::Method<HasHWVP9_t>::Call(HardwareCodecCapabilityUtils::Context(), nullptr);
+    return mozilla::jni::Method<HasHWVP9_t>::Call(HardwareCodecCapabilityUtils::Context(), nullptr);
 }
 
 constexpr char HardwareCodecCapabilityUtils::CheckSupportsAdaptivePlayback_t::name[];
 constexpr char HardwareCodecCapabilityUtils::CheckSupportsAdaptivePlayback_t::signature[];
 
-auto
-HardwareCodecCapabilityUtils::CheckSupportsAdaptivePlayback(mozilla::jni::Object::Param a0,
-                                                            mozilla::jni::String::Param a1) -> bool
+auto HardwareCodecCapabilityUtils::CheckSupportsAdaptivePlayback(mozilla::jni::Object::Param a0, mozilla::jni::String::Param a1) -> bool
 {
-  return mozilla::jni::Method<CheckSupportsAdaptivePlayback_t>::Call(
-    HardwareCodecCapabilityUtils::Context(), nullptr, a0, a1);
+    return mozilla::jni::Method<CheckSupportsAdaptivePlayback_t>::Call(HardwareCodecCapabilityUtils::Context(), nullptr, a0, a1);
 }
 
 constexpr char HardwareCodecCapabilityUtils::FindDecoderCodecInfoForMimeType_t::name[];
 constexpr char HardwareCodecCapabilityUtils::FindDecoderCodecInfoForMimeType_t::signature[];
 
-auto
-HardwareCodecCapabilityUtils::FindDecoderCodecInfoForMimeType(mozilla::jni::String::Param a0)
-  -> bool
+auto HardwareCodecCapabilityUtils::FindDecoderCodecInfoForMimeType(mozilla::jni::String::Param a0) -> bool
 {
-  return mozilla::jni::Method<FindDecoderCodecInfoForMimeType_t>::Call(
-    HardwareCodecCapabilityUtils::Context(), nullptr, a0);
+    return mozilla::jni::Method<FindDecoderCodecInfoForMimeType_t>::Call(HardwareCodecCapabilityUtils::Context(), nullptr, a0);
 }
 
 } /* java */
 } /* mozilla */
--- a/widget/android/GeneratedJNIWrappers.h
+++ b/widget/android/GeneratedJNIWrappers.h
@@ -10,4799 +10,5390 @@
 #include "mozilla/jni/Refs.h"
 
 namespace mozilla {
 namespace java {
 
 class AlarmReceiver : public mozilla::jni::ObjectBase<AlarmReceiver>
 {
 public:
-  static const char name[];
-
-  explicit AlarmReceiver(const Context& ctx)
-    : ObjectBase<AlarmReceiver>(ctx)
-  {
-  }
-
-  struct NotifyAlarmFired_t
-  {
-    typedef AlarmReceiver Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<> Args;
-    static constexpr char name[] = "notifyAlarmFired";
-    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::GECKO;
-  };
-
-  static const mozilla::jni::CallingThread callingThread = mozilla::jni::CallingThread::UI;
-
-  template<class Impl>
-  class Natives;
+    static const char name[];
+
+    explicit AlarmReceiver(const Context& ctx) : ObjectBase<AlarmReceiver>(ctx) {}
+
+    struct NotifyAlarmFired_t {
+        typedef AlarmReceiver Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "notifyAlarmFired";
+        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::GECKO;
+    };
+
+    static const mozilla::jni::CallingThread callingThread =
+            mozilla::jni::CallingThread::UI;
+
+    template<class Impl> class Natives;
 };
 
 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::GECKO;
-  };
-
-  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::GECKO;
-  };
-
-  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::GECKO;
-    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::GECKO;
-  };
-
-  struct Start_t
-  {
-    typedef AndroidGamepadManager Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<> Args;
-    static constexpr char name[] = "start";
-    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 Start() -> void;
-
-  struct Stop_t
-  {
-    typedef AndroidGamepadManager Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<> Args;
-    static constexpr char name[] = "stop";
-    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 Stop() -> void;
-
-  static const mozilla::jni::CallingThread callingThread = mozilla::jni::CallingThread::ANY;
-
-  template<class Impl>
-  class Natives;
+    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::GECKO;
+    };
+
+    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::GECKO;
+    };
+
+    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::GECKO;
+        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::GECKO;
+    };
+
+    struct Start_t {
+        typedef AndroidGamepadManager Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "start";
+        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 Start() -> void;
+
+    struct Stop_t {
+        typedef AndroidGamepadManager Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "stop";
+        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 Stop() -> void;
+
+    static const mozilla::jni::CallingThread callingThread =
+            mozilla::jni::CallingThread::ANY;
+
+    template<class Impl> class Natives;
 };
 
 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";
-    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;
-
-  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;
-  };
-
-  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;
+    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";
+        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;
+
+    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;
+    };
+
+    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>
+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;
-  };
-
-  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;
+    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;
+    };
+
+    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 AddFullScreenPluginView_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::Object::Param> Args;
-    static constexpr char name[] = "addFullScreenPluginView";
-    static constexpr char signature[] = "(Landroid/view/View;)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 AddFullScreenPluginView(mozilla::jni::Object::Param) -> void;
-
-  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 CheckURIVisited_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::String::Param> Args;
-    static constexpr char name[] = "checkUriVisited";
-    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 CheckURIVisited(mozilla::jni::String::Param) -> 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 CreateShortcut_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[] = "createShortcut";
-    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 CreateShortcut(mozilla::jni::String::Param, mozilla::jni::String::Param) -> void;
-
-  struct DisableAlarm_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<> Args;
-    static constexpr char name[] = "disableAlarm";
-    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 DisableAlarm() -> void;
-
-  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 void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<bool> Args;
-    static constexpr char name[] = "enableLocation";
-    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 EnableLocation(bool) -> void;
-
-  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 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 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 GetContext_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[] = "getContext";
-    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 GetContext() -> 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 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 GetExternalPublicDirectory_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[] = "getExternalPublicDirectory";
-    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 GetExternalPublicDirectory(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 LaunchOrBringToFront_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<> Args;
-    static constexpr char name[] = "launchOrBringToFront";
-    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 LaunchOrBringToFront() -> void;
-
-  struct LoadPluginClass_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef mozilla::jni::Class::LocalRef ReturnType;
-    typedef mozilla::jni::Class::Param SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::String::Param, mozilla::jni::String::Param> Args;
-    static constexpr char name[] = "loadPluginClass";
-    static constexpr char signature[] = "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;";
-    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 LoadPluginClass(mozilla::jni::String::Param, mozilla::jni::String::Param)
-    -> mozilla::jni::Class::LocalRef;
-
-  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 MarkURIVisited_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::String::Param> Args;
-    static constexpr char name[] = "markUriVisited";
-    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 MarkURIVisited(mozilla::jni::String::Param) -> 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<mozilla::jni::String::Param, mozilla::jni::String::Param, mozilla::jni::String::Param>
-        Args;
-    static constexpr char name[] = "notifyAlertListener";
-    static constexpr char signature[] =
-      "(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 OnFullScreenPluginHidden_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::Object::Param> Args;
-    static constexpr char name[] = "onFullScreenPluginHidden";
-    static constexpr char signature[] = "(Landroid/view/View;)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 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::UI;
-    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 RemoveFullScreenPluginView_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::Object::Param> Args;
-    static constexpr char name[] = "removeFullScreenPluginView";
-    static constexpr char signature[] = "(Landroid/view/View;)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 RemoveFullScreenPluginView(mozilla::jni::Object::Param) -> 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 ScheduleRestart_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<> Args;
-    static constexpr char name[] = "scheduleRestart";
-    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 ScheduleRestart() -> void;
-
-  struct SetAlarm_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef bool ReturnType;
-    typedef bool SetterType;
-    typedef mozilla::jni::Args<int32_t, int32_t> Args;
-    static constexpr char name[] = "setAlarm";
-    static constexpr char signature[] = "(II)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 SetAlarm(int32_t, int32_t) -> bool;
-
-  struct SetFullScreen_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<bool> Args;
-    static constexpr char name[] = "setFullScreen";
-    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 SetFullScreen(bool) -> void;
-
-  struct SetKeepScreenOn_t
-  {
-    typedef GeckoAppShell Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<bool> Args;
-    static constexpr char name[] = "setKeepScreenOn";
-    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 SetKeepScreenOn(bool) -> void;
-
-  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 SetURITitle_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[] = "setUriTitle";
-    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 SetURITitle(mozilla::jni::String::Param, mozilla::jni::String::Param) -> 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 StartGeckoServiceChildProcess_t
-  {
-    typedef GeckoAppShell 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[] = "startGeckoServiceChildProcess";
-    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 StartGeckoServiceChildProcess(mozilla::jni::String::Param,
-                                            mozilla::jni::ObjectArray::Param,
-                                            int32_t,
-                                            int32_t) -> int32_t;
-
-  struct SyncNotifyObservers_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[] = "syncNotifyObservers";
-    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;
-  };
-
-  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;
+    static const char name[];
+
+    explicit GeckoAppShell(const Context& ctx) : ObjectBase<GeckoAppShell>(ctx) {}
+
+    class CameraCallback;
+
+    struct AddFullScreenPluginView_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::Object::Param> Args;
+        static constexpr char name[] = "addFullScreenPluginView";
+        static constexpr char signature[] =
+                "(Landroid/view/View;)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 AddFullScreenPluginView(mozilla::jni::Object::Param) -> void;
+
+    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 CheckURIVisited_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::String::Param> Args;
+        static constexpr char name[] = "checkUriVisited";
+        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 CheckURIVisited(mozilla::jni::String::Param) -> 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 CreateShortcut_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[] = "createShortcut";
+        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 CreateShortcut(mozilla::jni::String::Param, mozilla::jni::String::Param) -> void;
+
+    struct DisableAlarm_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "disableAlarm";
+        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 DisableAlarm() -> void;
+
+    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 void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                bool> Args;
+        static constexpr char name[] = "enableLocation";
+        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 EnableLocation(bool) -> void;
+
+    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 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 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 GetContext_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[] = "getContext";
+        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 GetContext() -> 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 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 GetExternalPublicDirectory_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[] = "getExternalPublicDirectory";
+        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 GetExternalPublicDirectory(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 LaunchOrBringToFront_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "launchOrBringToFront";
+        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 LaunchOrBringToFront() -> void;
+
+    struct LoadPluginClass_t {
+        typedef GeckoAppShell Owner;
+        typedef mozilla::jni::Class::LocalRef ReturnType;
+        typedef mozilla::jni::Class::Param SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::String::Param,
+                mozilla::jni::String::Param> Args;
+        static constexpr char name[] = "loadPluginClass";
+        static constexpr char signature[] =
+                "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;";
+        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 LoadPluginClass(mozilla::jni::String::Param, mozilla::jni::String::Param) -> mozilla::jni::Class::LocalRef;
+
+    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 MarkURIVisited_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::String::Param> Args;
+        static constexpr char name[] = "markUriVisited";
+        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 MarkURIVisited(mozilla::jni::String::Param) -> 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<
+                mozilla::jni::String::Param,
+                mozilla::jni::String::Param,
+                mozilla::jni::String::Param> Args;
+        static constexpr char name[] = "notifyAlertListener";
+        static constexpr char signature[] =
+                "(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 OnFullScreenPluginHidden_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::Object::Param> Args;
+        static constexpr char name[] = "onFullScreenPluginHidden";
+        static constexpr char signature[] =
+                "(Landroid/view/View;)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 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::UI;
+        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 RemoveFullScreenPluginView_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::Object::Param> Args;
+        static constexpr char name[] = "removeFullScreenPluginView";
+        static constexpr char signature[] =
+                "(Landroid/view/View;)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 RemoveFullScreenPluginView(mozilla::jni::Object::Param) -> 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 ScheduleRestart_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "scheduleRestart";
+        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 ScheduleRestart() -> void;
+
+    struct SetAlarm_t {
+        typedef GeckoAppShell Owner;
+        typedef bool ReturnType;
+        typedef bool SetterType;
+        typedef mozilla::jni::Args<
+                int32_t,
+                int32_t> Args;
+        static constexpr char name[] = "setAlarm";
+        static constexpr char signature[] =
+                "(II)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 SetAlarm(int32_t, int32_t) -> bool;
+
+    struct SetFullScreen_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                bool> Args;
+        static constexpr char name[] = "setFullScreen";
+        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 SetFullScreen(bool) -> void;
+
+    struct SetKeepScreenOn_t {
+        typedef GeckoAppShell Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                bool> Args;
+        static constexpr char name[] = "setKeepScreenOn";
+        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 SetKeepScreenOn(bool) -> void;
+
+    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 SetURITitle_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[] = "setUriTitle";
+        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 SetURITitle(mozilla::jni::String::Param, mozilla::jni::String::Param) -> 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 StartGeckoServiceChildProcess_t {
+        typedef GeckoAppShell 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[] = "startGeckoServiceChildProcess";
+        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 StartGeckoServiceChildProcess(mozilla::jni::String::Param, mozilla::jni::ObjectArray::Param, int32_t, int32_t) -> int32_t;
+
+    struct SyncNotifyObservers_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[] = "syncNotifyObservers";
+        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;
+    };
+
+    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;
+    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;
+    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;
 };
 
 class GeckoEditable : public mozilla::jni::ObjectBase<GeckoEditable>
 {
 public:
-  static const char name[];
-
-  explicit GeckoEditable(const Context& ctx)
-    : ObjectBase<GeckoEditable>(ctx)
-  {
-  }
-
-  struct New_t
-  {
-    typedef GeckoEditable Owner;
-    typedef GeckoEditable::LocalRef ReturnType;
-    typedef GeckoEditable::Param SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::Object::Param> Args;
-    static constexpr char name[] = "<init>";
-    static constexpr char signature[] = "(Lorg/mozilla/gecko/GeckoView;)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) -> GeckoEditable::LocalRef;
-
-  struct DisposeNative_t
-  {
-    typedef GeckoEditable 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::PROXY;
-  };
-
-  struct NotifyIME_t
-  {
-    typedef GeckoEditable 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
-  {
-    typedef GeckoEditable 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>
-      Args;
-    static constexpr char name[] = "notifyIMEContext";
-    static constexpr char signature[] =
-      "(ILjava/lang/String;Ljava/lang/String;Ljava/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::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) const -> void;
-
-  struct OnDefaultKeyEvent_t
-  {
-    typedef GeckoEditable 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
-  {
-    typedef GeckoEditable 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 = mozilla::jni::DispatchTarget::PROXY;
-  };
-
-  struct OnImeReplaceText_t
-  {
-    typedef GeckoEditable 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
-  {
-    typedef GeckoEditable 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 = mozilla::jni::DispatchTarget::PROXY;
-  };
-
-  struct OnImeSynchronize_t
-  {
-    typedef GeckoEditable 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 = mozilla::jni::DispatchTarget::PROXY;
-  };
-
-  struct OnImeUpdateComposition_t
-  {
-    typedef GeckoEditable Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<int32_t, int32_t> Args;
-    static constexpr char name[] = "onImeUpdateComposition";
-    static constexpr char signature[] = "(II)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
-  {
-    typedef GeckoEditable Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<int32_t,
-                               int32_t,
-                               int32_t,
-                               int32_t,
-                               int64_t,
-                               int32_t,
-                               int32_t,
-                               int32_t,
-                               int32_t,
-                               int32_t,
-                               bool,
-                               mozilla::jni::Object::Param>
-      Args;
-    static constexpr char name[] = "onKeyEvent";
-    static constexpr char signature[] = "(IIIIJIIIIIZLandroid/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
-  {
-    typedef GeckoEditable 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
-  {
-    typedef GeckoEditable 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 OnViewChange_t
-  {
-    typedef GeckoEditable Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::Object::Param> Args;
-    static constexpr char name[] = "onViewChange";
-    static constexpr char signature[] = "(Lorg/mozilla/gecko/GeckoView;)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 OnViewChange(mozilla::jni::Object::Param) const -> void;
-
-  struct UpdateCompositionRects_t
-  {
-    typedef GeckoEditable 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 mozilla::jni::CallingThread callingThread = mozilla::jni::CallingThread::ANY;
-
-  template<class Impl>
-  class Natives;
+    static const char name[];
+
+    explicit GeckoEditable(const Context& ctx) : ObjectBase<GeckoEditable>(ctx) {}
+
+    struct New_t {
+        typedef GeckoEditable Owner;
+        typedef GeckoEditable::LocalRef ReturnType;
+        typedef GeckoEditable::Param SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::Object::Param> Args;
+        static constexpr char name[] = "<init>";
+        static constexpr char signature[] =
+                "(Lorg/mozilla/gecko/GeckoView;)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) -> GeckoEditable::LocalRef;
+
+    struct DisposeNative_t {
+        typedef GeckoEditable 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::PROXY;
+    };
+
+    struct NotifyIME_t {
+        typedef GeckoEditable 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 {
+        typedef GeckoEditable 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> Args;
+        static constexpr char name[] = "notifyIMEContext";
+        static constexpr char signature[] =
+                "(ILjava/lang/String;Ljava/lang/String;Ljava/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::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) const -> void;
+
+    struct OnDefaultKeyEvent_t {
+        typedef GeckoEditable 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 {
+        typedef GeckoEditable 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 =
+                mozilla::jni::DispatchTarget::PROXY;
+    };
+
+    struct OnImeReplaceText_t {
+        typedef GeckoEditable 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 {
+        typedef GeckoEditable 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 =
+                mozilla::jni::DispatchTarget::PROXY;
+    };
+
+    struct OnImeSynchronize_t {
+        typedef GeckoEditable 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 =
+                mozilla::jni::DispatchTarget::PROXY;
+    };
+
+    struct OnImeUpdateComposition_t {
+        typedef GeckoEditable Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                int32_t,
+                int32_t> Args;
+        static constexpr char name[] = "onImeUpdateComposition";
+        static constexpr char signature[] =
+                "(II)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 {
+        typedef GeckoEditable Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                int32_t,
+                int32_t,
+                int32_t,
+                int32_t,
+                int64_t,
+                int32_t,
+                int32_t,
+                int32_t,
+                int32_t,
+                int32_t,
+                bool,
+                mozilla::jni::Object::Param> Args;
+        static constexpr char name[] = "onKeyEvent";
+        static constexpr char signature[] =
+                "(IIIIJIIIIIZLandroid/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 {
+        typedef GeckoEditable 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 {
+        typedef GeckoEditable 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 OnViewChange_t {
+        typedef GeckoEditable Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::Object::Param> Args;
+        static constexpr char name[] = "onViewChange";
+        static constexpr char signature[] =
+                "(Lorg/mozilla/gecko/GeckoView;)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 OnViewChange(mozilla::jni::Object::Param) const -> void;
+
+    struct UpdateCompositionRects_t {
+        typedef GeckoEditable 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 mozilla::jni::CallingThread callingThread =
+            mozilla::jni::CallingThread::ANY;
+
+    template<class Impl> class Natives;
 };
 
 class GeckoEditableListener : public mozilla::jni::ObjectBase<GeckoEditableListener>
 {
 public:
-  static const char name[];
-
-  explicit GeckoEditableListener(const Context& ctx)
-    : ObjectBase<GeckoEditableListener>(ctx)
-  {
-  }
-
-  static const int32_t NOTIFY_IME_OF_BLUR = 2;
-
-  static const int32_t NOTIFY_IME_OF_FOCUS = 1;
-
-  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;
+    static const char name[];
+
+    explicit GeckoEditableListener(const Context& ctx) : ObjectBase<GeckoEditableListener>(ctx) {}
+
+    static const int32_t NOTIFY_IME_OF_BLUR = 2;
+
+    static const int32_t NOTIFY_IME_OF_FOCUS = 1;
+
+    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 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;
+    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;
+    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 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 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;
-
-  static const mozilla::jni::CallingThread callingThread = mozilla::jni::CallingThread::ANY;
-
-  template<class Impl>
-  class Natives;
+    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 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;
+
+    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 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;
+    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 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 GeckoView : public mozilla::jni::ObjectBase<GeckoView>
 {
 public:
-  static const char name[];
-
-  explicit GeckoView(const Context& ctx)
-    : ObjectBase<GeckoView>(ctx)
-  {
-  }
-
-  class Window;
-
-  static const int32_t LOAD_DEFAULT = 0;
-
-  static const int32_t LOAD_NEW_TAB = 1;
-
-  static const int32_t LOAD_SWITCH_TAB = 2;
-
-  static const mozilla::jni::CallingThread callingThread = mozilla::jni::CallingThread::ANY;
+    static const char name[];
+
+    explicit GeckoView(const Context& ctx) : ObjectBase<GeckoView>(ctx) {}
+
+    class Window;
+
+    static const int32_t LOAD_DEFAULT = 0;
+
+    static const int32_t LOAD_NEW_TAB = 1;
+
+    static const int32_t LOAD_SWITCH_TAB = 2;
+
+    static const mozilla::jni::CallingThread callingThread =
+            mozilla::jni::CallingThread::ANY;
+
 };
 
 class GeckoView::Window : public mozilla::jni::ObjectBase<Window>
 {
 public:
-  static const char name[];
-
-  explicit Window(const Context& ctx)
-    : ObjectBase<Window>(ctx)
-  {
-  }
-
-  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[] = "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::PROXY;
-  };
-
-  struct LoadUri_t
-  {
-    typedef Window Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<mozilla::jni::String::Param, int32_t> Args;
-    static constexpr char name[] = "loadUri";
-    static constexpr char signature[] = "(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::ANY;
-    static const mozilla::jni::DispatchTarget dispatchTarget = mozilla::jni::DispatchTarget::PROXY;
-  };
-
-  struct Open_t
-  {
-    typedef Window Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::Args<Window::Param,
-                               GeckoView::Param,
-                               mozilla::jni::Object::Param,
-                               mozilla::jni::Object::Param,
-                               mozilla::jni::String::Param,
-                               mozilla::jni::Object::Param,
-                               int32_t>
-      Args;
-    static constexpr char name[] = "open";
-    static constexpr char signature[] =
-      "(Lorg/mozilla/gecko/GeckoView$Window;Lorg/mozilla/gecko/GeckoView;Ljava/"
-      "lang/Object;Lorg/mozilla/gecko/EventDispatcher;Ljava/lang/String;Lorg/"
-      "mozilla/gecko/util/GeckoBundle;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::PROXY;
-  };
-
-  struct Reattach_t
-  {
-    typedef Window Owner;
-    typedef void ReturnType;
-    typedef void SetterType;
-    typedef mozilla::jni::
-      Args<GeckoView::Param, mozilla::jni::Object::Param, mozilla::jni::Object::Param>
-        Args;
-    static constexpr char name[] = "reattach";
-    static constexpr char signature[] = "(Lorg/mozilla/gecko/GeckoView;Ljava/"
-                                        "lang/Object;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::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;
+    static const char name[];
+
+    explicit Window(const Context& ctx) : ObjectBase<Window>(ctx) {}
+
+    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[] = "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::PROXY;
+    };
+
+    struct LoadUri_t {
+        typedef Window Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                mozilla::jni::String::Param,
+                int32_t> Args;
+        static constexpr char name[] = "loadUri";
+        static constexpr char signature[] =
+                "(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::ANY;
+        static const mozilla::jni::DispatchTarget dispatchTarget =
+                mozilla::jni::DispatchTarget::PROXY;
+    };
+
+    struct Open_t {
+        typedef Window Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                Window::Param,
+                GeckoView::Param,
+                mozilla::jni::Object::Param,
+                mozilla::jni::Object::Param,
+                mozilla::jni::String::Param,
+                mozilla::jni::Object::Param,
+                int32_t> Args;
+        static constexpr char name[] = "open";
+        static constexpr char signature[] =
+                "(Lorg/mozilla/gecko/GeckoView$Window;Lorg/mozilla/gecko/GeckoView;Ljava/lang/Object;Lorg/mozilla/gecko/EventDispatcher;Ljava/lang/String;Lorg/mozilla/gecko/util/GeckoBundle;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::PROXY;
+    };
+
+    struct Reattach_t {
+        typedef Window Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<
+                GeckoView::Param,
+                mozilla::jni::Object::Param,
+                mozilla::jni::Object::Param> Args;
+        static constexpr char name[] = "reattach";
+        static constexpr char signature[] =
+                "(Lorg/mozilla/gecko/GeckoView;Ljava/lang/Object;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::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 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;
+    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;
+    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 {
+