Commit 50b7aa71 authored by jberlin@apple.com's avatar jberlin@apple.com

Index: WebCore/ChangeLog

===================================================================
--- WebCore/ChangeLog	(revision 44622)
+++ WebCore/ChangeLog	(working copy)
@@ -1,3 +1,23 @@
+2009-06-12  Jessie Berlin  <jberlin@apple.com>
+
+        Reviewed by Mark Rowe.
+
+        https://bugs.webkit.org/show_bug.cgi?id=24792
+        rdar://problem/6933055
+
+        Changes the radius in which cursor movement around the 4 arrow icon
+        while pan-scrolling does not cause scrolling from around 10 pixels to
+        15 pixels, similar to what is found in IE and Firefox.
+
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::setPanScrollCursor):
+        Factor out the no-pan-scroll radius.
+        * platform/ScrollView.h:
+        Create a constant for the no-pan-scroll radius.
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::panScrollFromPoint):
+        Factor out the no-pan-scroll radius.
+
 2009-06-12  Xan Lopez  <xlopez@igalia.com>
 
         Reviewed by Gustavo Noronha.
Index: WebCore/page/EventHandler.cpp
===================================================================
--- WebCore/page/EventHandler.cpp	(revision 44622)
+++ WebCore/page/EventHandler.cpp	(working copy)
@@ -661,11 +661,10 @@ void EventHandler::setPanScrollCursor()
 
     // At the original click location we draw a 4 arrowed icon. Over this icon there won't be any scroll
     // So we don't want to change the cursor over this area
-    const int noScrollRadius = 9;
-    bool east = m_panScrollStartPos.x() < (m_currentMousePosition.x() - noScrollRadius);
-    bool west = m_panScrollStartPos.x() > (m_currentMousePosition.x() + noScrollRadius);
-    bool north = m_panScrollStartPos.y() > (m_currentMousePosition.y() + noScrollRadius);
-    bool south = m_panScrollStartPos.y() < (m_currentMousePosition.y() - noScrollRadius);
+    bool east = m_panScrollStartPos.x() < (m_currentMousePosition.x() - ScrollView::noPanScrollRadius);
+    bool west = m_panScrollStartPos.x() > (m_currentMousePosition.x() + ScrollView::noPanScrollRadius);
+    bool north = m_panScrollStartPos.y() > (m_currentMousePosition.y() + ScrollView::noPanScrollRadius);
+    bool south = m_panScrollStartPos.y() < (m_currentMousePosition.y() - ScrollView::noPanScrollRadius);
          
     if (north) {
         if (east)
Index: WebCore/platform/ScrollView.h
===================================================================
--- WebCore/platform/ScrollView.h	(revision 44622)
+++ WebCore/platform/ScrollView.h	(working copy)
@@ -214,7 +214,8 @@ public:
     virtual void hide();
     virtual void setParentVisible(bool);
     
-    // Pan scrolling methods.
+    // Pan scrolling.
+    static const int noPanScrollRadius = 15;
     void addPanScrollIcon(const IntPoint&);
     void removePanScrollIcon();
 
Index: WebCore/rendering/RenderLayer.cpp
===================================================================
--- WebCore/rendering/RenderLayer.cpp	(revision 44622)
+++ WebCore/rendering/RenderLayer.cpp	(working copy)
@@ -948,7 +948,6 @@ void RenderLayer::panScrollFromPoint(con
     const int shortDistanceLimit = 100;  // We delimit a 200 pixels long square enclosing the original point
     const int speedReducer = 2;          // Within this square we divide the scrolling speed by 2
     
-    const int iconRadius = 10;
     Frame* frame = renderer()->document()->frame();
     if (!frame)
         return;
@@ -965,9 +964,9 @@ void RenderLayer::panScrollFromPoint(con
     int xDelta = currentMousePosition.x() - sourcePoint.x();
     int yDelta = currentMousePosition.y() - sourcePoint.y();
 
-    if (abs(xDelta) < iconRadius) // at the center we let the space for the icon
+    if (abs(xDelta) < ScrollView::noPanScrollRadius) // at the center we let the space for the icon
         xDelta = 0;
-    if (abs(yDelta) < iconRadius)
+    if (abs(yDelta) < ScrollView::noPanScrollRadius)
         yDelta = 0;
 
     // Let's attenuate the speed for the short distances


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@44624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 55dcf7ed
2009-06-12 Jessie Berlin <jberlin@apple.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=24792
rdar://problem/6933055
Changes the radius in which cursor movement around the 4 arrow icon
while pan-scrolling does not cause scrolling from around 10 pixels to
15 pixels, similar to what is found in IE and Firefox.
* page/EventHandler.cpp:
(WebCore::EventHandler::setPanScrollCursor):
Factor out the no-pan-scroll radius.
* platform/ScrollView.h:
Create a constant for the no-pan-scroll radius.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::panScrollFromPoint):
Factor out the no-pan-scroll radius.
2009-06-12 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
......@@ -661,11 +661,10 @@ void EventHandler::setPanScrollCursor()
// At the original click location we draw a 4 arrowed icon. Over this icon there won't be any scroll
// So we don't want to change the cursor over this area
const int noScrollRadius = 9;
bool east = m_panScrollStartPos.x() < (m_currentMousePosition.x() - noScrollRadius);
bool west = m_panScrollStartPos.x() > (m_currentMousePosition.x() + noScrollRadius);
bool north = m_panScrollStartPos.y() > (m_currentMousePosition.y() + noScrollRadius);
bool south = m_panScrollStartPos.y() < (m_currentMousePosition.y() - noScrollRadius);
bool east = m_panScrollStartPos.x() < (m_currentMousePosition.x() - ScrollView::noPanScrollRadius);
bool west = m_panScrollStartPos.x() > (m_currentMousePosition.x() + ScrollView::noPanScrollRadius);
bool north = m_panScrollStartPos.y() > (m_currentMousePosition.y() + ScrollView::noPanScrollRadius);
bool south = m_panScrollStartPos.y() < (m_currentMousePosition.y() - ScrollView::noPanScrollRadius);
if (north) {
if (east)
......
......@@ -214,7 +214,8 @@ public:
virtual void hide();
virtual void setParentVisible(bool);
// Pan scrolling methods.
// Pan scrolling.
static const int noPanScrollRadius = 15;
void addPanScrollIcon(const IntPoint&);
void removePanScrollIcon();
......
......@@ -948,7 +948,6 @@ void RenderLayer::panScrollFromPoint(const IntPoint& sourcePoint)
const int shortDistanceLimit = 100; // We delimit a 200 pixels long square enclosing the original point
const int speedReducer = 2; // Within this square we divide the scrolling speed by 2
const int iconRadius = 10;
Frame* frame = renderer()->document()->frame();
if (!frame)
return;
......@@ -965,9 +964,9 @@ void RenderLayer::panScrollFromPoint(const IntPoint& sourcePoint)
int xDelta = currentMousePosition.x() - sourcePoint.x();
int yDelta = currentMousePosition.y() - sourcePoint.y();
if (abs(xDelta) < iconRadius) // at the center we let the space for the icon
if (abs(xDelta) < ScrollView::noPanScrollRadius) // at the center we let the space for the icon
xDelta = 0;
if (abs(yDelta) < iconRadius)
if (abs(yDelta) < ScrollView::noPanScrollRadius)
yDelta = 0;
// Let's attenuate the speed for the short distances
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment