mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:17:35 +00:00
LibWeb: Track quote-nesting level while building the layout tree
This makes multiple levels of quote actually use different quotation marks, instead of always the first available pair of them. Each Layout::Node remembers what the quote-nesting level was before its content was evaluated, so that we can re-use this number in `apply_style()`. This is a bit hacky, since we end up converting the `content` value into a string twice. `StyleProperties::content()` now takes an initial quote-nesting level, and returns the final level after that content.
This commit is contained in:
parent
493dd5d93c
commit
9e99368694
8 changed files with 372 additions and 14 deletions
|
@ -175,6 +175,9 @@ public:
|
|||
SelectionState selection_state() const { return m_selection_state; }
|
||||
void set_selection_state(SelectionState state) { m_selection_state = state; }
|
||||
|
||||
u32 initial_quote_nesting_level() const { return m_initial_quote_nesting_level; }
|
||||
void set_initial_quote_nesting_level(u32 value) { m_initial_quote_nesting_level = value; }
|
||||
|
||||
protected:
|
||||
Node(DOM::Document&, DOM::Node*);
|
||||
|
||||
|
@ -199,6 +202,8 @@ private:
|
|||
bool m_is_grid_item { false };
|
||||
|
||||
GeneratedFor m_generated_for { GeneratedFor::NotGenerated };
|
||||
|
||||
u32 m_initial_quote_nesting_level { 0 };
|
||||
};
|
||||
|
||||
class NodeWithStyle : public Node {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue