| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2011 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008, 2011 Apple 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 | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 ScrollBehaviorAuto, | 55 ScrollBehaviorAuto, |
| 56 ScrollBehaviorInstant, | 56 ScrollBehaviorInstant, |
| 57 ScrollBehaviorSmooth, | 57 ScrollBehaviorSmooth, |
| 58 }; | 58 }; |
| 59 | 59 |
| 60 enum IncludeScrollbarsInRect { | 60 enum IncludeScrollbarsInRect { |
| 61 ExcludeScrollbars, | 61 ExcludeScrollbars, |
| 62 IncludeScrollbars, | 62 IncludeScrollbars, |
| 63 }; | 63 }; |
| 64 | 64 |
| 65 #if ENABLE(OILPAN) | |
| 66 // Oilpan: Using the transition type GarbageCollectedMixin is | |
| 67 // problematic non-Oilpan as the type expands to DummyBase, exporting it | |
| 68 // also from 'platform' as a result. Bringing about duplicate DummyBases | |
| 69 // as core also exports same; with component build linking fails as a | |
| 70 // result. Hence the workaround of not using a transition type. | |
| 71 class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { | 65 class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { |
| 72 #else | |
| 73 class PLATFORM_EXPORT ScrollableArea { | |
| 74 #endif | |
| 75 WTF_MAKE_NONCOPYABLE(ScrollableArea); | 66 WTF_MAKE_NONCOPYABLE(ScrollableArea); |
| 76 public: | 67 public: |
| 77 static int pixelsPerLineStep(HostWindow*); | 68 static int pixelsPerLineStep(HostWindow*); |
| 78 static float minFractionToStepWhenPaging(); | 69 static float minFractionToStepWhenPaging(); |
| 79 static int maxOverlapBetweenPages(); | 70 static int maxOverlapBetweenPages(); |
| 80 | 71 |
| 81 // Convert a non-finite scroll value (Infinity, -Infinity, NaN) to 0 as | 72 // Convert a non-finite scroll value (Infinity, -Infinity, NaN) to 0 as |
| 82 // per http://dev.w3.org/csswg/cssom-view/#normalize-non_finite-values. | 73 // per http://dev.w3.org/csswg/cssom-view/#normalize-non_finite-values. |
| 83 static double normalizeNonFiniteScroll(double value) { return std::isfinite(
value) ? value : 0.0; } | 74 static double normalizeNonFiniteScroll(double value) { return std::isfinite(
value) ? value : 0.0; } |
| 84 | 75 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 | 114 |
| 124 bool hasOverlayScrollbars() const; | 115 bool hasOverlayScrollbars() const; |
| 125 void setScrollbarOverlayStyle(ScrollbarOverlayStyle); | 116 void setScrollbarOverlayStyle(ScrollbarOverlayStyle); |
| 126 void recalculateScrollbarOverlayStyle(Color); | 117 void recalculateScrollbarOverlayStyle(Color); |
| 127 ScrollbarOverlayStyle getScrollbarOverlayStyle() const { return static_cast<
ScrollbarOverlayStyle>(m_scrollbarOverlayStyle); } | 118 ScrollbarOverlayStyle getScrollbarOverlayStyle() const { return static_cast<
ScrollbarOverlayStyle>(m_scrollbarOverlayStyle); } |
| 128 | 119 |
| 129 // This getter will create a ScrollAnimatorBase if it doesn't already exist. | 120 // This getter will create a ScrollAnimatorBase if it doesn't already exist. |
| 130 ScrollAnimatorBase& scrollAnimator() const; | 121 ScrollAnimatorBase& scrollAnimator() const; |
| 131 | 122 |
| 132 // This getter will return null if the ScrollAnimatorBase hasn't been create
d yet. | 123 // This getter will return null if the ScrollAnimatorBase hasn't been create
d yet. |
| 133 ScrollAnimatorBase* existingScrollAnimator() const { return m_scrollAnimator
.get(); } | 124 ScrollAnimatorBase* existingScrollAnimator() const { return m_scrollAnimator
; } |
| 134 | 125 |
| 135 ProgrammaticScrollAnimator& programmaticScrollAnimator() const; | 126 ProgrammaticScrollAnimator& programmaticScrollAnimator() const; |
| 136 ProgrammaticScrollAnimator* existingProgrammaticScrollAnimator() const { ret
urn m_programmaticScrollAnimator.get(); } | 127 ProgrammaticScrollAnimator* existingProgrammaticScrollAnimator() const { ret
urn m_programmaticScrollAnimator; } |
| 137 | 128 |
| 138 virtual CompositorAnimationTimeline* compositorAnimationTimeline() const { r
eturn nullptr; } | 129 virtual CompositorAnimationTimeline* compositorAnimationTimeline() const { r
eturn nullptr; } |
| 139 | 130 |
| 140 const IntPoint& scrollOrigin() const { return m_scrollOrigin; } | 131 const IntPoint& scrollOrigin() const { return m_scrollOrigin; } |
| 141 bool scrollOriginChanged() const { return m_scrollOriginChanged; } | 132 bool scrollOriginChanged() const { return m_scrollOriginChanged; } |
| 142 | 133 |
| 143 | 134 |
| 144 // This is used to determine whether the incoming fractional scroll offset s
hould | 135 // This is used to determine whether the incoming fractional scroll offset s
hould |
| 145 // be truncated to integer. Current rule is that if preferCompositingToLCDTe
xtEnabled() | 136 // be truncated to integer. Current rule is that if preferCompositingToLCDTe
xtEnabled() |
| 146 // is disabled (which is true on low-dpi device by default) we should do the
truncation. | 137 // is disabled (which is true on low-dpi device by default) we should do the
truncation. |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 // vertical-lr / ltr NO NO | 336 // vertical-lr / ltr NO NO |
| 346 // vertical-lr / rtl NO YES | 337 // vertical-lr / rtl NO YES |
| 347 // vertical-rl / ltr YES NO | 338 // vertical-rl / ltr YES NO |
| 348 // vertical-rl / rtl YES YES | 339 // vertical-rl / rtl YES YES |
| 349 IntPoint m_scrollOrigin; | 340 IntPoint m_scrollOrigin; |
| 350 }; | 341 }; |
| 351 | 342 |
| 352 } // namespace blink | 343 } // namespace blink |
| 353 | 344 |
| 354 #endif // ScrollableArea_h | 345 #endif // ScrollableArea_h |
| OLD | NEW |