Bug 1415994 - 8. Update auto-generated bindings; r=me draft
authorJim Chen <nchen@mozilla.com>
Thu, 09 Nov 2017 16:55:12 -0500
changeset 695815 b55c9e5166ea7f7941558bb9406352551b04e30b
parent 695814 3562e6baa5d35e1cae82ee238bb7c18b0b6e83dd
child 739715 4c644b6f77ae675f62dbf97536dac6c03bb272f6
push id88550
push userbmo:nchen@mozilla.com
push dateThu, 09 Nov 2017 21:56:18 +0000
reviewersme
bugs1415994
milestone58.0a1
Bug 1415994 - 8. Update auto-generated bindings; r=me MozReview-Commit-ID: 2r1V6Hvl5Pb
widget/android/GeneratedJNINatives.h
widget/android/GeneratedJNIWrappers.cpp
widget/android/GeneratedJNIWrappers.h
--- a/widget/android/GeneratedJNINatives.h
+++ b/widget/android/GeneratedJNINatives.h
@@ -372,79 +372,75 @@ const JNINativeMethod SurfaceTextureList
             ::template Wrap<&Impl::DisposeNative>),
 
     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>
+class LayerSession::Compositor::Natives : public mozilla::jni::NativeImpl<Compositor, Impl>
 {
 public:
-    static const JNINativeMethod methods[14];
+    static const JNINativeMethod methods[13];
 };
 
 template<class Impl>
-const JNINativeMethod LayerView::Compositor::Natives<Impl>::methods[] = {
+const JNINativeMethod LayerSession::Compositor::Natives<Impl>::methods[] = {
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::AttachToJava_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::AttachToJava_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::AttachToJava_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::AttachToJava_t, Impl>
             ::template Wrap<&Impl::AttachToJava>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::CreateCompositor_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::CreateCompositor_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::CreateCompositor_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::CreateCompositor_t, Impl>
             ::template Wrap<&Impl::CreateCompositor>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::DisposeNative_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::DisposeNative_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::DisposeNative_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::DisposeNative_t, Impl>
             ::template Wrap<&Impl::DisposeNative>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::EnableLayerUpdateNotifications_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::EnableLayerUpdateNotifications_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::EnableLayerUpdateNotifications_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::EnableLayerUpdateNotifications_t, Impl>
             ::template Wrap<&Impl::EnableLayerUpdateNotifications>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::OnSizeChanged_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::OnSizeChanged_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::OnSizeChanged_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::OnSizeChanged_t, Impl>
             ::template Wrap<&Impl::OnSizeChanged>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::RequestScreenPixels_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::RequestScreenPixels_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::RequestScreenPixels_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::RequestScreenPixels_t, Impl>
             ::template Wrap<&Impl::RequestScreenPixels>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SendToolbarAnimatorMessage_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::SendToolbarAnimatorMessage_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::SendToolbarAnimatorMessage_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::SendToolbarAnimatorMessage_t, Impl>
             ::template Wrap<&Impl::SendToolbarAnimatorMessage>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SendToolbarPixelsToCompositor_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::SendToolbarPixelsToCompositor_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::SendToolbarPixelsToCompositor_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::SendToolbarPixelsToCompositor_t, Impl>
             ::template Wrap<&Impl::SendToolbarPixelsToCompositor>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SetDefaultClearColor_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::SetDefaultClearColor_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::SetDefaultClearColor_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::SetDefaultClearColor_t, Impl>
             ::template Wrap<&Impl::SetDefaultClearColor>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SetMaxToolbarHeight_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::SetMaxToolbarHeight_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::SetMaxToolbarHeight_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::SetMaxToolbarHeight_t, Impl>
             ::template Wrap<&Impl::SetMaxToolbarHeight>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SetPinned_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::SetPinned_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::SetPinned_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::SetPinned_t, Impl>
             ::template Wrap<&Impl::SetPinned>),
 
-    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>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::SyncPauseCompositor_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::SyncPauseCompositor_t, Impl>
             ::template Wrap<&Impl::SyncPauseCompositor>),
 
