1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:17:45 +00:00

LibWeb: Reimplement the <style> element following the spec

We now follow the "update a style block" algorithm from the HTML spec
instead of using the ad-hoc CSSLoader mechanism.

This necessitated improving our StyleSheet and CSSStyleSheet classes as
well, so that's baked into this commit.
This commit is contained in:
Andreas Kling 2021-09-29 23:46:16 +02:00
parent 6cda24097b
commit d462a6720a
7 changed files with 163 additions and 24 deletions

View file

@ -10,9 +10,15 @@ namespace Web::CSS {
void StyleSheetList::add_sheet(NonnullRefPtr<CSSStyleSheet> sheet)
{
VERIFY(!m_sheets.contains_slow(sheet));
m_sheets.append(move(sheet));
}
void StyleSheetList::remove_sheet(CSSStyleSheet& sheet)
{
m_sheets.remove_first_matching([&](auto& entry) { return &*entry == &sheet; });
}
StyleSheetList::StyleSheetList(DOM::Document& document)
: m_document(document)
{