| Index: content/renderer/webscrollbarbehavior_impl_gtkoraura.cc
|
| diff --git a/content/renderer/webscrollbarbehavior_impl_gtkoraura.cc b/content/renderer/webscrollbarbehavior_impl_gtkoraura.cc
|
| index e9d77bb3f50c81192d3d75e843ca5525c3c4fbb5..b866e29138fc2cc096147b072b3ea896516d19f3 100644
|
| --- a/content/renderer/webscrollbarbehavior_impl_gtkoraura.cc
|
| +++ b/content/renderer/webscrollbarbehavior_impl_gtkoraura.cc
|
| @@ -40,8 +40,16 @@ bool WebScrollbarBehaviorImpl::shouldSnapBackToDragOrigin(
|
| (isHorizontal ? kOffEndMultiplier : kOffSideMultiplier) * -thickness,
|
| (isHorizontal ? kOffSideMultiplier : kOffEndMultiplier) * -thickness);
|
|
|
| - // We should snap iff the event is outside our calculated rect.
|
| + // On most platforms, we should snap iff the event is outside our calculated
|
| + // rect. On Linux, however, we should not snap for events off the ends, but
|
| + // not the sides, of the rect.
|
| +#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
|
| + return isHorizontal ?
|
| + (eventPoint.y < noSnapRect.y() || eventPoint.y >= noSnapRect.bottom()) :
|
| + (eventPoint.x < noSnapRect.x() || eventPoint.x >= noSnapRect.right());
|
| +#else
|
| return !noSnapRect.Contains(eventPoint);
|
| +#endif
|
| }
|
|
|
| } // namespace content
|
|
|