#ifndef CSSDefaultStyleSheets_h
#define CSSDefaultStyleSheets_h
#include "heap/Handle.h"
namespace WebCore {
class Element;
class RuleSet;
class StyleSheetContents;
class CSSDefaultStyleSheets : public NoBaseWillBeGarbageCollected<CSSDefaultStyleSheets> {
public:
static CSSDefaultStyleSheets& instance();
void ensureDefaultStyleSheetsForElement(Element*, bool& changedDefaultStyle);
RuleSet* defaultStyle() { return m_defaultStyle.get(); }
RuleSet* defaultViewportStyle() { return m_defaultViewportStyle.get(); }
RuleSet* defaultQuirksStyle() { return m_defaultQuirksStyle.get(); }
RuleSet* defaultPrintStyle() { return m_defaultPrintStyle.get(); }
RuleSet* defaultViewSourceStyle();
RuleSet* defaultXHTMLMobileProfileStyle();
StyleSheetContents* defaultStyleSheet() { return m_defaultStyleSheet.get(); }
StyleSheetContents* viewportStyleSheet() { return m_viewportStyleSheet.get(); }
StyleSheetContents* quirksStyleSheet() { return m_quirksStyleSheet.get(); }
StyleSheetContents* svgStyleSheet() { return m_svgStyleSheet.get(); }
StyleSheetContents* mathmlStyleSheet() { return m_mathmlStyleSheet.get(); }
StyleSheetContents* mediaControlsStyleSheet() { return m_mediaControlsStyleSheet.get(); }
StyleSheetContents* fullscreenStyleSheet() { return m_fullscreenStyleSheet.get(); }
void trace(Visitor*);
private:
CSSDefaultStyleSheets();
OwnPtrWillBeMember<RuleSet> m_defaultStyle;
OwnPtrWillBeMember<RuleSet> m_defaultViewportStyle;
OwnPtrWillBeMember<RuleSet> m_defaultQuirksStyle;
OwnPtrWillBeMember<RuleSet> m_defaultPrintStyle;
OwnPtrWillBeMember<RuleSet> m_defaultViewSourceStyle;
OwnPtrWillBeMember<RuleSet> m_defaultXHTMLMobileProfileStyle;
RefPtrWillBeMember<StyleSheetContents> m_defaultStyleSheet;
RefPtrWillBeMember<StyleSheetContents> m_viewportStyleSheet;
RefPtrWillBeMember<StyleSheetContents> m_quirksStyleSheet;
RefPtrWillBeMember<StyleSheetContents> m_svgStyleSheet;
RefPtrWillBeMember<StyleSheetContents> m_mathmlStyleSheet;
RefPtrWillBeMember<StyleSheetContents> m_mediaControlsStyleSheet;
RefPtrWillBeMember<StyleSheetContents> m_fullscreenStyleSheet;
};
}
#endif