[webkit-changes] cvs commit: WebCore/khtml/rendering
render_object.cpp
David
hyatt at opensource.apple.com
Wed Dec 7 13:25:00 PST 2005
hyatt 05/12/07 13:25:00
Modified: . ChangeLog
khtml/rendering render_object.cpp
Log:
Fix the DHTML menus on monster.com. offsetParent should only return RenderObjects that
have corresponding DOM elements.
Reviewed by Eric Seidel
* khtml/rendering/render_object.cpp:
(RenderObject::offsetParent):
Revision Changes Path
1.486 +10 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.485
retrieving revision 1.486
diff -u -r1.485 -r1.486
--- ChangeLog 7 Dec 2005 10:30:58 -0000 1.485
+++ ChangeLog 7 Dec 2005 21:24:55 -0000 1.486
@@ -1,3 +1,13 @@
+2005-12-07 David Hyatt <hyatt at apple.com>
+
+ Fix the DHTML menus on monster.com. offsetParent should only return RenderObjects that
+ have corresponding DOM elements.
+
+ Reviewed by Eric Seidel
+
+ * khtml/rendering/render_object.cpp:
+ (RenderObject::offsetParent):
+
2005-12-07 Eric Seidel <eseidel at apple.com>
No review needed, removing dead (svg only) files.
1.230 +5 -3 WebCore/khtml/rendering/render_object.cpp
Index: render_object.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_object.cpp,v
retrieving revision 1.229
retrieving revision 1.230
diff -u -r1.229 -r1.230
--- render_object.cpp 29 Nov 2005 11:20:46 -0000 1.229
+++ render_object.cpp 7 Dec 2005 21:24:59 -0000 1.230
@@ -577,11 +577,13 @@
RenderObject* RenderObject::offsetParent() const
{
+ // FIXME: It feels like this function could almost be written using containing blocks.
bool skipTables = isPositioned() || isRelPositioned();
RenderObject* curr = parent();
- while (curr && !curr->isPositioned() && !curr->isRelPositioned() &&
- !curr->isBody()) {
- if (!skipTables && (curr->isTableCell() || curr->isTable()))
+ while (curr && (!curr->element() ||
+ (!curr->isPositioned() && !curr->isRelPositioned() &&
+ !(!style()->htmlHacks() && skipTables ? curr->isRoot() : curr->isBody())))) {
+ if (!skipTables && curr->element() && (curr->isTableCell() || curr->isTable()))
break;
curr = curr->parent();
}
More information about the webkit-changes
mailing list