| Index: third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
|
| diff --git a/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm b/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
|
| index edb3195e8739f2ff5065312f780f5f744acf98ca..0a52e4f0a41ef2577f468dc6d1b8fbe304fc13a4 100644
|
| --- a/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
|
| +++ b/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
|
| @@ -692,12 +692,6 @@ ScrollAnimatorBase* ScrollAnimatorBase::create(ScrollableArea* scrollableArea) {
|
|
|
| ScrollAnimatorMac::ScrollAnimatorMac(ScrollableArea* scrollableArea)
|
| : ScrollAnimatorBase(scrollableArea),
|
| - m_initialScrollbarPaintTaskFactory(CancellableTaskFactory::create(
|
| - this,
|
| - &ScrollAnimatorMac::initialScrollbarPaintTask)),
|
| - m_sendContentAreaScrolledTaskFactory(CancellableTaskFactory::create(
|
| - this,
|
| - &ScrollAnimatorMac::sendContentAreaScrolledTask)),
|
| m_taskRunner(Platform::current()
|
| ->currentThread()
|
| ->scheduler()
|
| @@ -736,8 +730,8 @@ void ScrollAnimatorMac::dispose() {
|
| [m_scrollAnimationHelperDelegate.get() invalidate];
|
| END_BLOCK_OBJC_EXCEPTIONS;
|
|
|
| - m_initialScrollbarPaintTaskFactory->cancel();
|
| - m_sendContentAreaScrolledTaskFactory->cancel();
|
| + m_initialScrollbarPaintTaskHandle.cancel();
|
| + m_sendContentAreaScrolledTaskHandle.cancel();
|
| }
|
|
|
| ScrollResult ScrollAnimatorMac::userScroll(ScrollGranularity granularity,
|
| @@ -1068,17 +1062,17 @@ void ScrollAnimatorMac::updateScrollerStyle() {
|
| }
|
|
|
| void ScrollAnimatorMac::startScrollbarPaintTimer() {
|
| - m_taskRunner->postDelayedTask(
|
| - BLINK_FROM_HERE, m_initialScrollbarPaintTaskFactory->cancelAndCreate(),
|
| - 0.1);
|
| + m_initialScrollbarPaintTaskHandle = m_taskRunner->postCancellableTask(
|
| + BLINK_FROM_HERE, WTF::bind(&ScrollAnimatorMac::initialScrollbarPaintTask,
|
| + wrapWeakPersistent(this)));
|
| }
|
|
|
| bool ScrollAnimatorMac::scrollbarPaintTimerIsActive() const {
|
| - return m_initialScrollbarPaintTaskFactory->isPending();
|
| + return m_initialScrollbarPaintTaskHandle.isActive();
|
| }
|
|
|
| void ScrollAnimatorMac::stopScrollbarPaintTimer() {
|
| - m_initialScrollbarPaintTaskFactory->cancel();
|
| + m_initialScrollbarPaintTaskHandle.cancel();
|
| }
|
|
|
| void ScrollAnimatorMac::initialScrollbarPaintTask() {
|
| @@ -1092,10 +1086,12 @@ void ScrollAnimatorMac::initialScrollbarPaintTask() {
|
| void ScrollAnimatorMac::sendContentAreaScrolledSoon(const ScrollOffset& delta) {
|
| m_contentAreaScrolledTimerScrollDelta = delta;
|
|
|
| - if (!m_sendContentAreaScrolledTaskFactory->isPending())
|
| - m_taskRunner->postTask(
|
| - BLINK_FROM_HERE,
|
| - m_sendContentAreaScrolledTaskFactory->cancelAndCreate());
|
| + if (m_sendContentAreaScrolledTaskHandle.isActive())
|
| + return;
|
| + m_sendContentAreaScrolledTaskHandle = m_taskRunner->postCancellableTask(
|
| + BLINK_FROM_HERE,
|
| + WTF::bind(&ScrollAnimatorMac::sendContentAreaScrolledTask,
|
| + wrapWeakPersistent(this)));
|
| }
|
|
|
| void ScrollAnimatorMac::sendContentAreaScrolledTask() {
|
|
|