|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
KDE/kdelibs/khtml/xmlSVN commit 1046452 by ggarand:
migrate tabIndex to the rare data mechanism, frees 15 bits of the NodeImpl bitfield. M +15 -1 dom_elementimpl.cpp M +3 -0 dom_elementimpl.h M +0 -1 dom_nodeimpl.cpp M +4 -5 dom_nodeimpl.h --- trunk/KDE/kdelibs/khtml/xml/dom_elementimpl.cpp #1046451:1046452 @@ -366,7 +366,11 @@ public: ElementRareDataImpl(); void resetComputedStyle(); + short tabIndex() const { return m_tabIndex; } + void setTabIndex(short _tabIndex) { m_tabIndex = _tabIndex; } + RenderStyle* m_computedStyle; + signed short m_tabIndex; }; typedef WTF::HashMap<const ElementImpl*, ElementRareDataImpl*> ElementRareDataMap; @@ -383,7 +387,7 @@ } inline ElementRareDataImpl::ElementRareDataImpl() - : m_computedStyle(0) + : m_computedStyle(0), m_tabIndex(0) {} void ElementRareDataImpl::resetComputedStyle() @@ -796,6 +800,16 @@ m_prefix = PrefixName::fromString(_prefix); } +short ElementImpl::tabIndex() const +{ + return m_elementHasRareData ? rareData()->tabIndex() : 0; +} + +void ElementImpl::setTabIndex(short _tabIndex) +{ + createRareData()->setTabIndex(_tabIndex); +} + void ElementImpl::defaultEventHandler(EventImpl *e) { if (!e->defaultHandled() && document()->part() && e->id() == EventImpl::KEYPRESS_EVENT && e->isKeyRelatedEvent()) { --- trunk/KDE/kdelibs/khtml/xml/dom_elementimpl.h #1046451:1046452 @@ -234,6 +234,9 @@ virtual DOMString namespaceURI() const; inline const PrefixName& prefixName() const { return m_prefix; } + virtual short tabIndex() const; + void setTabIndex(short _tabIndex); + // DOM methods overridden from parent classes virtual DOMString tagName() const; virtual DOMString localName() const; --- trunk/KDE/kdelibs/khtml/xml/dom_nodeimpl.cpp #1046451:1046452 @@ -70,7 +70,6 @@ m_previous(0), m_next(0), m_render(0), - m_tabIndex( 0 ), m_hasId( false ), m_attached(false), m_closed(false), --- trunk/KDE/kdelibs/khtml/xml/dom_nodeimpl.h #1046451:1046452 @@ -290,10 +290,9 @@ // for descending restyle when ID or CLASS changes bool changedAscendentAttribute() const { return m_changedAscendentAttribute; } void setChangedAscendentAttribute(bool b) { m_changedAscendentAttribute = b; } + + virtual short tabIndex() const { return 0; } - short tabIndex() const { return m_tabIndex; } - void setTabIndex(short _tabIndex) { m_tabIndex = _tabIndex; } - virtual bool isFocusable() const { return false; } virtual bool isMouseFocusable() const { return isFocusable(); } virtual bool isTabFocusable() const { return isFocusable(); } @@ -520,8 +519,6 @@ khtml::RenderObject *m_render; RegisteredListenerList m_regdListeners; - signed m_tabIndex : 15; // ### needs one bit more - bool m_hasId : 1; bool m_attached : 1; bool m_closed : 1; @@ -540,6 +537,8 @@ bool m_hasClass : 1; // true if element has a class property, as relevant to CSS bool m_hasCombinedStyle : 1; // true if element has inline styles and presentational styles bool m_hasHoverDependency : 1; // true if element has hover dependency on itself + + // 15 bits left }; // this is the full Node Implementation with parents and children. _______________________________________________ Khtml-cvs mailing list Khtml-cvs@... https://mail.kde.org/mailman/listinfo/khtml-cvs |
| Free embeddable forum powered by Nabble | Forum Help |