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

Side by Side Diff: services/ui/ws/server_window.h

Issue 2711913006: Move FrameSink hierarchy registration to DisplayCompositor interface (Closed)
Patch Set: Fix mojom Formatting Created 3 years, 10 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/ui/surfaces/display_compositor.cc ('k') | services/ui/ws/server_window.cc » ('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_UI_WS_SERVER_WINDOW_H_ 5 #ifndef SERVICES_UI_WS_SERVER_WINDOW_H_
6 #define SERVICES_UI_WS_SERVER_WINDOW_H_ 6 #define SERVICES_UI_WS_SERVER_WINDOW_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 cc::mojom::MojoCompositorFrameSinkAssociatedRequest sink_request, 65 cc::mojom::MojoCompositorFrameSinkAssociatedRequest sink_request,
66 cc::mojom::MojoCompositorFrameSinkClientPtr client, 66 cc::mojom::MojoCompositorFrameSinkClientPtr client,
67 cc::mojom::DisplayPrivateAssociatedRequest display_request); 67 cc::mojom::DisplayPrivateAssociatedRequest display_request);
68 68
69 void CreateCompositorFrameSink( 69 void CreateCompositorFrameSink(
70 cc::mojom::MojoCompositorFrameSinkRequest request, 70 cc::mojom::MojoCompositorFrameSinkRequest request,
71 cc::mojom::MojoCompositorFrameSinkClientPtr client); 71 cc::mojom::MojoCompositorFrameSinkClientPtr client);
72 72
73 const WindowId& id() const { return id_; } 73 const WindowId& id() const { return id_; }
74 74
75 const cc::FrameSinkId& frame_sink_id() const { return frame_sink_id_; }
76
75 void Add(ServerWindow* child); 77 void Add(ServerWindow* child);
76 void Remove(ServerWindow* child); 78 void Remove(ServerWindow* child);
77 void Reorder(ServerWindow* relative, mojom::OrderDirection diretion); 79 void Reorder(ServerWindow* relative, mojom::OrderDirection diretion);
78 void StackChildAtBottom(ServerWindow* child); 80 void StackChildAtBottom(ServerWindow* child);
79 void StackChildAtTop(ServerWindow* child); 81 void StackChildAtTop(ServerWindow* child);
80 82
81 const gfx::Rect& bounds() const { return bounds_; } 83 const gfx::Rect& bounds() const { return bounds_; }
82 // Sets the bounds. If the size changes this implicitly resets the client 84 // Sets the bounds. If the size changes this implicitly resets the client
83 // area to fill the whole bounds. 85 // area to fill the whole bounds.
84 void SetBounds(const gfx::Rect& bounds); 86 void SetBounds(const gfx::Rect& bounds);
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 #if !defined(NDEBUG) || defined(DCHECK_ALWAYS_ON) 206 #if !defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)
205 std::string GetDebugWindowHierarchy() const; 207 std::string GetDebugWindowHierarchy() const;
206 std::string GetDebugWindowInfo() const; 208 std::string GetDebugWindowInfo() const;
207 void BuildDebugInfo(const std::string& depth, std::string* result) const; 209 void BuildDebugInfo(const std::string& depth, std::string* result) const;
208 #endif 210 #endif
209 211
210 private: 212 private:
211 // Implementation of removing a window. Doesn't send any notification. 213 // Implementation of removing a window. Doesn't send any notification.
212 void RemoveImpl(ServerWindow* window); 214 void RemoveImpl(ServerWindow* window);
213 215
214 // Called when the root window changes from |old_root| to |new_root|. This is
215 // called after the window is moved from |old_root| to |new_root|.
216 void ProcessRootChanged(ServerWindow* old_root, ServerWindow* new_root);
217
218 // Called when this window's stacking order among its siblings is changed. 216 // Called when this window's stacking order among its siblings is changed.
219 void OnStackingChanged(); 217 void OnStackingChanged();
220 218
221 static void ReorderImpl(ServerWindow* window, 219 static void ReorderImpl(ServerWindow* window,
222 ServerWindow* relative, 220 ServerWindow* relative,
223 mojom::OrderDirection diretion); 221 mojom::OrderDirection diretion);
224 222
225 // Returns a pointer to the stacking target that can be used by 223 // Returns a pointer to the stacking target that can be used by
226 // RestackTransientDescendants. 224 // RestackTransientDescendants.
227 static ServerWindow** GetStackingTarget(ServerWindow* window); 225 static ServerWindow** GetStackingTarget(ServerWindow* window);
228 226
229 ServerWindowDelegate* delegate_; 227 ServerWindowDelegate* delegate_;
230 const WindowId id_; 228 const WindowId id_;
229 cc::FrameSinkId frame_sink_id_;
231 ServerWindow* parent_; 230 ServerWindow* parent_;
232 Windows children_; 231 Windows children_;
233 232
234 // Transient window management. 233 // Transient window management.
235 // If non-null we're actively restacking transient as the result of a 234 // If non-null we're actively restacking transient as the result of a
236 // transient ancestor changing. 235 // transient ancestor changing.
237 ServerWindow* stacking_target_; 236 ServerWindow* stacking_target_;
238 ServerWindow* transient_parent_; 237 ServerWindow* transient_parent_;
239 Windows transient_children_; 238 Windows transient_children_;
240 239
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 271
273 base::ObserverList<ServerWindowObserver> observers_; 272 base::ObserverList<ServerWindowObserver> observers_;
274 273
275 DISALLOW_COPY_AND_ASSIGN(ServerWindow); 274 DISALLOW_COPY_AND_ASSIGN(ServerWindow);
276 }; 275 };
277 276
278 } // namespace ws 277 } // namespace ws
279 } // namespace ui 278 } // namespace ui
280 279
281 #endif // SERVICES_UI_WS_SERVER_WINDOW_H_ 280 #endif // SERVICES_UI_WS_SERVER_WINDOW_H_
OLDNEW
« no previous file with comments | « services/ui/surfaces/display_compositor.cc ('k') | services/ui/ws/server_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698