Commit d8fde3ac authored by keishi@chromium.org's avatar keishi@chromium.org

Oilpan: Prepare moving InspectorStyle to Oilpan

BUG=340522

Review URL: https://codereview.chromium.org/417953002

git-svn-id: svn://svn.chromium.org/blink/trunk@179080 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent d932bcae
...@@ -730,7 +730,7 @@ void InspectorCSSAgent::getComputedStyleForNode(ErrorString* errorString, int no ...@@ -730,7 +730,7 @@ void InspectorCSSAgent::getComputedStyleForNode(ErrorString* errorString, int no
return; return;
RefPtrWillBeRawPtr<CSSComputedStyleDeclaration> computedStyleInfo = CSSComputedStyleDeclaration::create(node, true); RefPtrWillBeRawPtr<CSSComputedStyleDeclaration> computedStyleInfo = CSSComputedStyleDeclaration::create(node, true);
RefPtr<InspectorStyle> inspectorStyle = InspectorStyle::create(InspectorCSSId(), computedStyleInfo, 0); RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = InspectorStyle::create(InspectorCSSId(), computedStyleInfo, 0);
style = inspectorStyle->buildArrayForComputedStyle(); style = inspectorStyle->buildArrayForComputedStyle();
} }
...@@ -1362,7 +1362,7 @@ PassRefPtr<TypeBuilder::CSS::CSSStyle> InspectorCSSAgent::buildObjectForAttribut ...@@ -1362,7 +1362,7 @@ PassRefPtr<TypeBuilder::CSS::CSSStyle> InspectorCSSAgent::buildObjectForAttribut
MutableStylePropertySet* mutableAttributeStyle = toMutableStylePropertySet(attributeStyle); MutableStylePropertySet* mutableAttributeStyle = toMutableStylePropertySet(attributeStyle);
RefPtr<InspectorStyle> inspectorStyle = InspectorStyle::create(InspectorCSSId(), mutableAttributeStyle->ensureCSSStyleDeclaration(), 0); RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = InspectorStyle::create(InspectorCSSId(), mutableAttributeStyle->ensureCSSStyleDeclaration(), 0);
return inspectorStyle->buildObjectForStyle(); return inspectorStyle->buildObjectForStyle();
} }
......
...@@ -503,9 +503,9 @@ static PassRefPtrWillBeRawPtr<CSSRuleList> asCSSRuleList(CSSRule* rule) ...@@ -503,9 +503,9 @@ static PassRefPtrWillBeRawPtr<CSSRuleList> asCSSRuleList(CSSRule* rule)
return nullptr; return nullptr;
} }
PassRefPtr<InspectorStyle> InspectorStyle::create(const InspectorCSSId& styleId, PassRefPtrWillBeRawPtr<CSSStyleDeclaration> style, InspectorStyleSheetBase* parentStyleSheet) PassRefPtrWillBeRawPtr<InspectorStyle> InspectorStyle::create(const InspectorCSSId& styleId, PassRefPtrWillBeRawPtr<CSSStyleDeclaration> style, InspectorStyleSheetBase* parentStyleSheet)
{ {
return adoptRef(new InspectorStyle(styleId, style, parentStyleSheet)); return adoptRefWillBeNoop(new InspectorStyle(styleId, style, parentStyleSheet));
} }
InspectorStyle::InspectorStyle(const InspectorCSSId& styleId, PassRefPtrWillBeRawPtr<CSSStyleDeclaration> style, InspectorStyleSheetBase* parentStyleSheet) InspectorStyle::InspectorStyle(const InspectorCSSId& styleId, PassRefPtrWillBeRawPtr<CSSStyleDeclaration> style, InspectorStyleSheetBase* parentStyleSheet)
...@@ -827,6 +827,12 @@ Document* InspectorStyle::ownerDocument() const ...@@ -827,6 +827,12 @@ Document* InspectorStyle::ownerDocument() const
return m_parentStyleSheet->ownerDocument(); return m_parentStyleSheet->ownerDocument();
} }
void InspectorStyle::trace(Visitor* visitor)
{
visitor->trace(m_style);
visitor->trace(m_parentStyleSheet);
}
InspectorStyleSheetBase::InspectorStyleSheetBase(const String& id, Listener* listener) InspectorStyleSheetBase::InspectorStyleSheetBase(const String& id, Listener* listener)
: m_id(id) : m_id(id)
, m_listener(listener) , m_listener(listener)
...@@ -835,7 +841,7 @@ InspectorStyleSheetBase::InspectorStyleSheetBase(const String& id, Listener* lis ...@@ -835,7 +841,7 @@ InspectorStyleSheetBase::InspectorStyleSheetBase(const String& id, Listener* lis
bool InspectorStyleSheetBase::setPropertyText(const InspectorCSSId& id, unsigned propertyIndex, const String& text, bool overwrite, ExceptionState& exceptionState) bool InspectorStyleSheetBase::setPropertyText(const InspectorCSSId& id, unsigned propertyIndex, const String& text, bool overwrite, ExceptionState& exceptionState)
{ {
RefPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id); RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
if (!inspectorStyle) { if (!inspectorStyle) {
exceptionState.throwDOMException(NotFoundError, "No property could be found for the given ID."); exceptionState.throwDOMException(NotFoundError, "No property could be found for the given ID.");
return false; return false;
...@@ -845,7 +851,7 @@ bool InspectorStyleSheetBase::setPropertyText(const InspectorCSSId& id, unsigned ...@@ -845,7 +851,7 @@ bool InspectorStyleSheetBase::setPropertyText(const InspectorCSSId& id, unsigned
bool InspectorStyleSheetBase::getStyleText(const InspectorCSSId& id, String* text) bool InspectorStyleSheetBase::getStyleText(const InspectorCSSId& id, String* text)
{ {
RefPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id); RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
if (!inspectorStyle) if (!inspectorStyle)
return false; return false;
return inspectorStyle->styleText(text); return inspectorStyle->styleText(text);
...@@ -867,10 +873,10 @@ PassRefPtr<TypeBuilder::CSS::CSSStyle> InspectorStyleSheetBase::buildObjectForSt ...@@ -867,10 +873,10 @@ PassRefPtr<TypeBuilder::CSS::CSSStyle> InspectorStyleSheetBase::buildObjectForSt
if (id.isEmpty()) { if (id.isEmpty()) {
// Any rule coming from User Agent and not from DefaultStyleSheet will not have id. // Any rule coming from User Agent and not from DefaultStyleSheet will not have id.
// See InspectorCSSAgent::buildObjectForRule for details. // See InspectorCSSAgent::buildObjectForRule for details.
RefPtr<InspectorStyle> inspectorStyle = InspectorStyle::create(id, style, this); RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = InspectorStyle::create(id, style, this);
return inspectorStyle->buildObjectForStyle(); return inspectorStyle->buildObjectForStyle();
} }
RefPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id); RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
RefPtr<TypeBuilder::CSS::CSSStyle> result = inspectorStyle->buildObjectForStyle(); RefPtr<TypeBuilder::CSS::CSSStyle> result = inspectorStyle->buildObjectForStyle();
// Style text cannot be retrieved without stylesheet, so set cssText here. // Style text cannot be retrieved without stylesheet, so set cssText here.
...@@ -1290,7 +1296,7 @@ PassRefPtr<TypeBuilder::CSS::SourceRange> InspectorStyleSheet::ruleHeaderSourceR ...@@ -1290,7 +1296,7 @@ PassRefPtr<TypeBuilder::CSS::SourceRange> InspectorStyleSheet::ruleHeaderSourceR
return buildSourceRangeObject(sourceData->ruleHeaderRange, lineEndings().get()); return buildSourceRangeObject(sourceData->ruleHeaderRange, lineEndings().get());
} }
PassRefPtr<InspectorStyle> InspectorStyleSheet::inspectorStyleForId(const InspectorCSSId& id) PassRefPtrWillBeRawPtr<InspectorStyle> InspectorStyleSheet::inspectorStyleForId(const InspectorCSSId& id)
{ {
CSSStyleDeclaration* style = styleForId(id); CSSStyleDeclaration* style = styleForId(id);
if (!style) if (!style)
...@@ -1667,7 +1673,7 @@ bool InspectorStyleSheetForInlineStyle::ensureParsedDataReady() ...@@ -1667,7 +1673,7 @@ bool InspectorStyleSheetForInlineStyle::ensureParsedDataReady()
return true; return true;
} }
PassRefPtr<InspectorStyle> InspectorStyleSheetForInlineStyle::inspectorStyleForId(const InspectorCSSId& id) PassRefPtrWillBeRawPtr<InspectorStyle> InspectorStyleSheetForInlineStyle::inspectorStyleForId(const InspectorCSSId& id)
{ {
ASSERT_UNUSED(id, !id.ordinal()); ASSERT_UNUSED(id, !id.ordinal());
return m_inspectorStyle; return m_inspectorStyle;
...@@ -1706,6 +1712,7 @@ void InspectorStyleSheetForInlineStyle::trace(Visitor* visitor) ...@@ -1706,6 +1712,7 @@ void InspectorStyleSheetForInlineStyle::trace(Visitor* visitor)
{ {
visitor->trace(m_element); visitor->trace(m_element);
visitor->trace(m_ruleSourceData); visitor->trace(m_ruleSourceData);
visitor->trace(m_inspectorStyle);
InspectorStyleSheetBase::trace(visitor); InspectorStyleSheetBase::trace(visitor);
} }
......
...@@ -111,9 +111,9 @@ public: ...@@ -111,9 +111,9 @@ public:
String rawText; String rawText;
}; };
class InspectorStyle FINAL : public RefCounted<InspectorStyle> { class InspectorStyle FINAL : public RefCountedWillBeGarbageCollectedFinalized<InspectorStyle> {
public: 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(); } CSSStyleDeclaration* cssStyle() const { return m_style.get(); }
PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForStyle() const; PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForStyle() const;
...@@ -121,6 +121,8 @@ public: ...@@ -121,6 +121,8 @@ public:
bool setPropertyText(unsigned index, const String& text, bool overwrite, ExceptionState&); bool setPropertyText(unsigned index, const String& text, bool overwrite, ExceptionState&);
bool styleText(String* result) const; bool styleText(String* result) const;
void trace(Visitor*);
private: private:
InspectorStyle(const InspectorCSSId&, PassRefPtrWillBeRawPtr<CSSStyleDeclaration>, InspectorStyleSheetBase* parentStyleSheet); InspectorStyle(const InspectorCSSId&, PassRefPtrWillBeRawPtr<CSSStyleDeclaration>, InspectorStyleSheetBase* parentStyleSheet);
...@@ -134,8 +136,8 @@ private: ...@@ -134,8 +136,8 @@ private:
inline Document* ownerDocument() const; inline Document* ownerDocument() const;
InspectorCSSId m_styleId; InspectorCSSId m_styleId;
RefPtrWillBePersistent<CSSStyleDeclaration> m_style; RefPtrWillBeMember<CSSStyleDeclaration> m_style;
InspectorStyleSheetBase* m_parentStyleSheet; RawPtrWillBeMember<InspectorStyleSheetBase> m_parentStyleSheet;
mutable std::pair<String, String> m_format; mutable std::pair<String, String> m_format;
mutable bool m_formatAcquired; mutable bool m_formatAcquired;
}; };
...@@ -177,7 +179,7 @@ protected: ...@@ -177,7 +179,7 @@ protected:
void fireStyleSheetChanged(); void fireStyleSheetChanged();
PassOwnPtr<Vector<unsigned> > lineEndings(); PassOwnPtr<Vector<unsigned> > lineEndings();
virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) = 0; virtual PassRefPtrWillBeRawPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) = 0;
virtual unsigned ruleCount() = 0; virtual unsigned ruleCount() = 0;
// Also accessed by friend class InspectorStyle. // Also accessed by friend class InspectorStyle.
...@@ -226,7 +228,7 @@ public: ...@@ -226,7 +228,7 @@ public:
const CSSRuleVector& flatRules(); const CSSRuleVector& flatRules();
protected: protected:
virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) OVERRIDE; virtual PassRefPtrWillBeRawPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) OVERRIDE;
virtual unsigned ruleCount() OVERRIDE; virtual unsigned ruleCount() OVERRIDE;
// Also accessed by friend class InspectorStyle. // Also accessed by friend class InspectorStyle.
...@@ -280,7 +282,7 @@ public: ...@@ -280,7 +282,7 @@ public:
virtual void trace(Visitor*) OVERRIDE; virtual void trace(Visitor*) OVERRIDE;
protected: protected:
virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) OVERRIDE; virtual PassRefPtrWillBeRawPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId&) OVERRIDE;
virtual unsigned ruleCount() OVERRIDE { return 1; } virtual unsigned ruleCount() OVERRIDE { return 1; }
// Also accessed by friend class InspectorStyle. // Also accessed by friend class InspectorStyle.
...@@ -295,7 +297,7 @@ private: ...@@ -295,7 +297,7 @@ private:
RefPtrWillBeMember<Element> m_element; RefPtrWillBeMember<Element> m_element;
RefPtrWillBeMember<CSSRuleSourceData> m_ruleSourceData; RefPtrWillBeMember<CSSRuleSourceData> m_ruleSourceData;
RefPtr<InspectorStyle> m_inspectorStyle; RefPtrWillBeMember<InspectorStyle> m_inspectorStyle;
// Contains "style" attribute value. // Contains "style" attribute value.
mutable String m_styleText; mutable String m_styleText;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment