| 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 |