Просмотр исходного кода

LibWeb: Port BrowsingContext from ByteString

Also removing an unused m_name member.
Shannon Booth 1 год назад
Родитель
Сommit
0b7c8e0de5

+ 8 - 8
Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp

@@ -412,15 +412,15 @@ void BrowsingContext::set_cursor_position(JS::NonnullGCPtr<DOM::Position> positi
     reset_cursor_blink_cycle();
 }
 
-static ByteString visible_text_in_range(DOM::Range const& range)
+static String visible_text_in_range(DOM::Range const& range)
 {
     // NOTE: This is an adaption of Range stringification, but we skip over DOM nodes that don't have a corresponding layout node.
     StringBuilder builder;
 
     if (range.start_container() == range.end_container() && is<DOM::Text>(*range.start_container())) {
         if (!range.start_container()->layout_node())
-            return ""sv;
-        return MUST(static_cast<DOM::Text const&>(*range.start_container()).data().substring_from_byte_offset(range.start_offset(), range.end_offset() - range.start_offset())).to_byte_string();
+            return String {};
+        return MUST(static_cast<DOM::Text const&>(*range.start_container()).data().substring_from_byte_offset(range.start_offset(), range.end_offset() - range.start_offset()));
     }
 
     if (is<DOM::Text>(*range.start_container()) && range.start_container()->layout_node())
@@ -434,18 +434,18 @@ static ByteString visible_text_in_range(DOM::Range const& range)
     if (is<DOM::Text>(*range.end_container()) && range.end_container()->layout_node())
         builder.append(static_cast<DOM::Text const&>(*range.end_container()).data().bytes_as_string_view().substring_view(0, range.end_offset()));
 
-    return builder.to_byte_string();
+    return MUST(builder.to_string());
 }
 
-ByteString BrowsingContext::selected_text() const
+String BrowsingContext::selected_text() const
 {
-    auto* document = active_document();
+    auto const* document = active_document();
     if (!document)
-        return ""sv;
+        return String {};
     auto selection = const_cast<DOM::Document&>(*document).get_selection();
     auto range = selection->range();
     if (!range)
-        return ""sv;
+        return String {};
     return visible_text_in_range(*range);
 }
 

+ 1 - 3
Userland/Libraries/LibWeb/HTML/BrowsingContext.h

@@ -151,7 +151,7 @@ public:
 
     bool cursor_blink_state() const { return m_cursor_blink_state; }
 
-    ByteString selected_text() const;
+    String selected_text() const;
     void select_all();
 
     void did_edit(Badge<EditEventHandler>);
@@ -222,8 +222,6 @@ private:
     RefPtr<Core::Timer> m_cursor_blink_timer;
     bool m_cursor_blink_state { false };
 
-    ByteString m_name;
-
     // https://html.spec.whatwg.org/multipage/browsers.html#tlbc-group
     JS::GCPtr<BrowsingContextGroup> m_group;
 

+ 1 - 1
Userland/Services/WebContent/ConnectionFromClient.cpp

@@ -842,7 +842,7 @@ Messages::WebContentServer::DumpGcGraphResponse ConnectionFromClient::dump_gc_gr
 
 Messages::WebContentServer::GetSelectedTextResponse ConnectionFromClient::get_selected_text()
 {
-    return page().page().focused_context().selected_text();
+    return page().page().focused_context().selected_text().to_byte_string();
 }
 
 void ConnectionFromClient::select_all()