Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: services/view_manager/server_view_delegate.h

Issue 1082943002: Adds a ServerViewObserver interface (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: grammar Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « services/view_manager/server_view.cc ('k') | services/view_manager/server_view_observer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 5 #ifndef SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_
6 #define SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 6 #define SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_
7 7
8 #include "mojo/services/view_manager/public/interfaces/view_manager_constants.mo jom.h" 8 #include "mojo/services/view_manager/public/interfaces/view_manager_constants.mo jom.h"
9 9
10 namespace gfx { 10 namespace gfx {
11 class Rect; 11 class Rect;
12 } 12 }
13 13
14 namespace mojo { 14 namespace mojo {
15 class ViewportMetrics; 15 class ViewportMetrics;
16 } 16 }
17 17
18 namespace view_manager { 18 namespace view_manager {
19 19
20 class ServerView; 20 class ServerView;
21 21
22 // ServerViewDelegate is notified at key points in the lifetime of a
23 // ServerView. Some of the functions are similar to that of
24 // ServerViewObserver. For example, ServerViewDelegate::PrepareToDestroyView()
25 // and ServerViewObserver::OnWillDestroyView(). The key difference between
26 // the two are the ServerViewDelegate ones are always notified first, and
27 // ServerViewDelegate gets non-const arguments.
22 class ServerViewDelegate { 28 class ServerViewDelegate {
23 public: 29 public:
24 // Invoked when a view is about to be destroyed; before any of the children 30 // Invoked when a view is about to be destroyed; before any of the children
25 // have been removed and before the view has been removed from its parent. 31 // have been removed and before the view has been removed from its parent.
26 virtual void OnWillDestroyView(ServerView* view) = 0; 32 virtual void PrepareToDestroyView(ServerView* view) = 0;
27 33
28 // Invoked at the end of the View's destructor (after it has been removed from 34 virtual void PrepareToChangeViewHierarchy(ServerView* view,
29 // the hierarchy). 35 ServerView* new_parent,
30 virtual void OnViewDestroyed(const ServerView* view) = 0; 36 ServerView* old_parent) = 0;
31 37
32 virtual void OnWillChangeViewHierarchy(ServerView* view, 38 virtual void PrepareToChangeViewVisibility(ServerView* view) = 0;
33 ServerView* new_parent,
34 ServerView* old_parent) = 0;
35
36 virtual void OnViewHierarchyChanged(const ServerView* view,
37 const ServerView* new_parent,
38 const ServerView* old_parent) = 0;
39
40 virtual void OnViewBoundsChanged(const ServerView* view,
41 const gfx::Rect& old_bounds,
42 const gfx::Rect& new_bounds) = 0;
43
44 virtual void OnViewSurfaceIdChanged(const ServerView* view) = 0;
45
46 virtual void OnViewReordered(const ServerView* view,
47 const ServerView* relative,
48 mojo::OrderDirection direction) = 0;
49
50 virtual void OnWillChangeViewVisibility(ServerView* view) = 0;
51
52 virtual void OnViewSharedPropertyChanged(
53 const ServerView* view,
54 const std::string& name,
55 const std::vector<uint8_t>* new_data) = 0;
56 39
57 virtual void OnScheduleViewPaint(const ServerView* view) = 0; 40 virtual void OnScheduleViewPaint(const ServerView* view) = 0;
58 41
59 protected: 42 protected:
60 virtual ~ServerViewDelegate() {} 43 virtual ~ServerViewDelegate() {}
61 }; 44 };
62 45
63 } // namespace view_manager 46 } // namespace view_manager
64 47
65 #endif // SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 48 #endif // SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_
OLDNEW
« no previous file with comments | « services/view_manager/server_view.cc ('k') | services/view_manager/server_view_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698