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
return;
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();
}
......@@ -1362,7 +1362,7 @@ PassRefPtr<TypeBuilder::CSS::CSSStyle> InspectorCSSAgent::buildObjectForAttribut
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();
}
......
......@@ -503,9 +503,9 @@ static PassRefPtrWillBeRawPtr<CSSRuleList> asCSSRuleList(CSSRule* rule)
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)
......@@ -827,6 +827,12 @@ Document* InspectorStyle::ownerDocument() const
return m_parentStyleSheet->ownerDocument();
}
void InspectorStyle::trace(Visitor* visitor)
{
visitor->trace(m_style);
visitor->trace(m_parentStyleSheet);
}
InspectorStyleSheetBase::InspectorStyleSheetBase(const String& id, Listener* listener)
: m_id(id)
, m_listener(listener)
......@@ -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)
{
RefPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
if (!inspectorStyle) {
exceptionState.throwDOMException(NotFoundError, "No property could be found for the given ID.");
return false;
......@@ -845,7 +851,7 @@ bool InspectorStyleSheetBase::setPropertyText(const InspectorCSSId& id, unsigned
bool InspectorStyleSheetBase::getStyleText(const InspectorCSSId& id, String* text)
{
RefPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
if (!inspectorStyle)
return false;
return inspectorStyle->styleText(text);
......@@ -867,10 +873,10 @@ PassRefPtr<TypeBuilder::CSS::CSSStyle> InspectorStyleSheetBase::buildObjectForSt
if (id.isEmpty()) {
// Any rule coming from User Agent and not from DefaultStyleSheet will not have id.
// See InspectorCSSAgent::buildObjectForRule for details.
RefPtr<InspectorStyle> inspectorStyle = InspectorStyle::create(id, style, this);
RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = InspectorStyle::create(id, style, this);
return inspectorStyle->buildObjectForStyle();
}
RefPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
RefPtrWillBeRawPtr<InspectorStyle> inspectorStyle = inspectorStyleForId(id);
RefPtr<TypeBuilder::CSS::CSSStyle> result = inspectorStyle->buildObjectForStyle();
// Style text cannot be retrieved without stylesheet, so set cssText here.
......@@ -1290,7 +1296,7 @@ PassRefPtr<TypeBuilder::CSS::SourceRange> InspectorStyleSheet::ruleHeaderSourceR
return buildSourceRangeObject(sourceData->ruleHeaderRange, lineEndings().get());
}
PassRefPtr<InspectorStyle> InspectorStyleSheet::inspectorStyleForId(const InspectorCSSId& id)
PassRefPtrWillBeRawPtr<InspectorStyle> InspectorStyleSheet::inspectorStyleForId(const InspectorCSSId& id)
{
CSSStyleDeclaration* style = styleForId(id);
if (!style)
......@@ -1667,7 +1673,7 @@ bool InspectorStyleSheetForInlineStyle::ensureParsedDataReady()
return true;
}
PassRefPtr<InspectorStyle> InspectorStyleSheetForInlineStyle::inspectorStyleForId(const InspectorCSSId& id)
PassRefPtrWillBeRawPtr<InspectorStyle> InspectorStyleSheetForInlineStyle::inspectorStyleForId(const InspectorCSSId& id)
{
ASSERT_UNUSED(id, !id.ordinal());
return m_inspectorStyle;
......@@ -1706,6 +1712,7 @@ void InspectorStyleSheetForInlineStyle::trace(Visitor* visitor)
{
visitor->trace(m_element);
visitor->trace(m_ruleSourceData);
visitor->trace(m_inspectorStyle);
InspectorStyleSheetBase::trace(visitor);
}
......
......@@ -111,9 +111,9 @@ public:
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;
......@@ -121,6 +121,8 @@ public:
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);
......@@ -134,8 +136,8 @@ private:
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;
};
......@@ -177,7 +179,7 @@ protected:
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.
......@@ -226,7 +228,7 @@ public:
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.
......@@ -280,7 +282,7 @@ public:
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.
......@@ -295,7 +297,7 @@ private:
RefPtrWillBeMember<Element> m_element;
RefPtrWillBeMember<CSSRuleSourceData> m_ruleSourceData;
RefPtr<InspectorStyle> m_inspectorStyle;
RefPtrWillBeMember<InspectorStyle> m_inspectorStyle;
// Contains "style" attribute value.
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