Changeset 25329 in webkit


Ignore:
Timestamp:
Aug 30, 2007 9:33:05 PM (17 years ago)
Author:
oliver
Message:

WebCore:

Reviewed by Adam.


<rdar://problem/5430772> REGRESSION(303-310A5) list items do not show with mouse over on istweb.apple.com/quack.apple.com


VC++ treats bitfields as signed members, so Node::m_styleChange would be
sign extended if it was assigned the value FullStyleChange. This caused
style recalculation to stop propagating.


We work around this VC++ oddity by storing the enum as an unsigned, and
casting back to StyleChangeType in the getter.


Test: fast/css/hover-affects-child.html

  • dom/Node.h: (WebCore::Node::styleChangeType):

LayoutTests:

Reviewed by Adam.


Simple test case to ensure that hover affects are correctly propagated

  • fast/css/hover-affects-child-expected.txt: Added.
  • fast/css/hover-affects-child.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r25327 r25329  
     12007-08-30  Oliver Hunt <oliver@apple.com>
     2
     3        Reviewed by Adam.
     4       
     5        Simple test case to ensure that hover affects are correctly propagated
     6
     7        * fast/css/hover-affects-child-expected.txt: Added.
     8        * fast/css/hover-affects-child.html: Added.
     9
    1102007-08-30  Justin Garcia  <justin.garcia@apple.com>
    211
  • trunk/WebCore/ChangeLog

    r25327 r25329  
     12007-08-30  Oliver Hunt  <oliver@apple.com>
     2
     3        Reviewed by Adam.
     4       
     5        <rdar://problem/5430772> REGRESSION(303-310A5) list items do not show with mouse over on istweb.apple.com/quack.apple.com
     6       
     7        VC++ treats bitfields as signed members, so Node::m_styleChange would be
     8        sign extended if it was assigned the value FullStyleChange.  This caused
     9        style recalculation to stop propagating. 
     10       
     11        We work around this VC++ oddity by storing the enum as an unsigned, and
     12        casting back to StyleChangeType in the getter.
     13               
     14        Test: fast/css/hover-affects-child.html
     15
     16        * dom/Node.h:
     17        (WebCore::Node::styleChangeType):
     18
    1192007-08-29  Justin Garcia  <justin.garcia@apple.com>
    220
  • trunk/WebCore/dom/Node.h

    r25098 r25329  
    229229    void setAttached(bool b = true) { m_attached = b; }
    230230    bool changed() const { return m_styleChange != NoStyleChange; }
    231     StyleChangeType styleChangeType() const { return m_styleChange; }
     231    StyleChangeType styleChangeType() const { return static_cast<StyleChangeType>(m_styleChange); }
    232232    bool hasChangedChild() const { return m_hasChangedChild; }
    233233    bool isLink() const { return m_isLink; }
     
    471471    bool m_hasClass : 1;
    472472    bool m_attached : 1;
    473     StyleChangeType m_styleChange : 2;
     473    unsigned m_styleChange : 2;
    474474    bool m_hasChangedChild : 1;
    475475    bool m_inDocument : 1;
Note: See TracChangeset for help on using the changeset viewer.