[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
hyatt
hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:08:05 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 0897a2b8f28778f35cc100ca42b5ee567e881da5
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 31 09:29:10 2003 +0000
Three simple fixes:
(1) Fix for 3463777, crash on CSS3 box model draft. This was just a situation where a simple null-check
was needed for generated content.
(2) Added a != check when the old and new hover obj are the same to avoid a little bit of extra work.
(3) Removed the m_pressed member from DOM nodes and removed the calls to setPressed, since this code
is dead and not used by anyone.
* khtml/khtmlview.cpp:
* khtml/rendering/render_layer.cpp:
(RenderLayer::addChild):
(RenderLayer::updateHoverActiveState):
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::NodeImpl):
* khtml/xml/dom_nodeimpl.h:
(DOM::NodeImpl::hasStyle):
(DOM::NodeImpl::setHasStyle):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 1feab33..756c2ed 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,25 @@
+2003-10-31 David Hyatt <hyatt at apple.com>
+
+ Three simple fixes:
+
+ (1) Fix for 3463777, crash on CSS3 box model draft. This was just a situation where a simple null-check
+ was needed for generated content.
+
+ (2) Added a != check when the old and new hover obj are the same to avoid a little bit of extra work.
+
+ (3) Removed the m_pressed member from DOM nodes and removed the calls to setPressed, since this code
+ is dead and not used by anyone.
+
+ * khtml/khtmlview.cpp:
+ * khtml/rendering/render_layer.cpp:
+ (RenderLayer::addChild):
+ (RenderLayer::updateHoverActiveState):
+ * khtml/xml/dom_nodeimpl.cpp:
+ (NodeImpl::NodeImpl):
+ * khtml/xml/dom_nodeimpl.h:
+ (DOM::NodeImpl::hasStyle):
+ (DOM::NodeImpl::setHasStyle):
+
2003-10-30 David Hyatt <hyatt at apple.com>
Fix for 3469330, the Marquee data in RenderStyle needs a copy constructor hack like all the other
diff --git a/WebCore/khtml/khtmlview.cpp b/WebCore/khtml/khtmlview.cpp
index 3685b1b..921f267 100644
--- a/WebCore/khtml/khtmlview.cpp
+++ b/WebCore/khtml/khtmlview.cpp
@@ -680,8 +680,6 @@ void KHTMLView::viewportMousePressEvent( QMouseEvent *_mouse )
bool swallowEvent = dispatchMouseEvent(EventImpl::MOUSEDOWN_EVENT,mev.innerNode.handle(),true,
d->clickCount,_mouse,true,DOM::NodeImpl::MousePress);
- if (mev.innerNode.handle())
- mev.innerNode.handle()->setPressed();
if (!swallowEvent) {
khtml::MousePressEvent event( _mouse, xm, ym, mev.url, mev.target, mev.innerNode );
@@ -729,9 +727,6 @@ void KHTMLView::viewportMouseDoubleClickEvent( QMouseEvent *_mouse )
dispatchMouseEvent(EventImpl::CLICK_EVENT,mev.innerNode.handle(),true,
d->clickCount,_mouse,true,DOM::NodeImpl::MouseRelease);
- if (mev.innerNode.handle())
- mev.innerNode.handle()->setPressed(false);
-
// Qt delivers a release event AND a double click event.
if (!swallowEvent) {
khtml::MouseReleaseEvent event1( _mouse, xm, ym, mev.url, mev.target, mev.innerNode );
@@ -749,9 +744,6 @@ void KHTMLView::viewportMouseDoubleClickEvent( QMouseEvent *_mouse )
bool swallowEvent = dispatchMouseEvent(EventImpl::MOUSEDOWN_EVENT,mev.innerNode.handle(),true,
d->clickCount,_mouse,true,DOM::NodeImpl::MouseDblClick);
- if (mev.innerNode.handle())
- mev.innerNode.handle()->setPressed();
-
if (!swallowEvent) {
khtml::MouseDoubleClickEvent event( _mouse, xm, ym, mev.url, mev.target, mev.innerNode );
QApplication::sendEvent( m_part, &event );
@@ -941,9 +933,6 @@ void KHTMLView::viewportMouseReleaseEvent( QMouseEvent * _mouse )
dispatchMouseEvent(EventImpl::CLICK_EVENT,mev.innerNode.handle(),true,
d->clickCount,_mouse,true,DOM::NodeImpl::MouseRelease);
- if (mev.innerNode.handle())
- mev.innerNode.handle()->setPressed(false);
-
if (!swallowEvent) {
khtml::MouseReleaseEvent event( _mouse, xm, ym, mev.url, mev.target, mev.innerNode );
QApplication::sendEvent( m_part, &event );
@@ -1022,7 +1011,6 @@ void KHTMLView::keyPressEvent( QKeyEvent *_ke )
case Key_Enter:
case Key_Return:
// ### FIXME:
- // move this code to HTMLAnchorElementImpl::setPressed(false),
// or even better to HTMLAnchorElementImpl::event()
if (m_part->xmlDocImpl()) {
NodeImpl *n = m_part->xmlDocImpl()->focusNode();
diff --git a/WebCore/khtml/rendering/render_layer.cpp b/WebCore/khtml/rendering/render_layer.cpp
index 32070f4..78ab2a8 100644
--- a/WebCore/khtml/rendering/render_layer.cpp
+++ b/WebCore/khtml/rendering/render_layer.cpp
@@ -299,8 +299,12 @@ void RenderLayer::addChild(RenderLayer *child, RenderLayer* beforeChild)
child->setParent(this);
- // Dirty the z-order list in which we are contained.
- child->stackingContext()->dirtyZOrderLists();
+ // Dirty the z-order list in which we are contained. The stackingContext() can be null in the
+ // case where we're building up generated content layers. This is ok, since the lists will start
+ // off dirty in that case anyway.
+ RenderLayer* stackingContext = child->stackingContext();
+ if (stackingContext)
+ stackingContext->dirtyZOrderLists();
}
RenderLayer* RenderLayer::removeChild(RenderLayer* oldChild)
@@ -1037,15 +1041,17 @@ void RenderLayer::updateHoverActiveState(RenderObject::NodeInfo& info)
// Locate the common ancestor render object for the two renderers.
RenderObject* ancestor = commonAncestor(oldHoverObj, newHoverObj);
- // The old hover path only needs to be cleared up to (and not including) the common ancestor;
- for (RenderObject* curr = oldHoverObj; curr && curr != ancestor; curr = hoverAncestor(curr)) {
- curr->setMouseInside(false);
- if (curr->element() && !curr->isText()) {
- bool oldActive = curr->element()->active();
- curr->element()->setActive(false);
- if (curr->style()->affectedByHoverRules() ||
- (curr->style()->affectedByActiveRules() && oldActive))
- curr->element()->setChanged();
+ if (oldHoverObj != newHoverObj) {
+ // The old hover path only needs to be cleared up to (and not including) the common ancestor;
+ for (RenderObject* curr = oldHoverObj; curr && curr != ancestor; curr = hoverAncestor(curr)) {
+ curr->setMouseInside(false);
+ if (curr->element() && !curr->isText()) {
+ bool oldActive = curr->element()->active();
+ curr->element()->setActive(false);
+ if (curr->style()->affectedByHoverRules() ||
+ (curr->style()->affectedByActiveRules() && oldActive))
+ curr->element()->setChanged();
+ }
}
}
diff --git a/WebCore/khtml/xml/dom_nodeimpl.cpp b/WebCore/khtml/xml/dom_nodeimpl.cpp
index 299f484..ae793d0 100644
--- a/WebCore/khtml/xml/dom_nodeimpl.cpp
+++ b/WebCore/khtml/xml/dom_nodeimpl.cpp
@@ -59,7 +59,6 @@ NodeImpl::NodeImpl(DocumentPtr *doc)
m_hasId( false ),
m_hasClass( false ),
m_hasStyle( false ),
- m_pressed( false ),
m_attached(false),
m_changed( false ),
m_hasChangedChild( false ),
diff --git a/WebCore/khtml/xml/dom_nodeimpl.h b/WebCore/khtml/xml/dom_nodeimpl.h
index 0cfcddd..d1e3acc 100644
--- a/WebCore/khtml/xml/dom_nodeimpl.h
+++ b/WebCore/khtml/xml/dom_nodeimpl.h
@@ -178,7 +178,6 @@ public:
bool hasID() const { return m_hasId; }
bool hasClass() const { return m_hasClass; }
bool hasStyle() const { return m_hasStyle; }
- bool pressed() const { return m_pressed; }
bool active() const { return m_active; }
bool focused() const { return m_focused; }
bool attached() const { return m_attached; }
@@ -191,7 +190,6 @@ public:
void setHasID(bool b=true) { m_hasId = b; }
void setHasClass(bool b=true) { m_hasClass = b; }
void setHasStyle(bool b=true) { m_hasStyle = b; }
- void setPressed(bool b=true) { m_pressed = b; }
void setHasChangedChild( bool b = true ) { m_hasChangedChild = b; }
void setInDocument(bool b=true) { m_inDocument = b; }
virtual void setFocus(bool b=true) { m_focused = b; }
@@ -384,7 +382,6 @@ protected:
bool m_hasId : 1;
bool m_hasClass : 1;
bool m_hasStyle : 1;
- bool m_pressed : 1;
bool m_attached : 1;
bool m_changed : 1;
bool m_hasChangedChild : 1;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list