class ParsedStyleSheet;
-namespace WebCore {
+namespace blink {
+class CSSMediaRule;
class CSSRuleList;
class CSSStyleDeclaration;
class CSSStyleRule;
class InspectorResourceAgent;
class InspectorStyleSheetBase;
-typedef WillBePersistentHeapVector<RefPtrWillBeMember<CSSRule> > CSSRuleVector;
+typedef WillBeHeapVector<RefPtrWillBeMember<CSSRule> > CSSRuleVector;
typedef String ErrorString;
class InspectorCSSId {
String rawText;
};
-class InspectorStyle FINAL : public RefCounted<InspectorStyle> {
+class InspectorStyle FINAL : public RefCountedWillBeGarbageCollectedFinalized<InspectorStyle> {
public:
- static PassRefPtr<InspectorStyle> create(const InspectorCSSId&, PassRefPtrWillBeRawPtr<CSSStyleDeclaration>, InspectorStyleSheetBase* parentStyleSheet);
+ static PassRefPtrWillBeRawPtr<InspectorStyle> create(const InspectorCSSId&, PassRefPtrWillBeRawPtr<CSSStyleDeclaration>, InspectorStyleSheetBase* parentStyleSheet);
CSSStyleDeclaration* cssStyle() const { return m_style.get(); }
PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForStyle() const;
bool setPropertyText(unsigned index, const String& text, bool overwrite, ExceptionState&);
bool styleText(String* result) const;
+ void trace(Visitor*);
+
private:
InspectorStyle(const InspectorCSSId&, PassRefPtrWillBeRawPtr<CSSStyleDeclaration>, InspectorStyleSheetBase* parentStyleSheet);
inline Document* ownerDocument() const;
InspectorCSSId m_styleId;
- RefPtrWillBePersistent<CSSStyleDeclaration> m_style;
- InspectorStyleSheetBase* m_parentStyleSheet;
+ RefPtrWillBeMember<CSSStyleDeclaration> m_style;
+ RawPtrWillBeMember<InspectorStyleSheetBase> m_parentStyleSheet;
mutable std::pair<String, String> m_format;
mutable bool m_formatAcquired;
};
-class InspectorStyleSheetBase : public RefCounted<InspectorStyleSheetBase> {
+class InspectorStyleSheetBase : public RefCountedWillBeGarbageCollectedFinalized<InspectorStyleSheetBase> {
public:
class Listener {
public:
virtual void didReparseStyleSheet() = 0;
};
virtual ~InspectorStyleSheetBase() { }
+ virtual void trace(Visitor*) { }
String id() const { return m_id; }
void fireStyleSheetChanged();
PassOwnPtr<Vector<unsigned> > lineEndings();
- virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) = 0;
+ virtual PassRefPtrWillBeRawPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) = 0;
virtual unsigned ruleCount() = 0;
// Also accessed by friend class InspectorStyle.
class InspectorStyleSheet : public InspectorStyleSheetBase {
public:
- static PassRefPtr<InspectorStyleSheet> create(InspectorPageAgent*, InspectorResourceAgent*, const String& id, PassRefPtrWillBeRawPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS::StyleSheetOrigin::Enum, const String& documentURL, Listener*);
+ static PassRefPtrWillBeRawPtr<InspectorStyleSheet> create(InspectorPageAgent*, InspectorResourceAgent*, const String& id, PassRefPtrWillBeRawPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS::StyleSheetOrigin::Enum, const String& documentURL, Listener*);
virtual ~InspectorStyleSheet();
+ virtual void trace(Visitor*) OVERRIDE;
String finalURL() const;
virtual Document* ownerDocument() const OVERRIDE;
virtual bool getText(String* result) const OVERRIDE;
String ruleSelector(const InspectorCSSId&, ExceptionState&);
bool setRuleSelector(const InspectorCSSId&, const String& selector, ExceptionState&);
- CSSStyleRule* addRule(const String& selector, ExceptionState&);
- bool deleteRule(const InspectorCSSId&, ExceptionState&);
+ CSSStyleRule* addRule(const String& ruleText, const SourceRange& location, ExceptionState&);
+ bool deleteRule(const InspectorCSSId&, const String& oldText, ExceptionState&);
CSSStyleSheet* pageStyleSheet() const { return m_pageStyleSheet.get(); }
const CSSRuleVector& flatRules();
protected:
- virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) OVERRIDE;
+ virtual PassRefPtrWillBeRawPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) OVERRIDE;
virtual unsigned ruleCount() OVERRIDE;
// Also accessed by friend class InspectorStyle.
private:
InspectorStyleSheet(InspectorPageAgent*, InspectorResourceAgent*, const String& id, PassRefPtrWillBeRawPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS::StyleSheetOrigin::Enum, const String& documentURL, Listener*);
-
+ unsigned ruleIndexBySourceRange(const CSSMediaRule* parentMediaRule, const SourceRange&);
+ CSSStyleRule* insertCSSOMRuleInStyleSheet(const SourceRange&, const String& ruleText, ExceptionState&);
+ CSSStyleRule* insertCSSOMRuleInMediaRule(CSSMediaRule*, const SourceRange&, const String& ruleText, ExceptionState&);
+ CSSStyleRule* insertCSSOMRuleBySourceRange(const SourceRange&, const String& ruleText, ExceptionState&);
+ bool verifyRuleText(const String& ruleText);
unsigned ruleIndexByStyle(CSSStyleDeclaration*) const;
String sourceMapURL() const;
String sourceURL() const;
bool hasSourceURL() const;
bool startsAtZero() const;
- InspectorPageAgent* m_pageAgent;
- InspectorResourceAgent* m_resourceAgent;
- RefPtrWillBePersistent<CSSStyleSheet> m_pageStyleSheet;
+ void updateText(const String& newText);
+ Element* ownerStyleElement() const;
+
+ RawPtrWillBeMember<InspectorPageAgent> m_pageAgent;
+ RawPtrWillBeMember<InspectorResourceAgent> m_resourceAgent;
+ RefPtrWillBeMember<CSSStyleSheet> m_pageStyleSheet;
TypeBuilder::CSS::StyleSheetOrigin::Enum m_origin;
String m_documentURL;
OwnPtr<ParsedStyleSheet> m_parsedStyleSheet;
class InspectorStyleSheetForInlineStyle FINAL : public InspectorStyleSheetBase {
public:
- static PassRefPtr<InspectorStyleSheetForInlineStyle> create(const String& id, PassRefPtrWillBeRawPtr<Element>, Listener*);
+ static PassRefPtrWillBeRawPtr<InspectorStyleSheetForInlineStyle> create(const String& id, PassRefPtrWillBeRawPtr<Element>, Listener*);
void didModifyElementAttribute();
virtual Document* ownerDocument() const OVERRIDE;
virtual InspectorCSSId styleId(CSSStyleDeclaration* style) const OVERRIDE { return InspectorCSSId(id(), 0); }
virtual bool setStyleText(const InspectorCSSId&, const String&) OVERRIDE;
+ virtual void trace(Visitor*) OVERRIDE;
+
protected:
- virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) OVERRIDE;
+ virtual PassRefPtrWillBeRawPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) OVERRIDE;
virtual unsigned ruleCount() OVERRIDE { return 1; }
// Also accessed by friend class InspectorStyle.
const String& elementStyleText() const;
PassRefPtrWillBeRawPtr<CSSRuleSourceData> getStyleAttributeData() const;
- RefPtrWillBePersistent<Element> m_element;
- RefPtrWillBePersistent<CSSRuleSourceData> m_ruleSourceData;
- RefPtr<InspectorStyle> m_inspectorStyle;
+ RefPtrWillBeMember<Element> m_element;
+ RefPtrWillBeMember<CSSRuleSourceData> m_ruleSourceData;
+ RefPtrWillBeMember<InspectorStyle> m_inspectorStyle;
// Contains "style" attribute value.
mutable String m_styleText;
};
-} // namespace WebCore
+} // namespace blink
-WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(WebCore::InspectorStyleProperty);
+WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::InspectorStyleProperty);
#endif // !defined(InspectorStyleSheet_h)