mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:27:44 +00:00
LibWeb: Add fast_is<T> for CSSRule subclasses
Since we already have a type enum for these, let's use it to make is<T> bypass dynamic_cast for CSS rules. These were often near the top of random browser profiles.
This commit is contained in:
parent
a078733865
commit
0d8c9024ee
3 changed files with 9 additions and 0 deletions
|
@ -60,4 +60,7 @@ private:
|
|||
RefPtr<CSSStyleSheet> m_style_sheet;
|
||||
};
|
||||
|
||||
template<>
|
||||
inline bool CSSRule::fast_is<CSSImportRule>() const { return type() == CSSRule::Type::Import; }
|
||||
|
||||
}
|
||||
|
|
|
@ -47,6 +47,9 @@ public:
|
|||
virtual StringView class_name() const = 0;
|
||||
virtual Type type() const = 0;
|
||||
|
||||
template<typename T>
|
||||
bool fast_is() const = delete;
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
|
|
@ -59,4 +59,7 @@ private:
|
|||
NonnullRefPtr<CSSStyleDeclaration> m_declaration;
|
||||
};
|
||||
|
||||
template<>
|
||||
inline bool CSSRule::fast_is<CSSStyleRule>() const { return type() == CSSRule::Type::Style; }
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue