Changeset 17730 in webkit


Ignore:
Timestamp:
Nov 11, 2006 7:49:45 AM (17 years ago)
Author:
rwlbuis
Message:

Reviewed by hyatt.

http://bugzilla.opendarwin.org/show_bug.cgi?id=10893
InsertRule can not handle @import statements

Allow @import as part of a css rule.

Location:
trunk
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r17724 r17730  
     12006-11-11  Rob Buis  <buis@kde.org>
     2
     3        Reviewed by hyatt.
     4
     5        Testcase for:
     6        http://bugzilla.opendarwin.org/show_bug.cgi?id=10893
     7        InsertRule can not handle @import statements
     8
     9        * fast/dom/css-insert-import-rule-expected.txt: Added.
     10        * fast/dom/css-insert-import-rule.html: Added.
     11        * fast/dom/resources/css-insert-import-rule-red.css: Added.
     12
    1132006-11-11  Graham Dennis  <graham.dennis@gmail.com>
    214
  • trunk/WebCore/ChangeLog

    r17729 r17730  
     12006-11-11  Rob Buis  <buis@kde.org>
     2
     3        Reviewed by hyatt.
     4
     5        http://bugzilla.opendarwin.org/show_bug.cgi?id=10893
     6        InsertRule can not handle @import statements
     7
     8        Allow @import as part of a css rule.
     9
     10        * css/CSSGrammar.y:
     11        * css/CSSImportRule.cpp:
     12        (WebCore::CSSImportRule::insertedIntoParent):
     13        * css/CSSStyleSheet.cpp:
     14        (WebCore::CSSStyleSheet::CSSStyleSheet):
     15        (WebCore::CSSStyleSheet::checkLoaded):
     16        * css/CSSStyleSheet.h:
     17        (WebCore::CSSStyleSheet::loadCompleted):
     18
    1192006-11-11  Alexey Proskuryakov  <ap@webkit.org>
    220
  • trunk/WebCore/css/CSSGrammar.y

    r16706 r17730  
    229229%type <rule> charset
    230230%type <rule> ruleset
     231%type <rule> ruleset_or_import
    231232%type <rule> media
    232233%type <rule> import
     
    298299  ;
    299300
     301ruleset_or_import:
     302   ruleset |
     303   import
     304;
     305
    300306webkit_rule:
    301     WEBKIT_RULE_SYM '{' maybe_space ruleset maybe_space '}' {
     307    WEBKIT_RULE_SYM '{' maybe_space ruleset_or_import maybe_space '}' {
    302308        static_cast<CSSParser*>(parser)->rule = $4;
    303309    }
  • trunk/WebCore/css/CSSImportRule.cpp

    r16689 r17730  
    2727#include "CSSStyleSheet.h"
    2828#include "DocLoader.h"
     29#include "Document.h"
    2930#include "KURL.h"
    3031#include "MediaList.h"
     
    101102    m_cachedSheet = docLoader->requestCSSStyleSheet(absHref, parentSheet->charset());
    102103    if (m_cachedSheet) {
     104        // if the import rule is issued dynamically, the sheet may be
     105        // removed from the pending sheet count, so let the doc know
     106        // the sheet being imported is pending.
     107        if (parentSheet && parentSheet->loadCompleted())
     108            parentSheet->doc()->addPendingSheet();
    103109        m_loading = true;
    104110        m_cachedSheet->ref(this);
  • trunk/WebCore/css/CSSStyleSheet.cpp

    r16689 r17730  
    3838    , m_namespaces(0)
    3939    , m_charset(charset)
     40    , m_loadCompleted(false)
    4041{
    4142}
     
    4647    , m_namespaces(0)
    4748    , m_charset(charset)
     49    , m_loadCompleted(false)
    4850{
    4951}
     
    5456    , m_namespaces(0)
    5557    , m_charset(charset)
     58    , m_loadCompleted(false)
    5659{
    5760}
     
    170173    if (m_parentNode)
    171174        m_parentNode->sheetLoaded();
     175    m_loadCompleted = true;
    172176}
    173177
  • trunk/WebCore/css/CSSStyleSheet.h

    r16689 r17730  
    7171    const String& charset() const { return m_charset; }
    7272
     73    bool loadCompleted() const { return m_loadCompleted; }
     74
    7375protected:
    7476    Document* m_doc;
    7577    CSSNamespace* m_namespaces;
    7678    String m_charset;
     79    bool m_loadCompleted;
    7780};
    7881
Note: See TracChangeset for help on using the changeset viewer.