Title: [131430] branches/chromium/1229/Source/WebCore/css
- Revision
- 131430
- Author
- apav...@chromium.org
- Date
- 2012-10-16 02:10:08 -0700 (Tue, 16 Oct 2012)
Log Message
Merge 130511 - Web Inspector: [Styles] Unable to edit properties in broken stylesheets
https://bugs.webkit.org/show_bug.cgi?id=98246
Reviewed by Vsevolod Vlasov.
Source/WebCore:
Pop source data for invalid rules off the stack whenever we have consecutive CSSParser::markRuleHeaderStart() invocations.
* css/CSSParser.cpp:
(WebCore::CSSParser::popRuleData):
(WebCore::CSSParser::markRuleHeaderStart):
(WebCore::CSSParser::markRuleBodyStart):
* css/CSSParser.h:
(CSSParser):
TBR=apav...@chromium.org
Review URL: https://codereview.chromium.org/11179002
Modified Paths
Diff
Modified: branches/chromium/1229/Source/WebCore/css/CSSParser.cpp (131429 => 131430)
--- branches/chromium/1229/Source/WebCore/css/CSSParser.cpp 2012-10-16 08:51:49 UTC (rev 131429)
+++ branches/chromium/1229/Source/WebCore/css/CSSParser.cpp 2012-10-16 09:10:08 UTC (rev 131430)
@@ -9627,6 +9627,7 @@
return 0;
ASSERT(!m_currentRuleDataStack->isEmpty());
+ m_currentRuleData.clear();
RefPtr<CSSRuleSourceData> data = ""
m_currentRuleDataStack->removeLast();
return data.release();
@@ -9920,8 +9921,14 @@
{
if (!isExtractingSourceData())
return;
+
+ // Pop off data for a previous invalid rule.
+ if (m_currentRuleData)
+ m_currentRuleDataStack->removeLast();
+
RefPtr<CSSRuleSourceData> data = ""
data->ruleHeaderRange.start = m_tokenStart - m_dataStart.get();
+ m_currentRuleData = data;
m_currentRuleDataStack->append(data.release());
}
@@ -9944,6 +9951,7 @@
{
if (!isExtractingSourceData())
return;
+ m_currentRuleData.clear();
unsigned offset = m_tokenStart - m_dataStart.get();
if (*m_tokenStart == '{')
++offset; // Skip the rule body opening brace.
Modified: branches/chromium/1229/Source/WebCore/css/CSSParser.h (131429 => 131430)
--- branches/chromium/1229/Source/WebCore/css/CSSParser.h 2012-10-16 08:51:49 UTC (rev 131429)
+++ branches/chromium/1229/Source/WebCore/css/CSSParser.h 2012-10-16 09:10:08 UTC (rev 131430)
@@ -334,6 +334,7 @@
size_t m_parsedTextPrefixLength;
SourceRange m_propertyRange;
OwnPtr<RuleSourceDataList> m_currentRuleDataStack;
+ RefPtr<CSSRuleSourceData> m_currentRuleData;
RuleSourceDataList* m_ruleSourceDataResult;
void fixUnparsedPropertyRanges(CSSRuleSourceData*);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes