| Index: third_party/WebKit/Source/core/page/scrolling/RootViewportScrollCallback.h
|
| diff --git a/third_party/WebKit/Source/core/page/scrolling/RootViewportScrollCallback.h b/third_party/WebKit/Source/core/page/scrolling/RootViewportScrollCallback.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ea52090dc3149b4621b18dddf3eed8fb4c2cf55c
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/core/page/scrolling/RootViewportScrollCallback.h
|
| @@ -0,0 +1,55 @@
|
| +// Copyright 2016 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.
|
| +
|
| +#ifndef RootViewportScrollCallback_h
|
| +#define RootViewportScrollCallback_h
|
| +
|
| +#include "core/page/scrolling/ViewportScrollCallback.h"
|
| +#include "platform/heap/Handle.h"
|
| +#include "platform/scroll/ScrollTypes.h"
|
| +
|
| +namespace blink {
|
| +
|
| +class FloatSize;
|
| +class ScrollableArea;
|
| +class ScrollState;
|
| +class TopControls;
|
| +class OverscrollController;
|
| +
|
| +// The ViewportScrollCallback used by the one root frame on the page. This
|
| +// callback provides scrolling of the frame as well as associated actions like
|
| +// top controls movement and overscroll glow.
|
| +class RootViewportScrollCallback : public ViewportScrollCallback {
|
| +public:
|
| + // The TopControls and OverscrollController are given to the
|
| + // RootViewportScrollCallback but are not owned or kept alive by it.
|
| + static RootViewportScrollCallback* create(
|
| + TopControls* topControls, OverscrollController* overscrollController)
|
| + {
|
| + return new RootViewportScrollCallback(topControls, overscrollController);
|
| + }
|
| +
|
| + virtual ~RootViewportScrollCallback();
|
| +
|
| + void handleEvent(ScrollState*) override;
|
| + void setScroller(ScrollableArea*) override;
|
| +
|
| + DECLARE_VIRTUAL_TRACE();
|
| +
|
| +private:
|
| + // RootViewportScrollCallback does not assume ownership of TopControls or of
|
| + // OverscrollController.
|
| + RootViewportScrollCallback(TopControls*, OverscrollController*);
|
| +
|
| + bool shouldScrollTopControls(const FloatSize&, ScrollGranularity) const;
|
| + bool scrollTopControls(ScrollState&);
|
| +
|
| + WeakMember<TopControls> m_topControls;
|
| + WeakMember<OverscrollController> m_overscrollController;
|
| + WeakMember<ScrollableArea> m_scroller;
|
| +};
|
| +
|
| +} // namespace blink
|
| +
|
| +#endif // RootViewportScrollCallback_h
|
|
|