Index: ui/views/view.cc |
diff --git a/ui/views/view.cc b/ui/views/view.cc |
index 0fc755972d6d57de055a7ea9d31fa11733eaf13b..6d94258797a3c46b7f86f669f76064581f83a73c 100644 |
--- a/ui/views/view.cc |
+++ b/ui/views/view.cc |
@@ -39,6 +39,7 @@ |
#include "ui/gfx/transform.h" |
#include "ui/native_theme/native_theme.h" |
#include "ui/views/accessibility/native_view_accessibility.h" |
+#include "ui/views/animation/ink_drop_delegate.h" |
#include "ui/views/background.h" |
#include "ui/views/border.h" |
#include "ui/views/context_menu_controller.h" |
@@ -81,6 +82,28 @@ const View* GetHierarchyRoot(const View* view) { |
return root; |
} |
+// A stub InkDropDelegate implementation that always exists and does nothing. |
+// A real InkDropDelegate descendant can be returned by a View's descendant via |
+// GetInkDropDelegate(). |
+class InkDropDelegateStub : public InkDropDelegate { |
+ public: |
+ InkDropDelegateStub() {} |
+ ~InkDropDelegateStub() override {} |
+ |
+ // InkDropDelegate: |
+ void SetInkDropSize(int large_size, |
+ int large_corner_radius, |
+ int small_size, |
+ int small_corner_radius) override {} |
+ void OnLayout() override {} |
+ void OnAction(InkDropState state) override {} |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(InkDropDelegateStub); |
+}; |
+ |
+static InkDropDelegateStub ink_drop_delegate_stub; |
+ |
} // namespace |
// static |
@@ -518,6 +541,8 @@ void View::Layout() { |
child->Layout(); |
} |
} |
+ |
+ GetInkDropDelegate()->OnLayout(); |
} |
void View::InvalidateLayout() { |
@@ -1254,6 +1279,7 @@ int View::OnPerformDrop(const ui::DropTargetEvent& event) { |
} |
void View::OnDragDone() { |
+ GetInkDropDelegate()->OnAction(InkDropState::HIDDEN); |
} |
// static |
@@ -1519,6 +1545,12 @@ void View::ReorderChildLayers(ui::Layer* parent_layer) { |
} |
} |
+// Animations ---------------------------------------------------------------- |
+ |
+InkDropDelegate* View::GetInkDropDelegate() const { |
+ return &ink_drop_delegate_stub; |
+} |
+ |
// Input ----------------------------------------------------------------------- |
View::DragInfo* View::GetDragInfo() { |