Changeset 21742 in webkit


Ignore:
Timestamp:
May 24, 2007 6:28:55 PM (17 years ago)
Author:
weinig
Message:

LayoutTests:

Reviewed by Hyatt.

Test cases for:
http://bugs.webkit.org/show_bug.cgi?id=4104
first-letter not updating style with hover
http://bugs.webkit.org/show_bug.cgi?id=13169
css-formatted first letter won't hide dynamically

  • fast/css/first-letter-hover-expected.checksum: Added.
  • fast/css/first-letter-hover-expected.png: Added.
  • fast/css/first-letter-hover-expected.txt: Added.
  • fast/css/first-letter-hover.html: Added.
  • fast/css/first-letter-visibility-expected.checksum: Added.
  • fast/css/first-letter-visibility-expected.png: Added.
  • fast/css/first-letter-visibility-expected.txt: Added.
  • fast/css/first-letter-visibility.html: Added.

WebCore:

Reviewed by Hyatt.

http://bugs.webkit.org/show_bug.cgi?id=4104
first-letter not updating style with hover
http://bugs.webkit.org/show_bug.cgi?id=13169
css-formatted first letter won't hide dynamically

Update first letter when RenderBlock::setStyle is called.

  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::createElement):
  • dom/Document.h: (WebCore::Document::usesFirstLetterRules): (WebCore::Document::setUsesFirstLetterRules):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::setStyle): (WebCore::RenderBlock::updateFirstLetter):
Location:
trunk
Files:
8 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r21740 r21742  
     12007-05-24  Rob Buis  <buis@kde.org>
     2
     3        Reviewed by Hyatt.
     4
     5        Test cases for:
     6        http://bugs.webkit.org/show_bug.cgi?id=4104
     7        first-letter not updating style with hover
     8        http://bugs.webkit.org/show_bug.cgi?id=13169
     9        css-formatted first letter won't hide dynamically
     10
     11        * fast/css/first-letter-hover-expected.checksum: Added.
     12        * fast/css/first-letter-hover-expected.png: Added.
     13        * fast/css/first-letter-hover-expected.txt: Added.
     14        * fast/css/first-letter-hover.html: Added.
     15        * fast/css/first-letter-visibility-expected.checksum: Added.
     16        * fast/css/first-letter-visibility-expected.png: Added.
     17        * fast/css/first-letter-visibility-expected.txt: Added.
     18        * fast/css/first-letter-visibility.html: Added.
     19
    1202007-05-24  Mitz Pettel  <mitz@webkit.org>
    221
  • trunk/WebCore/ChangeLog

    r21739 r21742  
     12007-05-24  Rob Buis  <buis@kde.org>
     2
     3        Reviewed by Hyatt.
     4
     5        http://bugs.webkit.org/show_bug.cgi?id=4104
     6        first-letter not updating style with hover
     7        http://bugs.webkit.org/show_bug.cgi?id=13169
     8        css-formatted first letter won't hide dynamically
     9
     10        Update first letter when RenderBlock::setStyle is called.
     11
     12        * css/cssstyleselector.cpp:
     13        (WebCore::CSSStyleSelector::checkOneSelector):
     14        * dom/Document.cpp:
     15        (WebCore::Document::Document):
     16        (WebCore::Document::createElement):
     17        * dom/Document.h:
     18        (WebCore::Document::usesFirstLetterRules):
     19        (WebCore::Document::setUsesFirstLetterRules):
     20        * rendering/RenderBlock.cpp:
     21        (WebCore::RenderBlock::setStyle):
     22        (WebCore::RenderBlock::updateFirstLetter):
     23
    1242007-05-24  Mitz Pettel  <mitz@webkit.org>
    225
  • trunk/WebCore/css/cssstyleselector.cpp

    r21708 r21742  
    15871587                if (subject) {
    15881588                    dynamicPseudo = RenderStyle::FIRST_LETTER;
     1589                    if (Document* doc = e->document())
     1590                        doc->setUsesFirstLetterRules(true);
    15891591                    return true;
    15901592                }
  • trunk/WebCore/dom/Document.cpp

    r21690 r21742  
    307307    m_usesSiblingRules = false;
    308308    m_usesFirstLineRules = false;
     309    m_usesFirstLetterRules = false;
    309310
    310311    m_styleSelector = new CSSStyleSelector(this, m_usersheet, m_styleSheets.get(), !inCompatMode());
  • trunk/WebCore/dom/Document.h

    r21690 r21742  
    289289    bool usesFirstLineRules() const { return m_usesFirstLineRules; }
    290290    void setUsesFirstLineRules(bool b) { m_usesFirstLineRules = b; }
     291    bool usesFirstLetterRules() const { return m_usesFirstLetterRules; }
     292    void setUsesFirstLetterRules(bool b) { m_usesFirstLetterRules = b; }
    291293
    292294    // Machinery for saving and restoring state when you leave and then go back to a page.
     
    725727    bool m_usesSiblingRules;
    726728    bool m_usesFirstLineRules;
     729    bool m_usesFirstLetterRules;
    727730
    728731    String m_title;
  • trunk/WebCore/rendering/RenderBlock.cpp

    r21605 r21742  
    151151        updateBeforeAfterContent(RenderStyle::AFTER);
    152152    }
     153    updateFirstLetter();
    153154}
    154155
     
    40434044
    40444045void RenderBlock::updateFirstLetter()
    4045 {   
     4046{
     4047    if (!document()->usesFirstLetterRules())
     4048        return;
     4049    // Don't recurse
     4050    if (style()->styleType() == RenderStyle::FIRST_LETTER)
     4051        return;
     4052
    40464053    // FIXME: We need to destroy the first-letter object if it is no longer the first child.  Need to find
    40474054    // an efficient way to check for that situation though before implementing anything.
Note: See TracChangeset for help on using the changeset viewer.