#include "core/dom/StyleElement.h"
#include "core/html/HTMLElement.h"
-namespace WebCore {
+namespace blink {
class HTMLStyleElement;
-class StyleSheet;
template<typename T> class EventSender;
typedef EventSender<HTMLStyleElement> StyleEventSender;
-class HTMLStyleElement FINAL : public HTMLElement, private StyleElement {
+class HTMLStyleElement final : public HTMLElement, private StyleElement {
+ DEFINE_WRAPPERTYPEINFO();
+ WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLStyleElement);
public:
- static PassRefPtr<HTMLStyleElement> create(const QualifiedName&, Document&, bool createdByParser);
+ static PassRefPtrWillBeRawPtr<HTMLStyleElement> create(Document&, bool createdByParser);
virtual ~HTMLStyleElement();
- void setType(const AtomicString&);
-
- bool scoped() const;
- void setScoped(bool);
ContainerNode* scopingNode();
- bool isRegisteredAsScoped() const
- {
- // Note: We cannot rely on the 'scoped' attribute still being present when this method is invoked.
- // Therefore we cannot rely on scoped()!
- if (m_scopedStyleRegistrationState == NotRegistered)
- return false;
- return true;
- }
-
- bool isRegisteredInShadowRoot() const
- {
- return m_scopedStyleRegistrationState == RegisteredInShadowRoot;
- }
using StyleElement::sheet;
void dispatchPendingEvent(StyleEventSender*);
static void dispatchPendingLoadEvents();
+ virtual void trace(Visitor*) override;
+
private:
- HTMLStyleElement(const QualifiedName&, Document&, bool createdByParser);
+ HTMLStyleElement(Document&, bool createdByParser);
// overload from HTMLElement
- virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void didNotifySubtreeInsertionsToDocument() OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
- virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
-
- virtual void finishParsingChildren();
-
- virtual bool isLoading() const { return StyleElement::isLoading(); }
- virtual bool sheetLoaded() { return StyleElement::sheetLoaded(document()); }
- virtual void notifyLoadedSheetAndAllCriticalSubresources(bool errorOccurred);
- virtual void startLoadingDynamicSheet() { StyleElement::startLoadingDynamicSheet(document()); }
+ virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode*) override;
+ virtual void didNotifySubtreeInsertionsToDocument() override;
+ virtual void removedFrom(ContainerNode*) override;
+ virtual void childrenChanged(const ChildrenChange&) override;
- virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
+ virtual void finishParsingChildren() override;
- virtual const AtomicString& media() const;
- virtual const AtomicString& type() const;
+ virtual bool sheetLoaded() override { return StyleElement::sheetLoaded(document()); }
+ virtual void notifyLoadedSheetAndAllCriticalSubresources(bool errorOccurred) override;
+ virtual void startLoadingDynamicSheet() override { StyleElement::startLoadingDynamicSheet(document()); }
- void scopedAttributeChanged(bool);
- void registerWithScopingNode(bool);
- void unregisterWithScopingNode(ContainerNode*);
+ virtual const AtomicString& media() const override;
+ virtual const AtomicString& type() const override;
bool m_firedLoad;
bool m_loadedSheet;
-
- enum ScopedStyleRegistrationState {
- NotRegistered,
- RegisteredAsScoped,
- RegisteredInShadowRoot
- };
- ScopedStyleRegistrationState m_scopedStyleRegistrationState;
};
-inline bool isHTMLStyleElement(Node* node)
-{
- ASSERT(node);
- return node->hasTagName(HTMLNames::styleTag);
-}
-
-DEFINE_NODE_TYPE_CASTS(HTMLStyleElement, hasTagName(HTMLNames::styleTag));
-
-} //namespace
+} // namespace blink
-#endif
+#endif // HTMLStyleElement_h