[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