mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:37:35 +00:00
IRCClient: Use Web::Element::set_inner_html()
Instead of invoking the (old) fragment parser directly.
This commit is contained in:
parent
92d831c25b
commit
6c783dbf62
1 changed files with 10 additions and 9 deletions
|
@ -31,7 +31,6 @@
|
||||||
#include <LibWeb/DOM/ElementFactory.h>
|
#include <LibWeb/DOM/ElementFactory.h>
|
||||||
#include <LibWeb/DOM/HTMLBodyElement.h>
|
#include <LibWeb/DOM/HTMLBodyElement.h>
|
||||||
#include <LibWeb/DOM/Text.h>
|
#include <LibWeb/DOM/Text.h>
|
||||||
#include <LibWeb/Parser/HTMLParser.h>
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
NonnullRefPtr<IRCLogBuffer> IRCLogBuffer::create()
|
NonnullRefPtr<IRCLogBuffer> IRCLogBuffer::create()
|
||||||
|
@ -70,17 +69,17 @@ void IRCLogBuffer::add_message(char prefix, const String& name, const String& te
|
||||||
{
|
{
|
||||||
auto nick_string = String::format("<%c%s> ", prefix ? prefix : ' ', name.characters());
|
auto nick_string = String::format("<%c%s> ", prefix ? prefix : ' ', name.characters());
|
||||||
auto html = String::format(
|
auto html = String::format(
|
||||||
"<div style=\"color: %s\">"
|
|
||||||
"<span>%s</span>"
|
"<span>%s</span>"
|
||||||
"<b>%s</b>"
|
"<b>%s</b>"
|
||||||
"<span>%s</span>"
|
"<span>%s</span>",
|
||||||
"</div>",
|
|
||||||
color.to_string().characters(),
|
|
||||||
timestamp_string().characters(),
|
timestamp_string().characters(),
|
||||||
escape_html_entities(nick_string).characters(),
|
escape_html_entities(nick_string).characters(),
|
||||||
escape_html_entities(text).characters());
|
escape_html_entities(text).characters());
|
||||||
auto fragment = parse_html_fragment(*m_document, html);
|
|
||||||
m_container_element->append_child(fragment->remove_child(*fragment->first_child()));
|
auto wrapper = Web::create_element(*m_document, Web::HTML::TagNames::div);
|
||||||
|
wrapper->set_attribute(Web::HTML::AttributeNames::style, String::format("color: %s", color.to_string().characters()));
|
||||||
|
wrapper->set_inner_html(html);
|
||||||
|
m_container_element->append_child(wrapper);
|
||||||
m_document->force_layout();
|
m_document->force_layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,8 +93,10 @@ void IRCLogBuffer::add_message(const String& text, Color color)
|
||||||
color.to_string().characters(),
|
color.to_string().characters(),
|
||||||
timestamp_string().characters(),
|
timestamp_string().characters(),
|
||||||
escape_html_entities(text).characters());
|
escape_html_entities(text).characters());
|
||||||
auto fragment = parse_html_fragment(*m_document, html);
|
auto wrapper = Web::create_element(*m_document, Web::HTML::TagNames::div);
|
||||||
m_container_element->append_child(fragment->remove_child(*fragment->first_child()));
|
wrapper->set_attribute(Web::HTML::AttributeNames::style, String::format("color: %s", color.to_string().characters()));
|
||||||
|
wrapper->set_inner_html(html);
|
||||||
|
m_container_element->append_child(wrapper);
|
||||||
m_document->force_layout();
|
m_document->force_layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue