Add 'did_proceed' and 'repeat_visit' to ClientMalwareReportRequest to track CTR.
[chromium-blink-merge.git] / components / mus / server_view_observer.h
blobd744639d7e21d207ea05ef34eaffa6fb9c6fa7c5
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_MUS_SERVER_VIEW_OBSERVER_H_
6 #define COMPONENTS_MUS_SERVER_VIEW_OBSERVER_H_
8 #include "components/mus/public/interfaces/mus_constants.mojom.h"
10 namespace gfx {
11 class Rect;
14 namespace mus {
15 class ViewportMetrics;
18 namespace ui {
19 struct TextInputState;
22 namespace mus {
24 class ServerView;
26 // TODO(sky): rename to OnDid and OnWill everywhere.
27 class ServerViewObserver {
28 public:
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
34 // the hierarchy).
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,
50 ServerView* relative,
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(
60 ServerView* view,
61 const std::string& name,
62 const std::vector<uint8_t>* new_data) {}
64 protected:
65 virtual ~ServerViewObserver() {}
68 } // namespace mus
70 #endif // COMPONENTS_MUS_SERVER_VIEW_OBSERVER_H_