[webkit-changes] cvs commit: WebCore/khtml khtmlview.cpp

Timothy thatcher at opensource.apple.com
Fri Dec 2 13:27:00 PST 2005


thatcher    05/12/02 13:26:59

  Modified:    .        Tag: Safari-2-0-branch ChangeLog
               khtml    Tag: Safari-2-0-branch khtmlview.cpp
  Log:
          Merged fix from TOT to Safari-2-0-branch
  
      2005-12-02  Vicki Murley  <vicki at apple.com>
  
          Reviewed by Darin.
  
          - fix <rdar://problem/4361048> Regression: Seed: scrolling with scrollwheel, trackpad
          doesn't work for nested framesets at gmail.com
  
          * kwq/KWQKHTMLPart.mm:
          (KWQKHTMLPart::passWheelEventToChildWidget):
          * manual-tests/resources/lorem-text.html: Added.
          * manual-tests/resources/nestedframesets.html: Added.
          * manual-tests/scrolling-nestedframesets.html: Added.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.88  +17 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.1.2.87
  retrieving revision 1.1.2.88
  diff -u -r1.1.2.87 -r1.1.2.88
  --- ChangeLog	2 Dec 2005 21:12:52 -0000	1.1.2.87
  +++ ChangeLog	2 Dec 2005 21:26:50 -0000	1.1.2.88
  @@ -2,6 +2,23 @@
   
           Merged fix from TOT to Safari-2-0-branch
   
  +    2005-12-02  Vicki Murley  <vicki at apple.com>
  +
  +        Reviewed by Darin.
  + 
  +        - fix <rdar://problem/4361048> Regression: Seed: scrolling with scrollwheel, trackpad 
  +        doesn't work for nested framesets at gmail.com
  +
  +        * kwq/KWQKHTMLPart.mm:
  +        (KWQKHTMLPart::passWheelEventToChildWidget): 
  +        * manual-tests/resources/lorem-text.html: Added.
  +        * manual-tests/resources/nestedframesets.html: Added.
  +        * manual-tests/scrolling-nestedframesets.html: Added.
  +
  +2005-12-02  Timothy Hatcher  <timothy at apple.com>
  +
  +        Merged fix from TOT to Safari-2-0-branch
  +
       2005-12-02  David Hyatt  <hyatt at apple.com>
   
           <rdar://problem/4356387> Glendale Regression: Some text
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.128.8.11 +26 -4     WebCore/khtml/khtmlview.cpp
  
  Index: khtmlview.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/khtmlview.cpp,v
  retrieving revision 1.128.8.10
  retrieving revision 1.128.8.11
  diff -u -r1.128.8.10 -r1.128.8.11
  --- khtmlview.cpp	18 Nov 2005 22:41:45 -0000	1.128.8.10
  +++ khtmlview.cpp	2 Dec 2005 21:26:58 -0000	1.128.8.11
  @@ -31,6 +31,7 @@
   #include "html/html_documentimpl.h"
   #include "html/html_inlineimpl.h"
   #include "html/html_formimpl.h"
  +#include "html/html_baseimpl.h"
   #include "rendering/render_arena.h"
   #include "rendering/render_object.h"
   #include "rendering/render_canvas.h"
  @@ -1972,11 +1973,32 @@
               int x, y;
               viewportToContents(e->x(), e->y(), x, y);
   
  -            RenderObject::NodeInfo hitTestResult(true, false);
  -            doc->renderer()->layer()->hitTest(hitTestResult, x, y); 
  -            NodeImpl *node = hitTestResult.innerNode();
  +            RenderObject::NodeInfo nodeInfo(true, false);
  +            doc->renderer()->layer()->hitTest(nodeInfo, x, y); 
  +            NodeImpl *node = nodeInfo.innerNode();
  +            NodeImpl *previousNode = node;
  +            QWidget *widget = 0;
  +
  +            while (true) {
  +                if (!node || !node->renderer() || !node->renderer()->isWidget()) 
  +                    break;
  +                widget = static_cast<RenderWidget *>(node->renderer())->widget();
  +                if (!widget || !widget->inherits("KHTMLView")) 
  +                    break;
  +                KHTMLPart *kpart = static_cast<HTMLFrameElementImpl *>(node)->contentPart();
  +                if (!kpart || !static_cast<KWQKHTMLPart *>(kpart)->renderer()) 
  +                    break;
  +                RenderObject::NodeInfo widgetNodeInfo(true, true);
  +                static_cast<KWQKHTMLPart *>(kpart)->renderer()->layer()->hitTest(widgetNodeInfo, x, y);
  +                nodeInfo = widgetNodeInfo;
  +                previousNode = node;
  +                node = nodeInfo.innerNode();
  +            }
   
  -           if (KWQ(m_part)->passWheelEventToChildWidget(node)) {
  +            if (node != previousNode)
  +                node = previousNode;
  +                
  +            if (KWQ(m_part)->passWheelEventToChildWidget(node)) {
                   e->accept();
                   return;
               }
  
  
  



More information about the webkit-changes mailing list