DevTools: Clean up InspectorStyleSheet, InspectorCSSAgent, and InspectorResourceAgent
R=vsevik
Review URL: https://chromiumcodereview.appspot.com/20091002
git-svn-id: svn://svn.chromium.org/blink/trunk@154991 bbb929c8-8fbe-4397-9dbb-9b2b20218538
diff --git a/Source/core/inspector/InspectorCSSAgent.cpp b/Source/core/inspector/InspectorCSSAgent.cpp
index 2d23bf7..d18aa31 100644
--- a/Source/core/inspector/InspectorCSSAgent.cpp
+++ b/Source/core/inspector/InspectorCSSAgent.cpp
@@ -141,7 +141,7 @@
void run(CSSStyleSheet* styleSheet)
{
- RefPtr<InspectorStyleSheet> inspectorStyleSheet = m_cssStyleSheetToInspectorStyleSheet.get(static_cast<CSSStyleSheet*>(styleSheet));
+ RefPtr<InspectorStyleSheet> inspectorStyleSheet = m_cssStyleSheetToInspectorStyleSheet.get(styleSheet);
// Avoid creating m_childRuleCSSOMWrappers in the stylesheet if it is in the process of re-parsing.
// Otherwise m_childRuleCSSOMWrappers size will be initialized only for a part of rules, resulting in an ASSERT failure in CSSStyleSheet::item().
// Instead, wait for the RuleMutationScope destruction and handle the complete CSSStyleSheet.
@@ -912,7 +912,6 @@
if (!m_frontend)
return;
- RefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSStyleSheetHeader> > styleInfos = TypeBuilder::Array<TypeBuilder::CSS::CSSStyleSheetHeader>::create();
Vector<InspectorStyleSheet*> styleSheets;
collectAllStyleSheets(styleSheets);
for (size_t i = 0; i < styleSheets.size(); ++i)
@@ -1033,7 +1032,6 @@
addedSheets.add(newCSSSheet);
}
- RefPtr<TypeBuilder::Array<TypeBuilder::CSS::StyleSheetId> > removedIds = TypeBuilder::Array<TypeBuilder::CSS::StyleSheetId>::create();
for (HashSet<CSSStyleSheet*>::iterator it = removedSheets.begin(); it != removedSheets.end(); ++it) {
RefPtr<InspectorStyleSheet> inspectorStyleSheet = m_cssStyleSheetToInspectorStyleSheet.get(*it);
ASSERT(inspectorStyleSheet);
@@ -1043,7 +1041,7 @@
m_frontend->styleSheetRemoved(id);
}
}
- RefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSStyleSheetHeader> > addedHeaders = TypeBuilder::Array<TypeBuilder::CSS::CSSStyleSheetHeader>::create();
+
for (HashSet<CSSStyleSheet*>::iterator it = addedSheets.begin(); it != addedSheets.end(); ++it) {
if (!m_cssStyleSheetToInspectorStyleSheet.contains(*it)) {
InspectorStyleSheet* newStyleSheet = bindStyleSheet(static_cast<CSSStyleSheet*>(*it));
@@ -1401,7 +1399,7 @@
CSSRule* parentRule = media->parentRule();
if (!parentRule)
return mediaObject.release();
- InspectorStyleSheet* inspectorStyleSheet = bindStyleSheet(const_cast<CSSStyleSheet*>(parentRule->parentStyleSheet()));
+ InspectorStyleSheet* inspectorStyleSheet = bindStyleSheet(parentRule->parentStyleSheet());
RefPtr<TypeBuilder::CSS::SourceRange> mediaRange = inspectorStyleSheet->ruleHeaderSourceRange(parentRule);
if (mediaRange)
mediaObject->setRange(mediaRange);
@@ -1524,19 +1522,18 @@
InspectorStyleSheetForInlineStyle* InspectorCSSAgent::asInspectorStyleSheet(Element* element)
{
NodeToInspectorStyleSheet::iterator it = m_nodeToInspectorStyleSheet.find(element);
- if (it == m_nodeToInspectorStyleSheet.end()) {
- CSSStyleDeclaration* style = element->isStyledElement() ? element->style() : 0;
- if (!style)
- return 0;
+ if (it != m_nodeToInspectorStyleSheet.end())
+ return it->value.get();
- String newStyleSheetId = String::number(m_lastStyleSheetId++);
- RefPtr<InspectorStyleSheetForInlineStyle> inspectorStyleSheet = InspectorStyleSheetForInlineStyle::create(m_pageAgent, newStyleSheetId, element, TypeBuilder::CSS::StyleSheetOrigin::Regular, this);
- m_idToInspectorStyleSheet.set(newStyleSheetId, inspectorStyleSheet);
- m_nodeToInspectorStyleSheet.set(element, inspectorStyleSheet);
- return inspectorStyleSheet.get();
- }
+ CSSStyleDeclaration* style = element->isStyledElement() ? element->style() : 0;
+ if (!style)
+ return 0;
- return it->value.get();
+ String newStyleSheetId = String::number(m_lastStyleSheetId++);
+ RefPtr<InspectorStyleSheetForInlineStyle> inspectorStyleSheet = InspectorStyleSheetForInlineStyle::create(m_pageAgent, newStyleSheetId, element, TypeBuilder::CSS::StyleSheetOrigin::Regular, this);
+ m_idToInspectorStyleSheet.set(newStyleSheetId, inspectorStyleSheet);
+ m_nodeToInspectorStyleSheet.set(element, inspectorStyleSheet);
+ return inspectorStyleSheet.get();
}
Element* InspectorCSSAgent::elementForId(ErrorString* errorString, int nodeId)
@@ -1546,7 +1543,7 @@
*errorString = "No node with given id found";
return 0;
}
- if (node->nodeType() != Node::ELEMENT_NODE) {
+ if (!node->isElementNode()) {
*errorString = "Not an element node";
return 0;
}
diff --git a/Source/core/inspector/InspectorResourceAgent.cpp b/Source/core/inspector/InspectorResourceAgent.cpp
index 50d9b75..2f7c771 100644
--- a/Source/core/inspector/InspectorResourceAgent.cpp
+++ b/Source/core/inspector/InspectorResourceAgent.cpp
@@ -271,18 +271,6 @@
return responseObject;
}
-static PassRefPtr<TypeBuilder::Network::CachedResource> buildObjectForResource(const Resource& cachedResource, DocumentLoader* loader)
-{
- RefPtr<TypeBuilder::Network::CachedResource> resourceObject = TypeBuilder::Network::CachedResource::create()
- .setUrl(urlWithoutFragment(cachedResource.url()).string())
- .setType(InspectorPageAgent::cachedResourceTypeJson(cachedResource))
- .setBodySize(cachedResource.encodedSize());
- RefPtr<TypeBuilder::Network::Response> resourceResponse = buildObjectForResourceResponse(cachedResource.response(), loader);
- if (resourceResponse)
- resourceObject->setResponse(resourceResponse);
- return resourceObject;
-}
-
InspectorResourceAgent::~InspectorResourceAgent()
{
if (m_state->getBoolean(ResourceAgentState::resourceAgentEnabled)) {
diff --git a/Source/core/inspector/InspectorStyleSheet.cpp b/Source/core/inspector/InspectorStyleSheet.cpp
index d825322..e556b84 100644
--- a/Source/core/inspector/InspectorStyleSheet.cpp
+++ b/Source/core/inspector/InspectorStyleSheet.cpp
@@ -67,7 +67,6 @@
public:
ParsedStyleSheet();
- WebCore::CSSStyleSheet* cssStyleSheet() const { return m_parserOutput; }
const String& text() const { ASSERT(m_hasText); return m_text; }
void setText(const String& text);
bool hasText() const { return m_hasText; }
@@ -78,16 +77,13 @@
private:
void flattenSourceData(RuleSourceDataList*);
- // StyleSheet constructed while parsing m_text.
- WebCore::CSSStyleSheet* m_parserOutput;
String m_text;
bool m_hasText;
OwnPtr<RuleSourceDataList> m_sourceData;
};
ParsedStyleSheet::ParsedStyleSheet()
- : m_parserOutput(0)
- , m_hasText(false)
+ : m_hasText(false)
{
}
@@ -560,9 +556,6 @@
return false;
}
- Vector<InspectorStyleProperty> allProperties;
- populateAllProperties(allProperties);
-
if (!propertyText.stripWhiteSpace().isEmpty()) {
RefPtr<MutableStylePropertySet> tempMutableStyle = MutableStylePropertySet::create();
String declarationText = propertyText + " " + bogusPropertyName + ": none";
@@ -598,6 +591,9 @@
return false;
}
+ Vector<InspectorStyleProperty> allProperties;
+ populateAllProperties(allProperties);
+
InspectorStyleTextEditor editor(&allProperties, text, newLineAndWhitespaceDelimiters());
if (overwrite) {
if (index >= allProperties.size()) {
@@ -671,11 +667,9 @@
void InspectorStyle::populateAllProperties(Vector<InspectorStyleProperty>& result) const
{
- HashSet<String> foundShorthands;
HashSet<String> sourcePropertyNames;
RefPtr<CSSRuleSourceData> sourceData = extractSourceData();
- OwnPtr<CSSParser> cssParser;
if (sourceData) {
String styleDeclaration;
bool isStyleTextKnown = styleText(&styleDeclaration);
@@ -700,9 +694,6 @@
PassRefPtr<TypeBuilder::CSS::CSSStyle> InspectorStyle::styleWithProperties() const
{
- Vector<InspectorStyleProperty> properties;
- populateAllProperties(properties);
-
RefPtr<Array<TypeBuilder::CSS::CSSProperty> > propertiesObject = Array<TypeBuilder::CSS::CSSProperty>::create();
RefPtr<Array<TypeBuilder::CSS::ShorthandEntry> > shorthandEntries = Array<TypeBuilder::CSS::ShorthandEntry>::create();
HashMap<String, RefPtr<TypeBuilder::CSS::CSSProperty> > propertyNameToPreviousActiveProperty;
@@ -713,6 +704,9 @@
RefPtr<CSSRuleSourceData> sourceData = extractSourceData();
unsigned ruleBodyRangeStart = sourceData ? sourceData->ruleBodyRange.start : 0;
+ Vector<InspectorStyleProperty> properties;
+ populateAllProperties(properties);
+
for (Vector<InspectorStyleProperty>::iterator it = properties.begin(), itEnd = properties.end(); it != itEnd; ++it) {
const CSSPropertySourceData& propertyEntry = it->sourceData;
const String& name = propertyEntry.name;