OLD | NEW |
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_MUS_WS_WINDOW_TREE_IMPL_H_ | 5 #ifndef COMPONENTS_MUS_WS_WINDOW_TREE_IMPL_H_ |
6 #define COMPONENTS_MUS_WS_WINDOW_TREE_IMPL_H_ | 6 #define COMPONENTS_MUS_WS_WINDOW_TREE_IMPL_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 26 matching lines...) Expand all Loading... |
37 class TargetedEvent; | 37 class TargetedEvent; |
38 class WindowTreeHostImpl; | 38 class WindowTreeHostImpl; |
39 class WindowTreeTest; | 39 class WindowTreeTest; |
40 | 40 |
41 // An instance of WindowTreeImpl is created for every WindowTree request. | 41 // An instance of WindowTreeImpl is created for every WindowTree request. |
42 // WindowTreeImpl tracks all the state and windows created by a client. | 42 // WindowTreeImpl tracks all the state and windows created by a client. |
43 // WindowTreeImpl coordinates with ConnectionManager to update the client (and | 43 // WindowTreeImpl coordinates with ConnectionManager to update the client (and |
44 // internal state) as necessary. | 44 // internal state) as necessary. |
45 class WindowTreeImpl : public mojom::WindowTree, | 45 class WindowTreeImpl : public mojom::WindowTree, |
46 public AccessPolicyDelegate, | 46 public AccessPolicyDelegate, |
47 public mojom::WindowManagerInternalClient { | 47 public mojom::WindowManagerClient { |
48 public: | 48 public: |
49 WindowTreeImpl(ConnectionManager* connection_manager, | 49 WindowTreeImpl(ConnectionManager* connection_manager, |
50 ServerWindow* root, | 50 ServerWindow* root, |
51 uint32_t policy_bitmask); | 51 uint32_t policy_bitmask); |
52 ~WindowTreeImpl() override; | 52 ~WindowTreeImpl() override; |
53 | 53 |
54 void Init(mojom::WindowTreeClient* client, mojom::WindowTreePtr tree); | 54 void Init(mojom::WindowTreeClient* client, mojom::WindowTreePtr tree); |
55 | 55 |
56 ConnectionSpecificId id() const { return id_; } | 56 ConnectionSpecificId id() const { return id_; } |
57 | 57 |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 void SetWindowTextInputState(Id transport_window_id, | 317 void SetWindowTextInputState(Id transport_window_id, |
318 mojo::TextInputStatePtr state) override; | 318 mojo::TextInputStatePtr state) override; |
319 void SetImeVisibility(Id transport_window_id, | 319 void SetImeVisibility(Id transport_window_id, |
320 bool visible, | 320 bool visible, |
321 mojo::TextInputStatePtr state) override; | 321 mojo::TextInputStatePtr state) override; |
322 void OnWindowInputEventAck(uint32_t event_id) override; | 322 void OnWindowInputEventAck(uint32_t event_id) override; |
323 void SetClientArea( | 323 void SetClientArea( |
324 Id transport_window_id, | 324 Id transport_window_id, |
325 mojo::InsetsPtr insets, | 325 mojo::InsetsPtr insets, |
326 mojo::Array<mojo::RectPtr> transport_additional_client_areas) override; | 326 mojo::Array<mojo::RectPtr> transport_additional_client_areas) override; |
327 void GetWindowManagerInternalClient( | 327 void GetWindowManagerClient( |
328 mojo::AssociatedInterfaceRequest<mojom::WindowManagerInternalClient> | 328 mojo::AssociatedInterfaceRequest<mojom::WindowManagerClient> internal) |
329 internal) override; | 329 override; |
330 | 330 |
331 // mojom::WindowManagerInternalClient: | 331 // mojom::WindowManagerClient: |
332 void WmResponse(uint32_t change_id, bool response) override; | 332 void WmResponse(uint32_t change_id, bool response) override; |
333 void WmRequestClose(Id transport_window_id) override; | 333 void WmRequestClose(Id transport_window_id) override; |
334 void WmSetFrameDecorationValues( | 334 void WmSetFrameDecorationValues( |
335 mojom::FrameDecorationValuesPtr values) override; | 335 mojom::FrameDecorationValuesPtr values) override; |
336 void OnWmCreatedTopLevelWindow(uint32_t change_id, | 336 void OnWmCreatedTopLevelWindow(uint32_t change_id, |
337 Id transport_window_id) override; | 337 Id transport_window_id) override; |
338 | 338 |
339 // AccessPolicyDelegate: | 339 // AccessPolicyDelegate: |
340 bool HasRootForAccessPolicy(const ServerWindow* window) const override; | 340 bool HasRootForAccessPolicy(const ServerWindow* window) const override; |
341 bool IsWindowKnownForAccessPolicy(const ServerWindow* window) const override; | 341 bool IsWindowKnownForAccessPolicy(const ServerWindow* window) const override; |
(...skipping 27 matching lines...) Expand all Loading... |
369 | 369 |
370 uint32_t event_ack_id_; | 370 uint32_t event_ack_id_; |
371 | 371 |
372 // WindowTreeHostImpl the current event came from. | 372 // WindowTreeHostImpl the current event came from. |
373 WindowTreeHostImpl* event_source_host_; | 373 WindowTreeHostImpl* event_source_host_; |
374 | 374 |
375 bool is_embed_root_; | 375 bool is_embed_root_; |
376 | 376 |
377 std::queue<scoped_ptr<TargetedEvent>> event_queue_; | 377 std::queue<scoped_ptr<TargetedEvent>> event_queue_; |
378 | 378 |
379 scoped_ptr<mojo::AssociatedBinding<mojom::WindowManagerInternalClient>> | 379 scoped_ptr<mojo::AssociatedBinding<mojom::WindowManagerClient>> |
380 window_manager_internal_client_binding_; | 380 window_manager_internal_client_binding_; |
381 mojom::WindowManagerInternal* window_manager_internal_; | 381 mojom::WindowManager* window_manager_internal_; |
382 | 382 |
383 scoped_ptr<WaitingForTopLevelWindowInfo> waiting_for_top_level_window_info_; | 383 scoped_ptr<WaitingForTopLevelWindowInfo> waiting_for_top_level_window_info_; |
384 | 384 |
385 DISALLOW_COPY_AND_ASSIGN(WindowTreeImpl); | 385 DISALLOW_COPY_AND_ASSIGN(WindowTreeImpl); |
386 }; | 386 }; |
387 | 387 |
388 } // namespace ws | 388 } // namespace ws |
389 } // namespace mus | 389 } // namespace mus |
390 | 390 |
391 #endif // COMPONENTS_MUS_WS_WINDOW_TREE_IMPL_H_ | 391 #endif // COMPONENTS_MUS_WS_WINDOW_TREE_IMPL_H_ |
OLD | NEW |