-    mozilla::jni::MakeNativeMethod<LayerView::Compositor::SyncResumeResizeCompositor_t>(
-            mozilla::jni::NativeStub<LayerView::Compositor::SyncResumeResizeCompositor_t, Impl>
+    mozilla::jni::MakeNativeMethod<LayerSession::Compositor::SyncResumeResizeCompositor_t>(
+            mozilla::jni::NativeStub<LayerSession::Compositor::SyncResumeResizeCompositor_t, Impl>
             ::template Wrap<&Impl::SyncResumeResizeCompositor>)
 };
 
 template<class Impl>
 class NativePanZoomController::Natives : public mozilla::jni::NativeImpl<NativePanZoomController, Impl>
 {
 public:
     static const JNINativeMethod methods[5];
--- a/widget/android/GeneratedJNIWrappers.cpp
+++ b/widget/android/GeneratedJNIWrappers.cpp
@@ -1110,24 +1110,16 @@ auto GeckoLayerClient::ContentDocumentCh
 constexpr char GeckoLayerClient::IsContentDocumentDisplayed_t::name[];
 constexpr char GeckoLayerClient::IsContentDocumentDisplayed_t::signature[];
 
 auto GeckoLayerClient::IsContentDocumentDisplayed() const -> bool
 {
     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
-{
-    return mozilla::jni::Method<OnGeckoReady_t>::Call(GeckoLayerClient::mCtx, nullptr);
-}
-
 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
 {
     return mozilla::jni::Method<SynthesizeNativeMouseEvent_t>::Call(GeckoLayerClient::mCtx, nullptr, a0, a1, a2);
 }
 
@@ -1283,112 +1275,104 @@ auto GeckoSurfaceTexture::ReleaseTexImag
 constexpr char GeckoSurfaceTexture::UpdateTexImage_t::name[];
 constexpr char GeckoSurfaceTexture::UpdateTexImage_t::signature[];
 
 auto GeckoSurfaceTexture::UpdateTexImage() const -> void
 {
     return mozilla::jni::Method<UpdateTexImage_t>::Call(GeckoSurfaceTexture::mCtx, nullptr);
 }
 
+const char LayerSession::name[] =
+        "org/mozilla/gecko/gfx/LayerSession";
+
+const char LayerSession::Compositor::name[] =
+        "org/mozilla/gecko/gfx/LayerSession$Compositor";
+
+constexpr char LayerSession::Compositor::AttachToJava_t::name[];
+constexpr char LayerSession::Compositor::AttachToJava_t::signature[];
+
+constexpr char LayerSession::Compositor::CreateCompositor_t::name[];
+constexpr char LayerSession::Compositor::CreateCompositor_t::signature[];
+
+constexpr char LayerSession::Compositor::DisposeNative_t::name[];
+constexpr char LayerSession::Compositor::DisposeNative_t::signature[];
+
+constexpr char LayerSession::Compositor::EnableLayerUpdateNotifications_t::name[];
+constexpr char LayerSession::Compositor::EnableLayerUpdateNotifications_t::signature[];
+
+constexpr char LayerSession::Compositor::OnCompositorAttached_t::name[];
+constexpr char LayerSession::Compositor::OnCompositorAttached_t::signature[];
+
+auto LayerSession::Compositor::OnCompositorAttached() const -> void
+{
+    return mozilla::jni::Method<OnCompositorAttached_t>::Call(Compositor::mCtx, nullptr);
+}
+
+constexpr char LayerSession::Compositor::OnCompositorDetached_t::name[];
+constexpr char LayerSession::Compositor::OnCompositorDetached_t::signature[];
+
+auto LayerSession::Compositor::OnCompositorDetached() const -> void
+{
+    return mozilla::jni::Method<OnCompositorDetached_t>::Call(Compositor::mCtx, nullptr);
+}
+
+constexpr char LayerSession::Compositor::OnSizeChanged_t::name[];
+constexpr char LayerSession::Compositor::OnSizeChanged_t::signature[];
+
+constexpr char LayerSession::Compositor::RecvScreenPixels_t::name[];
+constexpr char LayerSession::Compositor::RecvScreenPixels_t::signature[];
+
+auto LayerSession::Compositor::RecvScreenPixels(int32_t a0, int32_t a1, mozilla::jni::IntArray::Param a2) const -> void
+{
+    return mozilla::jni::Method<RecvScreenPixels_t>::Call(Compositor::mCtx, nullptr, a0, a1, a2);
+}
+
+constexpr char LayerSession::Compositor::RecvToolbarAnimatorMessage_t::name[];
+constexpr char LayerSession::Compositor::RecvToolbarAnimatorMessage_t::signature[];
+
+auto LayerSession::Compositor::RecvToolbarAnimatorMessage(int32_t a0) const -> void
+{
+    return mozilla::jni::Method<RecvToolbarAnimatorMessage_t>::Call(Compositor::mCtx, nullptr, a0);
+}
+
+constexpr char LayerSession::Compositor::RequestScreenPixels_t::name[];
+constexpr char LayerSession::Compositor::RequestScreenPixels_t::signature[];
+
+constexpr char LayerSession::Compositor::SendToolbarAnimatorMessage_t::name[];
+constexpr char LayerSession::Compositor::SendToolbarAnimatorMessage_t::signature[];
+
+constexpr char LayerSession::Compositor::SendToolbarPixelsToCompositor_t::name[];
+constexpr char LayerSession::Compositor::SendToolbarPixelsToCompositor_t::signature[];
+
+constexpr char LayerSession::Compositor::SetDefaultClearColor_t::name[];
+constexpr char LayerSession::Compositor::SetDefaultClearColor_t::signature[];
+
+constexpr char LayerSession::Compositor::SetMaxToolbarHeight_t::name[];
+constexpr char LayerSession::Compositor::SetMaxToolbarHeight_t::signature[];
+
+constexpr char LayerSession::Compositor::SetPinned_t::name[];
+constexpr char LayerSession::Compositor::SetPinned_t::signature[];
+
+constexpr char LayerSession::Compositor::SyncPauseCompositor_t::name[];
+constexpr char LayerSession::Compositor::SyncPauseCompositor_t::signature[];
+
+constexpr char LayerSession::Compositor::SyncResumeResizeCompositor_t::name[];
+constexpr char LayerSession::Compositor::SyncResumeResizeCompositor_t::signature[];
+
 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
 {
     return mozilla::jni::Method<GetCompositor_t>::Call(LayerView::mCtx, nullptr);
 }
 
-constexpr char LayerView::IsCompositorReady_t::name[];
-constexpr char LayerView::IsCompositorReady_t::signature[];
-
-auto LayerView::IsCompositorReady() const -> bool
-{
-    return mozilla::jni::Method<IsCompositorReady_t>::Call(LayerView::mCtx, nullptr);
-}
-
-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
-{
-    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::EnableLayerUpdateNotifications_t::name[];
-constexpr char LayerView::Compositor::EnableLayerUpdateNotifications_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
-{
-    return mozilla::jni::Method<Reattach_t>::Call(Compositor::mCtx, nullptr);
-}
-
-constexpr char LayerView::Compositor::RecvScreenPixels_t::name[];
-constexpr char LayerView::Compositor::RecvScreenPixels_t::signature[];
-
-auto LayerView::Compositor::RecvScreenPixels(int32_t a0, int32_t a1, mozilla::jni::IntArray::Param a2) const -> void
-{
-    return mozilla::jni::Method<RecvScreenPixels_t>::Call(Compositor::mCtx, nullptr, a0, a1, a2);
-}
-
-constexpr char LayerView::Compositor::RecvToolbarAnimatorMessage_t::name[];
-constexpr char LayerView::Compositor::RecvToolbarAnimatorMessage_t::signature[];
-
-auto LayerView::Compositor::RecvToolbarAnimatorMessage(int32_t a0) const -> void
-{
-    return mozilla::jni::Method<RecvToolbarAnimatorMessage_t>::Call(Compositor::mCtx, nullptr, a0);
-}
-
-constexpr char LayerView::Compositor::RequestScreenPixels_t::name[];
-constexpr char LayerView::Compositor::RequestScreenPixels_t::signature[];
-
-constexpr char LayerView::Compositor::SendToolbarAnimatorMessage_t::name[];
-constexpr char LayerView::Compositor::SendToolbarAnimatorMessage_t::signature[];
-
-constexpr char LayerView::Compositor::SendToolbarPixelsToCompositor_t::name[];
-constexpr char LayerView::Compositor::SendToolbarPixelsToCompositor_t::signature[];
-
-constexpr char LayerView::Compositor::SetDefaultClearColor_t::name[];
-constexpr char LayerView::Compositor::SetDefaultClearColor_t::signature[];
-
-constexpr char LayerView::Compositor::SetMaxToolbarHeight_t::name[];
-constexpr char LayerView::Compositor::SetMaxToolbarHeight_t::signature[];
-
-constexpr char LayerView::Compositor::SetPinned_t::name[];
-constexpr char LayerView::Compositor::SetPinned_t::signature[];
-
-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";
 
 constexpr char NativePanZoomController::Destroy_t::name[];
 constexpr char NativePanZoomController::Destroy_t::signature[];
 
 auto NativePanZoomController::Destroy() const -> void
 {
--- a/widget/android/GeneratedJNIWrappers.h
+++ b/widget/android/GeneratedJNIWrappers.h
@@ -2348,21 +2348,20 @@ public:
 
     explicit Window(const Context& ctx) : ObjectBase<Window>(ctx) {}
 
     struct Attach_t {
         typedef Window Owner;
         typedef void ReturnType;
         typedef void SetterType;
         typedef mozilla::jni::Args<
-                mozilla::jni::Object::Param,
                 mozilla::jni::Object::Param> Args;
         static constexpr char name[] = "attach";
         static constexpr char signature[] =
-                "(Lorg/mozilla/gecko/GeckoView;Ljava/lang/Object;)V";
+                "(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::ANY;
         static const mozilla::jni::DispatchTarget dispatchTarget =
                 mozilla::jni::DispatchTarget::PROXY;
     };
@@ -2443,41 +2442,43 @@ public:
     struct Open_t {
         typedef Window Owner;
         typedef void ReturnType;
         typedef void SetterType;
         typedef mozilla::jni::Args<
                 Window::Param,
                 mozilla::jni::Object::Param,
                 mozilla::jni::Object::Param,
+                mozilla::jni::Object::Param,
                 mozilla::jni::String::Param,
                 int32_t,
                 bool> Args;
         static constexpr char name[] = "open";
         static constexpr char signature[] =
-                "(Lorg/mozilla/gecko/GeckoSession$Window;Lorg/mozilla/gecko/EventDispatcher;Lorg/mozilla/gecko/util/GeckoBundle;Ljava/lang/String;IZ)V";
+                "(Lorg/mozilla/gecko/GeckoSession$Window;Lorg/mozilla/gecko/gfx/LayerSession$Compositor;Lorg/mozilla/gecko/EventDispatcher;Lorg/mozilla/gecko/util/GeckoBundle;Ljava/lang/String;IZ)V";
         static const bool isStatic = true;
         static const mozilla::jni::ExceptionMode exceptionMode =
                 mozilla::jni::ExceptionMode::ABORT;
         static const mozilla::jni::CallingThread callingThread =
                 mozilla::jni::CallingThread::ANY;
         static const mozilla::jni::DispatchTarget dispatchTarget =
                 mozilla::jni::DispatchTarget::PROXY;
     };
 
     struct Transfer_t {
         typedef Window Owner;
         typedef void ReturnType;
         typedef void SetterType;
         typedef mozilla::jni::Args<
                 mozilla::jni::Object::Param,
+                mozilla::jni::Object::Param,
                 mozilla::jni::Object::Param> Args;
         static constexpr char name[] = "transfer";
         static constexpr char signature[] =
-                "(Lorg/mozilla/gecko/EventDispatcher;Lorg/mozilla/gecko/util/GeckoBundle;)V";
+                "(Lorg/mozilla/gecko/gfx/LayerSession$Compositor;Lorg/mozilla/gecko/EventDispatcher;Lorg/mozilla/gecko/util/GeckoBundle;)V";
         static const bool isStatic = false;
         static const mozilla::jni::ExceptionMode exceptionMode =
                 mozilla::jni::ExceptionMode::ABORT;
         static const mozilla::jni::CallingThread callingThread =
                 mozilla::jni::CallingThread::ANY;
         static const mozilla::jni::DispatchTarget dispatchTarget =
                 mozilla::jni::DispatchTarget::PROXY;
     };
@@ -3459,35 +3460,16 @@ public:
         static const mozilla::jni::CallingThread callingThread =
                 mozilla::jni::CallingThread::GECKO;
         static const mozilla::jni::DispatchTarget dispatchTarget =
                 mozilla::jni::DispatchTarget::CURRENT;
     };
 
     auto IsContentDocumentDisplayed() const -> bool;
 
-    struct OnGeckoReady_t {
-        typedef GeckoLayerClient Owner;
-        typedef void ReturnType;
-        typedef void SetterType;
-        typedef mozilla::jni::Args<> Args;
-        static constexpr char name[] = "onGeckoReady";
-        static constexpr char signature[] =
-                "()V";
-        static const bool isStatic = false;
-        static const mozilla::jni::ExceptionMode exceptionMode =
-                mozilla::jni::ExceptionMode::ABORT;
-        static const mozilla::jni::CallingThread callingThread =
-                mozilla::jni::CallingThread::GECKO;
-        static const mozilla::jni::DispatchTarget dispatchTarget =
-                mozilla::jni::DispatchTarget::CURRENT;
-    };
-
-    auto OnGeckoReady() const -> void;
-
     struct SynthesizeNativeMouseEvent_t {
         typedef GeckoLayerClient Owner;
         typedef void ReturnType;
         typedef void SetterType;
         typedef mozilla::jni::Args<
                 int32_t,
                 int32_t,
                 int32_t> Args;
@@ -3886,69 +3868,31 @@ public:
 
     auto UpdateTexImage() const -> void;
 
     static const mozilla::jni::CallingThread callingThread =
             mozilla::jni::CallingThread::ANY;
 
 };
 
-class LayerView : public mozilla::jni::ObjectBase<LayerView>
+class LayerSession : public mozilla::jni::ObjectBase<LayerSession>
 {
 public:
     static const char name[];
 
-    explicit LayerView(const Context& ctx) : ObjectBase<LayerView>(ctx) {}
+    explicit LayerSession(const Context& ctx) : ObjectBase<LayerSession>(ctx) {}
 
     class Compositor;
 
-    struct GetCompositor_t {
-        typedef LayerView Owner;
-        typedef mozilla::jni::Object::LocalRef ReturnType;
-        typedef mozilla::jni::Object::Param SetterType;
-        typedef mozilla::jni::Args<> Args;
-        static constexpr char name[] = "getCompositor";
-        static constexpr char signature[] =
-                "()Ljava/lang/Object;";
-        static const bool isStatic = false;
-        static const mozilla::jni::ExceptionMode exceptionMode =
-                mozilla::jni::ExceptionMode::ABORT;
-        static const mozilla::jni::CallingThread callingThread =
-                mozilla::jni::CallingThread::UI;
-        static const mozilla::jni::DispatchTarget dispatchTarget =
-                mozilla::jni::DispatchTarget::CURRENT;
-    };
-
-    auto GetCompositor() const -> mozilla::jni::Object::LocalRef;
-
-    struct IsCompositorReady_t {
-        typedef LayerView Owner;
-        typedef bool ReturnType;
-        typedef bool SetterType;
-        typedef mozilla::jni::Args<> Args;
-        static constexpr char name[] = "isCompositorReady";
-        static constexpr char signature[] =
-                "()Z";
-        static const bool isStatic = false;
-        static const mozilla::jni::ExceptionMode exceptionMode =
-                mozilla::jni::ExceptionMode::ABORT;
-        static const mozilla::jni::CallingThread callingThread =
-                mozilla::jni::CallingThread::UI;
-        static const mozilla::jni::DispatchTarget dispatchTarget =
-                mozilla::jni::DispatchTarget::CURRENT;
-    };
-
-    auto IsCompositorReady() const -> bool;
-
     static const mozilla::jni::CallingThread callingThread =
-            mozilla::jni::CallingThread::UI;
+            mozilla::jni::CallingThread::ANY;
 
 };
 
-class LayerView::Compositor : public mozilla::jni::ObjectBase<Compositor>
+class LayerSession::Compositor : public mozilla::jni::ObjectBase<Compositor>
 {
 public:
     static const char name[];
 
     explicit Compositor(const Context& ctx) : ObjectBase<Compositor>(ctx) {}
 
     struct AttachToJava_t {
         typedef Compositor Owner;
@@ -3984,35 +3928,16 @@ public:
         static const mozilla::jni::ExceptionMode exceptionMode =
                 mozilla::jni::ExceptionMode::ABORT;
         static const mozilla::jni::CallingThread callingThread =
                 mozilla::jni::CallingThread::UI;
         static const mozilla::jni::DispatchTarget dispatchTarget =
                 mozilla::jni::DispatchTarget::PROXY;
     };
 
-    struct Destroy_t {
-        typedef Compositor Owner;
-        typedef void ReturnType;
-        typedef void SetterType;
-        typedef mozilla::jni::Args<> Args;
-        static constexpr char name[] = "destroy";
-        static constexpr char signature[] =
-                "()V";
-        static const bool isStatic = false;
-        static const mozilla::jni::ExceptionMode exceptionMode =
-                mozilla::jni::ExceptionMode::ABORT;
-        static const mozilla::jni::CallingThread callingThread =
-                mozilla::jni::CallingThread::GECKO;
-        static const mozilla::jni::DispatchTarget dispatchTarget =
-                mozilla::jni::DispatchTarget::CURRENT;
-    };
-
-    auto Destroy() const -> void;
-
     struct DisposeNative_t {
         typedef Compositor Owner;
         typedef void ReturnType;
         typedef void SetterType;
         typedef mozilla::jni::Args<> Args;
         static constexpr char name[] = "disposeNative";
         static constexpr char signature[] =
                 "()V";
@@ -4038,54 +3963,73 @@ public:
         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 OnCompositorAttached_t {
+        typedef Compositor Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "onCompositorAttached";
+        static constexpr char signature[] =
+                "()V";
+        static const bool isStatic = false;
+        static const mozilla::jni::ExceptionMode exceptionMode =
+                mozilla::jni::ExceptionMode::ABORT;
+        static const mozilla::jni::CallingThread callingThread =
+                mozilla::jni::CallingThread::UI;
+        static const mozilla::jni::DispatchTarget dispatchTarget =
+                mozilla::jni::DispatchTarget::CURRENT;
+    };
+
+    auto OnCompositorAttached() const -> void;
+
+    struct OnCompositorDetached_t {
+        typedef Compositor Owner;
+        typedef void ReturnType;
+        typedef void SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "onCompositorDetached";
+        static constexpr char signature[] =
+                "()V";
+        static const bool isStatic = false;
+        static const mozilla::jni::ExceptionMode exceptionMode =
+                mozilla::jni::ExceptionMode::ABORT;
+        static const mozilla::jni::CallingThread callingThread =
+                mozilla::jni::CallingThread::UI;
+        static const mozilla::jni::DispatchTarget dispatchTarget =
+                mozilla::jni::DispatchTarget::CURRENT;
+    };
+
+    auto OnCompositorDetached() const -> void;
+
     struct OnSizeChanged_t {
         typedef Compositor Owner;
         typedef void ReturnType;
         typedef void SetterType;
         typedef mozilla::jni::Args<
                 int32_t,
                 int32_t> Args;
         static constexpr char name[] = "onSizeChanged";
         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;
+                mozilla::jni::CallingThread::UI;
         static const mozilla::jni::DispatchTarget dispatchTarget =
                 mozilla::jni::DispatchTarget::GECKO;
     };
 
-    struct Reattach_t {
-        typedef Compositor Owner;
-        typedef void ReturnType;
-        typedef void SetterType;
-        typedef mozilla::jni::Args<> Args;
-        static constexpr char name[] = "reattach";
-        static constexpr char signature[] =
-                "()V";
-        static const bool isStatic = false;
-        static const mozilla::jni::ExceptionMode exceptionMode =
-                mozilla::jni::ExceptionMode::ABORT;
-        static const mozilla::jni::CallingThread callingThread =
-                mozilla::jni::CallingThread::GECKO;
-        static const mozilla::jni::DispatchTarget dispatchTarget =
-                mozilla::jni::DispatchTarget::CURRENT;
-    };
-
-    auto Reattach() const -> void;
-
     struct RecvScreenPixels_t {
         typedef Compositor Owner;
         typedef void ReturnType;
         typedef void SetterType;
         typedef mozilla::jni::Args<
                 int32_t,
                 int32_t,
                 mozilla::jni::IntArray::Param> Args;
@@ -4148,17 +4092,17 @@ public:
                 int32_t> Args;
         static constexpr char name[] = "sendToolbarAnimatorMessage";
         static constexpr char signature[] =
                 "(I)V";
         static const bool isStatic = false;
         static const mozilla::jni::ExceptionMode exceptionMode =
                 mozilla::jni::ExceptionMode::ABORT;
         static const mozilla::jni::CallingThread callingThread =
-                mozilla::jni::CallingThread::UI;
+                mozilla::jni::CallingThread::ANY;
         static const mozilla::jni::DispatchTarget dispatchTarget =
                 mozilla::jni::DispatchTarget::CURRENT;
     };
 
     struct SendToolbarPixelsToCompositor_t {
         typedef Compositor Owner;
         typedef void ReturnType;
         typedef void SetterType;
@@ -4204,17 +4148,17 @@ public:
                 int32_t> Args;
         static constexpr char name[] = "setMaxToolbarHeight";
         static constexpr char signature[] =
                 "(I)V";
         static const bool isStatic = false;
         static const mozilla::jni::ExceptionMode exceptionMode =
                 mozilla::jni::ExceptionMode::ABORT;
         static const mozilla::jni::CallingThread callingThread =
-                mozilla::jni::CallingThread::ANY;
+                mozilla::jni::CallingThread::UI;
         static const mozilla::jni::DispatchTarget dispatchTarget =
                 mozilla::jni::DispatchTarget::CURRENT;
     };
 
     struct SetPinned_t {
         typedef Compositor Owner;
         typedef void ReturnType;
         typedef void SetterType;
@@ -4228,33 +4172,16 @@ public:
         static const mozilla::jni::ExceptionMode 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 SyncInvalidateAndScheduleComposite_t {
-        typedef Compositor Owner;
-        typedef void ReturnType;
-        typedef void SetterType;
-        typedef mozilla::jni::Args<> Args;
-        static constexpr char name[] = "syncInvalidateAndScheduleComposite";
-        static constexpr char signature[] =
-                "()V";
-        static const bool isStatic = false;
-        static const mozilla::jni::ExceptionMode exceptionMode =
-                mozilla::jni::ExceptionMode::ABORT;
-        static const mozilla::jni::CallingThread callingThread =
-                mozilla::jni::CallingThread::ANY;
-        static const mozilla::jni::DispatchTarget dispatchTarget =
-                mozilla::jni::DispatchTarget::CURRENT;
-    };
-
     struct SyncPauseCompositor_t {
         typedef Compositor Owner;
         typedef void ReturnType;
         typedef void SetterType;
         typedef mozilla::jni::Args<> Args;
         static constexpr char name[] = "syncPauseCompositor";
         static constexpr char signature[] =
                 "()V";
@@ -4288,16 +4215,47 @@ public:
     };
 
     static const mozilla::jni::CallingThread callingThread =
             mozilla::jni::CallingThread::ANY;
 
     template<class Impl> class Natives;
 };
 
+class LayerView : public mozilla::jni::ObjectBase<LayerView>
+{
+public:
+    static const char name[];
+
+    explicit LayerView(const Context& ctx) : ObjectBase<LayerView>(ctx) {}
+
+    struct GetCompositor_t {
+        typedef LayerView Owner;
+        typedef mozilla::jni::Object::LocalRef ReturnType;
+        typedef mozilla::jni::Object::Param SetterType;
+        typedef mozilla::jni::Args<> Args;
+        static constexpr char name[] = "getCompositor";
+        static constexpr char signature[] =
+                "()Ljava/lang/Object;";
+        static const bool isStatic = false;
+        static const mozilla::jni::ExceptionMode exceptionMode =
+                mozilla::jni::ExceptionMode::ABORT;
+        static const mozilla::jni::CallingThread callingThread =
+                mozilla::jni::CallingThread::UI;
+        static const mozilla::jni::DispatchTarget dispatchTarget =
+                mozilla::jni::DispatchTarget::CURRENT;
+    };
+
+    auto GetCompositor() const -> mozilla::jni::Object::LocalRef;
+
+    static const mozilla::jni::CallingThread callingThread =
+            mozilla::jni::CallingThread::UI;
+
+};
+
 class NativePanZoomController : public mozilla::jni::ObjectBase<NativePanZoomController>
 {
 public:
     static const char name[];
 
     explicit NativePanZoomController(const Context& ctx) : ObjectBase<NativePanZoomController>(ctx) {}
 
     struct Destroy_t {