| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 535 | 535 |
| 536 bool VisualViewport::shouldUseIntegerScrollOffset() const | 536 bool VisualViewport::shouldUseIntegerScrollOffset() const |
| 537 { | 537 { |
| 538 LocalFrame* frame = mainFrame(); | 538 LocalFrame* frame = mainFrame(); |
| 539 if (frame && frame->settings() && !frame->settings()->preferCompositingToLCD
TextEnabled()) | 539 if (frame && frame->settings() && !frame->settings()->preferCompositingToLCD
TextEnabled()) |
| 540 return true; | 540 return true; |
| 541 | 541 |
| 542 return ScrollableArea::shouldUseIntegerScrollOffset(); | 542 return ScrollableArea::shouldUseIntegerScrollOffset(); |
| 543 } | 543 } |
| 544 | 544 |
| 545 void VisualViewport::setScrollPosition(const DoublePoint& scrollPoint, ScrollTyp
e scrollType, ScrollBehavior scrollBehavior) |
| 546 { |
| 547 // We clamp the position here, because the ScrollAnimator may otherwise be |
| 548 // set to a non-clamped position by ScrollableArea::setScrollPosition, |
| 549 // which may lead to incorrect scrolling behavior in RootFrameViewport down |
| 550 // the line. |
| 551 // TODO(eseckler): Solve this instead by ensuring that ScrollableArea and |
| 552 // ScrollAnimator are kept in sync. This requires that ScrollableArea always |
| 553 // stores fractional offsets and that truncation happens elsewhere, see |
| 554 // crbug.com/626315. |
| 555 DoublePoint newScrollPosition = clampScrollPosition(scrollPoint); |
| 556 ScrollableArea::setScrollPosition(newScrollPosition, scrollType, scrollBehav
ior); |
| 557 } |
| 558 |
| 545 int VisualViewport::scrollSize(ScrollbarOrientation orientation) const | 559 int VisualViewport::scrollSize(ScrollbarOrientation orientation) const |
| 546 { | 560 { |
| 547 IntSize scrollDimensions = maximumScrollPosition() - minimumScrollPosition()
; | 561 IntSize scrollDimensions = maximumScrollPosition() - minimumScrollPosition()
; |
| 548 return (orientation == HorizontalScrollbar) ? scrollDimensions.width() : scr
ollDimensions.height(); | 562 return (orientation == HorizontalScrollbar) ? scrollDimensions.width() : scr
ollDimensions.height(); |
| 549 } | 563 } |
| 550 | 564 |
| 551 IntPoint VisualViewport::minimumScrollPosition() const | 565 IntPoint VisualViewport::minimumScrollPosition() const |
| 552 { | 566 { |
| 553 return IntPoint(); | 567 return IntPoint(); |
| 554 } | 568 } |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 832 } else if (graphicsLayer == m_rootTransformLayer.get()) { | 846 } else if (graphicsLayer == m_rootTransformLayer.get()) { |
| 833 name = "Root Transform Layer"; | 847 name = "Root Transform Layer"; |
| 834 } else { | 848 } else { |
| 835 ASSERT_NOT_REACHED(); | 849 ASSERT_NOT_REACHED(); |
| 836 } | 850 } |
| 837 | 851 |
| 838 return name; | 852 return name; |
| 839 } | 853 } |
| 840 | 854 |
| 841 } // namespace blink | 855 } // namespace blink |
| OLD | NEW |