Jelajahi Sumber

LibWeb: Add OOPWV IPC for selecting all text

Timothy Flynn 4 tahun lalu
induk
melakukan
ae910e4370

+ 5 - 0
Userland/Libraries/LibWeb/OutOfProcessWebView.cpp

@@ -417,4 +417,9 @@ String OutOfProcessWebView::selected_text()
     return client().get_selected_text();
 }
 
+void OutOfProcessWebView::select_all()
+{
+    client().async_select_all();
+}
+
 }

+ 1 - 0
Userland/Libraries/LibWeb/OutOfProcessWebView.h

@@ -36,6 +36,7 @@ public:
     void js_console_input(const String& js_source);
 
     String selected_text();
+    void select_all();
 
     void notify_server_did_layout(Badge<WebContentClient>, const Gfx::IntSize& content_size);
     void notify_server_did_paint(Badge<WebContentClient>, i32 bitmap_id);

+ 6 - 0
Userland/Services/WebContent/ClientConnection.cpp

@@ -248,4 +248,10 @@ Messages::WebContentServer::GetSelectedTextResponse ClientConnection::get_select
     return page().focused_context().selected_text();
 }
 
+void ClientConnection::select_all()
+{
+    page().focused_context().select_all();
+    page().client().page_did_change_selection();
+}
+
 }

+ 1 - 0
Userland/Services/WebContent/ClientConnection.h

@@ -52,6 +52,7 @@ private:
     virtual void js_console_initialize() override;
     virtual void js_console_input(String const&) override;
     virtual Messages::WebContentServer::GetSelectedTextResponse get_selected_text() override;
+    virtual void select_all() override;
 
     void flush_pending_paint_requests();
 

+ 1 - 0
Userland/Services/WebContent/WebContentServer.ipc

@@ -31,4 +31,5 @@ endpoint WebContentServer
     js_console_input(String js_source) =|
 
     get_selected_text() => (String selection)
+    select_all() =|
 }