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

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

Issue 1281663002: Mandoline: Allow submitting CompositorFrames directly to mojo::Views (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Yet anther rebase (YAR!!!) Created 5 years, 4 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
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 COMPONENTS_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 5 #ifndef COMPONENTS_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_
6 #define COMPONENTS_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 6 #define COMPONENTS_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_
7 7
8 #include "components/view_manager/public/interfaces/view_manager.mojom.h"
8 #include "components/view_manager/public/interfaces/view_manager_constants.mojom .h" 9 #include "components/view_manager/public/interfaces/view_manager_constants.mojom .h"
9 10
10 namespace gfx { 11 namespace gfx {
11 class Rect; 12 class Rect;
12 } 13 }
13 14
14 namespace mojo { 15 namespace mojo {
15 class ViewportMetrics; 16 class ViewportMetrics;
16 } 17 }
17 18
18 namespace view_manager { 19 namespace view_manager {
19 20
20 class ServerView; 21 class ServerView;
21 22
22 // ServerViewDelegate is notified at key points in the lifetime of a 23 // ServerViewDelegate is notified at key points in the lifetime of a
23 // ServerView. Some of the functions are similar to that of 24 // ServerView. Some of the functions are similar to that of
24 // ServerViewObserver. For example, ServerViewDelegate::PrepareToDestroyView() 25 // ServerViewObserver. For example, ServerViewDelegate::PrepareToDestroyView()
25 // and ServerViewObserver::OnWillDestroyView(). The key difference between 26 // and ServerViewObserver::OnWillDestroyView(). The key difference between
26 // the two are the ServerViewDelegate ones are always notified first, and 27 // the two are the ServerViewDelegate ones are always notified first, and
27 // ServerViewDelegate gets non-const arguments. 28 // ServerViewDelegate gets non-const arguments.
28 class ServerViewDelegate { 29 class ServerViewDelegate {
29 public: 30 public:
31 virtual void SubmitCompositorFrame(ServerView* view,
32 mojo::CompositorFramePtr frame,
33 const mojo::Closure& callback) = 0;
34
30 // Invoked when a view is about to be destroyed; before any of the children 35 // Invoked when a view is about to be destroyed; before any of the children
31 // have been removed and before the view has been removed from its parent. 36 // have been removed and before the view has been removed from its parent.
32 virtual void PrepareToDestroyView(ServerView* view) = 0; 37 virtual void PrepareToDestroyView(ServerView* view) = 0;
33 38
34 virtual void PrepareToChangeViewHierarchy(ServerView* view, 39 virtual void PrepareToChangeViewHierarchy(ServerView* view,
35 ServerView* new_parent, 40 ServerView* new_parent,
36 ServerView* old_parent) = 0; 41 ServerView* old_parent) = 0;
37 42
38 virtual void PrepareToChangeViewVisibility(ServerView* view) = 0; 43 virtual void PrepareToChangeViewVisibility(ServerView* view) = 0;
39 44
40 virtual void OnScheduleViewPaint(const ServerView* view) = 0; 45 virtual void OnScheduleViewPaint(const ServerView* view) = 0;
41 46
42 // Returns the root of the view tree to which this |view| is attached. Returns 47 // Returns the root of the view tree to which this |view| is attached. Returns
43 // null if this view is not attached up through to a root view. 48 // null if this view is not attached up through to a root view.
44 virtual const ServerView* GetRootView(const ServerView* view) const = 0; 49 virtual const ServerView* GetRootView(const ServerView* view) const = 0;
45 50
46 protected: 51 protected:
47 virtual ~ServerViewDelegate() {} 52 virtual ~ServerViewDelegate() {}
48 }; 53 };
49 54
50 } // namespace view_manager 55 } // namespace view_manager
51 56
52 #endif // COMPONENTS_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 57 #endif // COMPONENTS_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698