diff --git a/shell/platform/linux/fl_keyboard_handler.h b/shell/platform/linux/fl_keyboard_handler.h index 7237755e3c936..57da5e9c729ea 100644 --- a/shell/platform/linux/fl_keyboard_handler.h +++ b/shell/platform/linux/fl_keyboard_handler.h @@ -8,6 +8,7 @@ #include #include "flutter/shell/platform/linux/fl_keyboard_view_delegate.h" +#include "flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h" G_BEGIN_DECLS diff --git a/shell/platform/linux/fl_keyboard_manager.cc b/shell/platform/linux/fl_keyboard_manager.cc index 869d23bb030c4..3c0b8f1b6ec4b 100644 --- a/shell/platform/linux/fl_keyboard_manager.cc +++ b/shell/platform/linux/fl_keyboard_manager.cc @@ -410,6 +410,7 @@ static void fl_keyboard_manager_init(FlKeyboardManager* self) { } FlKeyboardManager* fl_keyboard_manager_new( + FlBinaryMessenger* messenger, FlKeyboardViewDelegate* view_delegate) { g_return_val_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(view_delegate), nullptr); @@ -436,8 +437,7 @@ FlKeyboardManager* fl_keyboard_manager_new( }, self))); g_ptr_array_add(self->responder_list, - FL_KEY_RESPONDER(fl_key_channel_responder_new( - fl_keyboard_view_delegate_get_messenger(view_delegate)))); + FL_KEY_RESPONDER(fl_key_channel_responder_new(messenger))); return self; } diff --git a/shell/platform/linux/fl_keyboard_manager.h b/shell/platform/linux/fl_keyboard_manager.h index be1be5b64d7a9..383c7f93398c6 100644 --- a/shell/platform/linux/fl_keyboard_manager.h +++ b/shell/platform/linux/fl_keyboard_manager.h @@ -8,6 +8,7 @@ #include #include "flutter/shell/platform/linux/fl_keyboard_view_delegate.h" +#include "flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h" G_BEGIN_DECLS @@ -36,6 +37,7 @@ G_DECLARE_FINAL_TYPE(FlKeyboardManager, /** * fl_keyboard_manager_new: + * @messenger: an #FlBinaryMessenger. * @view_delegate: An interface that the manager requires to communicate with * the platform. Usually implemented by FlView. * @@ -44,6 +46,7 @@ G_DECLARE_FINAL_TYPE(FlKeyboardManager, * Returns: a new #FlKeyboardManager. */ FlKeyboardManager* fl_keyboard_manager_new( + FlBinaryMessenger* messenger, FlKeyboardViewDelegate* view_delegate); /** diff --git a/shell/platform/linux/fl_keyboard_manager_test.cc b/shell/platform/linux/fl_keyboard_manager_test.cc index 9011662347163..d655df367a6f3 100644 --- a/shell/platform/linux/fl_keyboard_manager_test.cc +++ b/shell/platform/linux/fl_keyboard_manager_test.cc @@ -330,12 +330,6 @@ static gboolean fl_mock_view_keyboard_text_filter_key_press( return self->text_filter_result; } -static FlBinaryMessenger* fl_mock_view_keyboard_get_messenger( - FlKeyboardViewDelegate* view_delegate) { - FlMockViewDelegate* self = FL_MOCK_VIEW_DELEGATE(view_delegate); - return FL_BINARY_MESSENGER(self->messenger); -} - static void fl_mock_view_keyboard_redispatch_event( FlKeyboardViewDelegate* view_delegate, FlKeyEvent* event) { @@ -362,7 +356,6 @@ static void fl_mock_view_keyboard_delegate_iface_init( FlKeyboardViewDelegateInterface* iface) { iface->send_key_event = fl_mock_view_keyboard_send_key_event; iface->text_filter_key_press = fl_mock_view_keyboard_text_filter_key_press; - iface->get_messenger = fl_mock_view_keyboard_get_messenger; iface->redispatch_event = fl_mock_view_keyboard_redispatch_event; iface->lookup_key = fl_mock_view_keyboard_lookup_key; } @@ -410,7 +403,8 @@ class KeyboardTester { respondToTextInputWith(false); setLayout(kLayoutUs); - handler_ = fl_keyboard_manager_new(FL_KEYBOARD_VIEW_DELEGATE(view_)); + handler_ = fl_keyboard_manager_new(FL_BINARY_MESSENGER(view_->messenger), + FL_KEYBOARD_VIEW_DELEGATE(view_)); } ~KeyboardTester() { diff --git a/shell/platform/linux/fl_keyboard_view_delegate.cc b/shell/platform/linux/fl_keyboard_view_delegate.cc index e1301c103adea..771e428c0f682 100644 --- a/shell/platform/linux/fl_keyboard_view_delegate.cc +++ b/shell/platform/linux/fl_keyboard_view_delegate.cc @@ -32,13 +32,6 @@ gboolean fl_keyboard_view_delegate_text_filter_key_press( self, event); } -FlBinaryMessenger* fl_keyboard_view_delegate_get_messenger( - FlKeyboardViewDelegate* self) { - g_return_val_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self), nullptr); - - return FL_KEYBOARD_VIEW_DELEGATE_GET_IFACE(self)->get_messenger(self); -} - void fl_keyboard_view_delegate_redispatch_event(FlKeyboardViewDelegate* self, FlKeyEvent* event) { g_return_if_fail(FL_IS_KEYBOARD_VIEW_DELEGATE(self)); diff --git a/shell/platform/linux/fl_keyboard_view_delegate.h b/shell/platform/linux/fl_keyboard_view_delegate.h index eb1104f6ac55d..134239071aeba 100644 --- a/shell/platform/linux/fl_keyboard_view_delegate.h +++ b/shell/platform/linux/fl_keyboard_view_delegate.h @@ -42,8 +42,6 @@ struct _FlKeyboardViewDelegateInterface { gboolean (*text_filter_key_press)(FlKeyboardViewDelegate* delegate, FlKeyEvent* event); - FlBinaryMessenger* (*get_messenger)(FlKeyboardViewDelegate* delegate); - void (*redispatch_event)(FlKeyboardViewDelegate* delegate, FlKeyEvent* event); guint (*lookup_key)(FlKeyboardViewDelegate* view_delegate, @@ -81,17 +79,6 @@ gboolean fl_keyboard_view_delegate_text_filter_key_press( FlKeyboardViewDelegate* delegate, FlKeyEvent* event); -/** - * fl_keyboard_view_delegate_get_messenger: - * - * Returns a binary messenger that can be used to send messages to the - * framework. - * - * The ownership of messenger is kept by the view delegate. - */ -FlBinaryMessenger* fl_keyboard_view_delegate_get_messenger( - FlKeyboardViewDelegate* delegate); - /** * fl_keyboard_view_delegate_redispatch_event: * diff --git a/shell/platform/linux/fl_view.cc b/shell/platform/linux/fl_view.cc index 1a342f9d3d74c..3828f8ed40b58 100644 --- a/shell/platform/linux/fl_view.cc +++ b/shell/platform/linux/fl_view.cc @@ -156,7 +156,7 @@ static void init_keyboard(FlView* self) { fl_keyboard_handler_new(messenger, FL_KEYBOARD_VIEW_DELEGATE(self)); g_clear_object(&self->keyboard_manager); self->keyboard_manager = - fl_keyboard_manager_new(FL_KEYBOARD_VIEW_DELEGATE(self)); + fl_keyboard_manager_new(messenger, FL_KEYBOARD_VIEW_DELEGATE(self)); } static void init_scrolling(FlView* self) { @@ -385,11 +385,6 @@ static void fl_view_keyboard_delegate_iface_init( event); }; - iface->get_messenger = [](FlKeyboardViewDelegate* view_delegate) { - FlView* self = FL_VIEW(view_delegate); - return fl_engine_get_binary_messenger(self->engine); - }; - iface->redispatch_event = [](FlKeyboardViewDelegate* view_delegate, FlKeyEvent* event) { GdkEventType event_type =