Changeset 72687 in webkit


Ignore:
Timestamp:
Nov 24, 2010 10:45:53 AM (13 years ago)
Author:
apavlov@chromium.org
Message:

2010-11-24 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
https://bugs.webkit.org/show_bug.cgi?id=50025

@font-face rules were improperly handled by source data extractor.

WebCore:

  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::markRuleBodyStart): (WebCore::CSSParser::markPropertyStart): (WebCore::CSSParser::markPropertyEnd):
  • css/CSSParser.h:

LayoutTests:

  • inspector/resources/styles-new-API-1.css: (@font-face):
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r72685 r72687  
     12010-11-24  Alexander Pavlov  <apavlov@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
     6        https://bugs.webkit.org/show_bug.cgi?id=50025
     7
     8        * inspector/resources/styles-new-API-1.css:
     9        (@font-face):
     10
    1112010-11-24  Cris Neckar  <cdn@chromium.org>
    212
  • trunk/LayoutTests/inspector/resources/styles-new-API-1.css

    r72540 r72687  
    1010}
    1111
     12@font-face {
     13    font-family: 'TheFont';
     14    src: url('font.url');
     15    font-weight: normal;
     16    font-style: normal;
     17}
     18
    1219body {
    1320    property: imported-media-screen-stylesheet;
  • trunk/WebCore/ChangeLog

    r72685 r72687  
     12010-11-24  Alexander Pavlov  <apavlov@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
     6        https://bugs.webkit.org/show_bug.cgi?id=50025
     7
     8        @font-face rules were improperly handled by source data extractor.
     9
     10        * css/CSSParser.cpp:
     11        (WebCore::CSSParser::CSSParser):
     12        (WebCore::CSSParser::parseDeclaration):
     13        (WebCore::CSSParser::createStyleRule):
     14        (WebCore::CSSParser::markRuleBodyStart):
     15        (WebCore::CSSParser::markPropertyStart):
     16        (WebCore::CSSParser::markPropertyEnd):
     17        * css/CSSParser.h:
     18
    1192010-11-24  Cris Neckar  <cdn@chromium.org>
    220
  • trunk/WebCore/css/CSSParser.cpp

    r72685 r72687  
    142142    , m_hadSyntacticallyValidCSSRule(false)
    143143    , m_defaultNamespace(starAtom)
     144    , m_inStyleRuleOrDeclaration(false)
    144145    , m_selectorListRange(0, 0)
    145146    , m_ruleBodyRange(0, 0)
     
    342343        m_currentRuleData = CSSRuleSourceData::create();
    343344        m_currentRuleData->styleSourceData = CSSStyleSourceData::create();
     345        m_inStyleRuleOrDeclaration = true;
    344346    }
    345347
     
    369371        *styleSourceData = m_currentRuleData->styleSourceData.release();
    370372        m_currentRuleData = 0;
     373        m_inStyleRuleOrDeclaration = false;
    371374    }
    372375    return ok;
     
    54755478            m_currentRuleData = CSSRuleSourceData::create();
    54765479            m_currentRuleData->styleSourceData = CSSStyleSourceData::create();
     5480            m_inStyleRuleOrDeclaration = false;
    54775481        }
    54785482    }
     
    56285632    if (offset > m_ruleBodyRange.start)
    56295633        m_ruleBodyRange.start = offset;
     5634    m_inStyleRuleOrDeclaration = true;
    56305635}
    56315636
     
    56395644void CSSParser::markPropertyStart()
    56405645{
     5646    if (!m_inStyleRuleOrDeclaration)
     5647        return;
    56415648    m_propertyRange.start = yytext - m_data;
    56425649}
     
    56445651void CSSParser::markPropertyEnd(bool isImportantFound, bool isPropertyParsed)
    56455652{
     5653    if (!m_inStyleRuleOrDeclaration)
     5654        return;
    56465655    unsigned offset = yytext - m_data;
    56475656    if (*yytext == ';') // Include semicolon into the property text.
  • trunk/WebCore/css/CSSParser.h

    r72116 r72687  
    231231
    232232        // tokenizer methods and data
     233        bool m_inStyleRuleOrDeclaration;
    233234        SourceRange m_selectorListRange;
    234235        SourceRange m_ruleBodyRange;
Note: See TracChangeset for help on using the changeset viewer.