mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:38:11 +00:00
LibWeb: Add the StyleSheet.href attribute
This is only ever null at the moment, as we only set it on <style> elements to begin with.
This commit is contained in:
parent
45f717cfad
commit
0e758b4da8
3 changed files with 10 additions and 4 deletions
|
@ -26,6 +26,11 @@ public:
|
||||||
DOM::Element* owner_node() { return m_owner_node; }
|
DOM::Element* owner_node() { return m_owner_node; }
|
||||||
void set_owner_node(DOM::Element*);
|
void set_owner_node(DOM::Element*);
|
||||||
|
|
||||||
|
String href() const { return m_location; }
|
||||||
|
|
||||||
|
String location() const { return m_location; }
|
||||||
|
void set_location(String location) { m_location = move(location); }
|
||||||
|
|
||||||
String title() const { return m_title; }
|
String title() const { return m_title; }
|
||||||
void set_title(String title) { m_title = move(title); }
|
void set_title(String title) { m_title = move(title); }
|
||||||
|
|
||||||
|
@ -51,6 +56,7 @@ private:
|
||||||
|
|
||||||
WeakPtr<CSSStyleSheet> m_parent_style_sheet;
|
WeakPtr<CSSStyleSheet> m_parent_style_sheet;
|
||||||
|
|
||||||
|
String m_location;
|
||||||
String m_title;
|
String m_title;
|
||||||
String m_type_string;
|
String m_type_string;
|
||||||
String m_media_string;
|
String m_media_string;
|
||||||
|
|
|
@ -7,7 +7,7 @@ interface StyleSheet {
|
||||||
readonly attribute Element? ownerNode;
|
readonly attribute Element? ownerNode;
|
||||||
readonly attribute CSSOMString type;
|
readonly attribute CSSOMString type;
|
||||||
|
|
||||||
// readonly attribute USVString? href;
|
readonly attribute USVString? href;
|
||||||
readonly attribute CSSStyleSheet? parentStyleSheet;
|
readonly attribute CSSStyleSheet? parentStyleSheet;
|
||||||
readonly attribute DOMString? title;
|
readonly attribute DOMString? title;
|
||||||
// [SameObject, PutForwards=mediaText] readonly attribute MediaList media;
|
// [SameObject, PutForwards=mediaText] readonly attribute MediaList media;
|
||||||
|
|
|
@ -74,7 +74,7 @@ static void add_a_css_style_sheet(DOM::Document& document, NonnullRefPtr<CSS::CS
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/cssom/#create-a-css-style-sheet
|
// https://www.w3.org/TR/cssom/#create-a-css-style-sheet
|
||||||
static void create_a_css_style_sheet(DOM::Document& document, String type, DOM::Element* owner_node, String media, String title, bool alternate, bool origin_clean, void* location, CSS::CSSStyleSheet* parent_style_sheet, CSS::CSSRule* owner_rule, NonnullRefPtr<CSS::CSSStyleSheet> sheet)
|
static void create_a_css_style_sheet(DOM::Document& document, String type, DOM::Element* owner_node, String media, String title, bool alternate, bool origin_clean, String location, CSS::CSSStyleSheet* parent_style_sheet, CSS::CSSRule* owner_rule, NonnullRefPtr<CSS::CSSStyleSheet> sheet)
|
||||||
{
|
{
|
||||||
// 1. Create a new CSS style sheet object and set its properties as specified.
|
// 1. Create a new CSS style sheet object and set its properties as specified.
|
||||||
// FIXME: We receive `sheet` from the caller already. This is weird.
|
// FIXME: We receive `sheet` from the caller already. This is weird.
|
||||||
|
@ -87,7 +87,7 @@ static void create_a_css_style_sheet(DOM::Document& document, String type, DOM::
|
||||||
sheet->set_title(move(title));
|
sheet->set_title(move(title));
|
||||||
sheet->set_alternate(alternate);
|
sheet->set_alternate(alternate);
|
||||||
sheet->set_origin_clean(origin_clean);
|
sheet->set_origin_clean(origin_clean);
|
||||||
(void)location;
|
sheet->set_location(move(location));
|
||||||
|
|
||||||
// 2. Then run the add a CSS style sheet steps for the newly created CSS style sheet.
|
// 2. Then run the add a CSS style sheet steps for the newly created CSS style sheet.
|
||||||
add_a_css_style_sheet(document, move(sheet));
|
add_a_css_style_sheet(document, move(sheet));
|
||||||
|
@ -144,7 +144,7 @@ void HTMLStyleElement::update_a_style_block()
|
||||||
in_a_document_tree() ? attribute(HTML::AttributeNames::title) : String::empty(),
|
in_a_document_tree() ? attribute(HTML::AttributeNames::title) : String::empty(),
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
nullptr,
|
{},
|
||||||
nullptr,
|
nullptr,
|
||||||
nullptr,
|
nullptr,
|
||||||
sheet.release_nonnull());
|
sheet.release_nonnull());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue