161 |
161 |
162 WebFrameView* scrollingView = m_webView.pageScrollHandler()->currentScrollingFrameView(); |
162 WebFrameView* scrollingView = m_webView.pageScrollHandler()->currentScrollingFrameView(); |
163 TPoint cpos = scrollingView->contentPos(); |
163 TPoint cpos = scrollingView->contentPos(); |
164 dist = scrollingView->toDocCoords(dist); |
164 dist = scrollingView->toDocCoords(dist); |
165 TPoint pos = m_startPos + dist; |
165 TPoint pos = m_startPos + dist; |
166 |
166 |
167 if ((vx * m_initSpeed.iX < 0) || (vy * m_initSpeed.iY < 0) || (vx + vy == 0) || |
167 WebPageScrollHandler* handler = m_webView.pageScrollHandler(); |
168 (m_numscrollsteps > 1 && !scrollingView->needScroll(pos))) { |
168 |
|
169 if ((vx * m_initSpeed.iX < 0) || (vy * m_initSpeed.iY < 0) || (vx + vy == 0) || |
|
170 (m_numscrollsteps > 1 && !scrollingView->needScroll(pos) && |
|
171 !handler->currentScrollingElement())) { |
169 if (m_scrollbarDrawer) { |
172 if (m_scrollbarDrawer) { |
170 m_scrollbarDrawer->fadeScrollbar(); |
173 m_scrollbarDrawer->fadeScrollbar(); |
171 } |
174 } |
172 m_decelTimer->Cancel(); |
175 m_decelTimer->Cancel(); |
|
176 handler->clearScrollingElement(); |
173 m_webView.setViewIsScrolling(false); |
177 m_webView.setViewIsScrolling(false); |
174 m_webView.toggleRepaintTimer(true); |
178 m_webView.toggleRepaintTimer(true); |
175 } |
179 } |
176 else { |
180 else { |
177 scrollingView->scrollTo(pos); |
181 TPoint scrollDelta = pos - m_lastPos; |
178 if (m_scrollbarDrawer) { |
182 handler->scrollContent(scrollDelta); |
179 TPoint scrollDelta = pos - m_lastPos; |
|
180 scrollDelta.iX *= 100; |
|
181 scrollDelta.iY *= 100; |
|
182 m_webView.pageScrollHandler()->updateScrollbars(pos, scrollDelta); |
|
183 } |
|
184 m_lastPos = pos; |
183 m_lastPos = pos; |
185 } |
184 } |
186 |
|
187 } |
185 } |
188 |
186 |
189 |
187 |
190 // End of File |
188 // End of File |