1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_VIEW_MANAGER_SERVER_VIEW_OBSERVER_H_
6 #define COMPONENTS_VIEW_MANAGER_SERVER_VIEW_OBSERVER_H_
8 #include "components/view_manager/public/interfaces/view_manager_constants.mojom.h"
15 class ViewportMetrics
;
19 struct TextInputState
;
22 namespace view_manager
{
26 // TODO(sky): rename to OnDid and OnWill everywhere.
27 class ServerViewObserver
{
29 // Invoked when a view is about to be destroyed; before any of the children
30 // have been removed and before the view has been removed from its parent.
31 virtual void OnWillDestroyView(ServerView
* view
) {}
33 // Invoked at the end of the View's destructor (after it has been removed from
35 virtual void OnViewDestroyed(ServerView
* view
) {}
37 virtual void OnWillChangeViewHierarchy(ServerView
* view
,
38 ServerView
* new_parent
,
39 ServerView
* old_parent
) {}
41 virtual void OnViewHierarchyChanged(ServerView
* view
,
42 ServerView
* new_parent
,
43 ServerView
* old_parent
) {}
45 virtual void OnViewBoundsChanged(ServerView
* view
,
46 const gfx::Rect
& old_bounds
,
47 const gfx::Rect
& new_bounds
) {}
49 virtual void OnViewReordered(ServerView
* view
,
51 mojo::OrderDirection direction
) {}
53 virtual void OnWillChangeViewVisibility(ServerView
* view
) {}
54 virtual void OnViewVisibilityChanged(ServerView
* view
) {}
56 virtual void OnViewTextInputStateChanged(ServerView
* view
,
57 const ui::TextInputState
& state
) {}
59 virtual void OnViewSharedPropertyChanged(
61 const std::string
& name
,
62 const std::vector
<uint8_t>* new_data
) {}
65 virtual ~ServerViewObserver() {}
68 } // namespace view_manager
70 #endif // COMPONENTS_VIEW_MANAGER_SERVER_VIEW_OBSERVER_H_