Index: Source/platform/scroll/ProgrammaticScrollAnimator.h |
diff --git a/Source/core/html/LinkImport.h b/Source/platform/scroll/ProgrammaticScrollAnimator.h |
similarity index 60% |
copy from Source/core/html/LinkImport.h |
copy to Source/platform/scroll/ProgrammaticScrollAnimator.h |
index 512af3609ccc6a85e4f197be26b60d406f087f98..1b9af4d101613429f312c1208c5527d8d6dba938 100644 |
--- a/Source/core/html/LinkImport.h |
+++ b/Source/platform/scroll/ProgrammaticScrollAnimator.h |
@@ -1,5 +1,5 @@ |
/* |
- * Copyright (C) 2013 Google Inc. All rights reserved. |
+ * Copyright (C) 2014 Google Inc. All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions are |
@@ -28,52 +28,53 @@ |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
-#ifndef LinkImport_h |
-#define LinkImport_h |
+#ifndef ProgrammaticScrollAnimator_h |
Ian Vollick
2014/02/06 16:02:31
I think you can muck with --similarity to convince
|
+#define ProgrammaticScrollAnimator_h |
-#include "core/html/HTMLImportChildClient.h" |
-#include "core/html/LinkResource.h" |
+#include "platform/geometry/FloatPoint.h" |
#include "wtf/FastAllocBase.h" |
+#include "wtf/Noncopyable.h" |
+#include "wtf/OwnPtr.h" |
#include "wtf/PassOwnPtr.h" |
-#include "wtf/RefPtr.h" |
+ |
+namespace blink { |
+class WebScrollOffsetAnimationCurve; |
+} |
namespace WebCore { |
-class Document; |
-class HTMLImportChild; |
+class FloatPoint; |
+class ScrollableArea; |
-// |
-// A LinkResource subclasss used for @rel=import. |
-// |
-class LinkImport FINAL : public LinkResource, public HTMLImportChildClient { |
+class ProgrammaticScrollAnimator { |
+ WTF_MAKE_NONCOPYABLE(ProgrammaticScrollAnimator); |
WTF_MAKE_FAST_ALLOCATED; |
public: |
+ static PassOwnPtr<ProgrammaticScrollAnimator> create(ScrollableArea*); |
- static PassOwnPtr<LinkImport> create(HTMLLinkElement* owner); |
- |
- explicit LinkImport(HTMLLinkElement* owner); |
- virtual ~LinkImport(); |
+ ~ProgrammaticScrollAnimator(); |
- // LinkResource |
- virtual void process() OVERRIDE; |
- virtual Type type() const OVERRIDE { return Import; } |
- virtual void ownerRemoved() OVERRIDE; |
- virtual bool hasLoaded() const OVERRIDE; |
+ void animateToOffset(FloatPoint offset); |
+ void cancelAnimation(); |
+ void tickAnimation(double monotonicTime); |
- // HTMLImportChildClient |
- virtual void didFinish() OVERRIDE; |
- virtual void importChildWasDestroyed(HTMLImportChild*) OVERRIDE; |
- virtual bool isCreatedByParser() const OVERRIDE; |
+ void notifyAnimationStarted(double monotonicTime); |
+ void notifyAnimationFinished(double monotonicTime); |
- Document* importedDocument() const; |
- bool ownsLoader() const; |
+ void canUseCompositedScrollAnimationsDidChange(); |
private: |
- void clear(); |
+ explicit ProgrammaticScrollAnimator(ScrollableArea*); |
+ |
+ void resetAnimationState(); |
- HTMLImportChild* m_child; |
+ ScrollableArea* m_scrollableArea; |
+ OwnPtr<blink::WebScrollOffsetAnimationCurve> m_animationCurve; |
+ FloatPoint m_targetOffset; |
+ int m_animationId; |
+ double m_startTime; |
}; |
} // namespace WebCore |
-#endif // LinkImport_h |
+#endif // ScrollAnimator_h |