OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010, Google Inc. All rights reserved. | 2 * Copyright (c) 2010, Google Inc. All rights reserved. |
3 * Copyright (C) 2008, 2011 Apple Inc. All Rights Reserved. | 3 * Copyright (C) 2008, 2011 Apple Inc. All Rights Reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 else if (behaviorString == "instant") | 297 else if (behaviorString == "instant") |
298 behavior = ScrollBehaviorInstant; | 298 behavior = ScrollBehaviorInstant; |
299 else if (behaviorString == "smooth") | 299 else if (behaviorString == "smooth") |
300 behavior = ScrollBehaviorSmooth; | 300 behavior = ScrollBehaviorSmooth; |
301 else | 301 else |
302 return false; | 302 return false; |
303 | 303 |
304 return true; | 304 return true; |
305 } | 305 } |
306 | 306 |
307 ScrollResult ScrollableArea::handleWheel(const PlatformWheelEvent& wheelEvent) | |
308 { | |
309 // Wheel events which do not scroll are used to trigger zooming. | |
310 if (!wheelEvent.canScroll()) | |
311 return ScrollResult(); | |
312 | |
313 cancelProgrammaticScrollAnimation(); | |
314 return scrollAnimator()->handleWheelEvent(wheelEvent); | |
315 } | |
316 | |
317 // NOTE: Only called from Internals for testing. | 307 // NOTE: Only called from Internals for testing. |
318 void ScrollableArea::setScrollOffsetFromInternals(const IntPoint& offset) | 308 void ScrollableArea::setScrollOffsetFromInternals(const IntPoint& offset) |
319 { | 309 { |
320 scrollPositionChanged(DoublePoint(offset), ProgrammaticScroll); | 310 scrollPositionChanged(DoublePoint(offset), ProgrammaticScroll); |
321 } | 311 } |
322 | 312 |
323 void ScrollableArea::willStartLiveResize() | 313 void ScrollableArea::willStartLiveResize() |
324 { | 314 { |
325 if (m_inLiveResize) | 315 if (m_inLiveResize) |
326 return; | 316 return; |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 IntPoint ScrollableArea::clampScrollPosition(const IntPoint& scrollPosition) con
st | 559 IntPoint ScrollableArea::clampScrollPosition(const IntPoint& scrollPosition) con
st |
570 { | 560 { |
571 return scrollPosition.shrunkTo(maximumScrollPosition()).expandedTo(minimumSc
rollPosition()); | 561 return scrollPosition.shrunkTo(maximumScrollPosition()).expandedTo(minimumSc
rollPosition()); |
572 } | 562 } |
573 | 563 |
574 DoublePoint ScrollableArea::clampScrollPosition(const DoublePoint& scrollPositio
n) const | 564 DoublePoint ScrollableArea::clampScrollPosition(const DoublePoint& scrollPositio
n) const |
575 { | 565 { |
576 return scrollPosition.shrunkTo(maximumScrollPositionDouble()).expandedTo(min
imumScrollPositionDouble()); | 566 return scrollPosition.shrunkTo(maximumScrollPositionDouble()).expandedTo(min
imumScrollPositionDouble()); |
577 } | 567 } |
578 | 568 |
579 | |
580 int ScrollableArea::lineStep(ScrollbarOrientation) const | 569 int ScrollableArea::lineStep(ScrollbarOrientation) const |
581 { | 570 { |
582 return pixelsPerLineStep(); | 571 return pixelsPerLineStep(); |
583 } | 572 } |
584 | 573 |
585 int ScrollableArea::pageStep(ScrollbarOrientation orientation) const | 574 int ScrollableArea::pageStep(ScrollbarOrientation orientation) const |
586 { | 575 { |
587 int length = (orientation == HorizontalScrollbar) ? visibleWidth() : visible
Height(); | 576 IntRect visibleRect = visibleContentRect(IncludeScrollbars); |
| 577 int length = (orientation == HorizontalScrollbar) ? visibleRect.width() : vi
sibleRect.height(); |
588 int minPageStep = static_cast<float>(length) * minFractionToStepWhenPaging()
; | 578 int minPageStep = static_cast<float>(length) * minFractionToStepWhenPaging()
; |
589 int pageStep = std::max(minPageStep, length - maxOverlapBetweenPages()); | 579 int pageStep = std::max(minPageStep, length - maxOverlapBetweenPages()); |
590 | 580 |
591 return std::max(pageStep, 1); | 581 return std::max(pageStep, 1); |
592 } | 582 } |
593 | 583 |
594 int ScrollableArea::documentStep(ScrollbarOrientation orientation) const | 584 int ScrollableArea::documentStep(ScrollbarOrientation orientation) const |
595 { | 585 { |
596 return scrollSize(orientation); | 586 return scrollSize(orientation); |
597 } | 587 } |
(...skipping 12 matching lines...) Expand all Loading... |
610 verticalScrollbarWidth = !verticalBar->isOverlayScrollbar() ? verticalBa
r->width() : 0; | 600 verticalScrollbarWidth = !verticalBar->isOverlayScrollbar() ? verticalBa
r->width() : 0; |
611 if (Scrollbar* horizontalBar = horizontalScrollbar()) | 601 if (Scrollbar* horizontalBar = horizontalScrollbar()) |
612 horizontalScrollbarHeight = !horizontalBar->isOverlayScrollbar() ? horiz
ontalBar->height() : 0; | 602 horizontalScrollbarHeight = !horizontalBar->isOverlayScrollbar() ? horiz
ontalBar->height() : 0; |
613 | 603 |
614 return IntSize(std::max(0, size.width() - verticalScrollbarWidth), | 604 return IntSize(std::max(0, size.width() - verticalScrollbarWidth), |
615 std::max(0, size.height() - horizontalScrollbarHeight)); | 605 std::max(0, size.height() - horizontalScrollbarHeight)); |
616 | 606 |
617 } | 607 } |
618 | 608 |
619 } // namespace blink | 609 } // namespace blink |
OLD | NEW |