blob: 4748ec07a29e9ebb80482bd9c4c31b74fb54e696 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "config.h"
#include "core/page/scrolling/ScrollCustomizationCallbacks.h"
#include "core/page/scrolling/ScrollStateCallback.h"
#include "wtf/Deque.h"
namespace blink {
void ScrollCustomizationCallbacks::setDistributeScroll(Element* element, ScrollStateCallback* scrollStateCallback)
{
m_distributeScrollCallbacks.set(element, scrollStateCallback);
}
ScrollStateCallback* ScrollCustomizationCallbacks::getDistributeScroll(Element* element)
{
auto it = m_distributeScrollCallbacks.find(element);
if (it == m_distributeScrollCallbacks.end())
return nullptr;
return it->value.get();
}
void ScrollCustomizationCallbacks::setApplyScroll(Element* element, ScrollStateCallback* scrollStateCallback)
{
m_applyScrollCallbacks.set(element, scrollStateCallback);
}
ScrollStateCallback* ScrollCustomizationCallbacks::getApplyScroll(Element* element)
{
auto it = m_applyScrollCallbacks.find(element);
if (it == m_applyScrollCallbacks.end())
return nullptr;
return it->value.get();
}
#if !ENABLE(OILPAN)
void ScrollCustomizationCallbacks::removeCallbacksForElement(Element* element)
{
m_applyScrollCallbacks.remove(element);
m_distributeScrollCallbacks.remove(element);
}
#endif
} // namespace blink