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 #include "components/mus/ws/connection_manager.h" | 5 #include "components/mus/ws/connection_manager.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
9 #include "components/mus/ws/connection_manager_delegate.h" | 9 #include "components/mus/ws/connection_manager_delegate.h" |
10 #include "components/mus/ws/display.h" | 10 #include "components/mus/ws/display.h" |
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
307 } | 307 } |
308 } | 308 } |
309 | 309 |
310 void ConnectionManager::ProcessWindowHierarchyChanged( | 310 void ConnectionManager::ProcessWindowHierarchyChanged( |
311 const ServerWindow* window, | 311 const ServerWindow* window, |
312 const ServerWindow* new_parent, | 312 const ServerWindow* new_parent, |
313 const ServerWindow* old_parent) { | 313 const ServerWindow* old_parent) { |
314 for (auto& pair : tree_map_) { | 314 for (auto& pair : tree_map_) { |
315 pair.second->ProcessWindowHierarchyChanged(window, new_parent, old_parent, | 315 pair.second->ProcessWindowHierarchyChanged(window, new_parent, old_parent, |
316 IsOperationSource(pair.first)); | 316 IsOperationSource(pair.first)); |
317 } | 317 } |
sky
2016/03/08 17:07:53
Do you need to call ReleaseCaptureForModalWindow h
mohsen
2016/03/09 08:26:48
Yeah, we should release capture if necessary in th
| |
318 } | 318 } |
319 | 319 |
320 void ConnectionManager::ProcessWindowReorder( | 320 void ConnectionManager::ProcessWindowReorder( |
321 const ServerWindow* window, | 321 const ServerWindow* window, |
322 const ServerWindow* relative_window, | 322 const ServerWindow* relative_window, |
323 const mojom::OrderDirection direction) { | 323 const mojom::OrderDirection direction) { |
324 // We'll probably do a bit of reshuffling when we add a transient window. | 324 // We'll probably do a bit of reshuffling when we add a transient window. |
325 if ((current_operation_type() == OperationType::ADD_TRANSIENT_WINDOW) || | 325 if ((current_operation_type() == OperationType::ADD_TRANSIENT_WINDOW) || |
326 (current_operation_type() == | 326 (current_operation_type() == |
327 OperationType::REMOVE_TRANSIENT_WINDOW_FROM_PARENT)) { | 327 OperationType::REMOVE_TRANSIENT_WINDOW_FROM_PARENT)) { |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
520 (!window->visible() && window->parent()->IsDrawn()))) { | 520 (!window->visible() && window->parent()->IsDrawn()))) { |
521 SchedulePaint(window->parent(), window->bounds()); | 521 SchedulePaint(window->parent(), window->bounds()); |
522 } | 522 } |
523 | 523 |
524 for (auto& pair : tree_map_) { | 524 for (auto& pair : tree_map_) { |
525 pair.second->ProcessWillChangeWindowVisibility( | 525 pair.second->ProcessWillChangeWindowVisibility( |
526 window, IsOperationSource(pair.first)); | 526 window, IsOperationSource(pair.first)); |
527 } | 527 } |
528 } | 528 } |
529 | 529 |
530 void ConnectionManager::OnWindowVisibilityChanged(ServerWindow* window) { | |
531 Display* display = display_manager_->GetDisplayContaining(window); | |
532 if (display) | |
533 display->ReleaseCaptureForModalWindow(window); | |
534 } | |
535 | |
530 void ConnectionManager::OnWindowPredefinedCursorChanged(ServerWindow* window, | 536 void ConnectionManager::OnWindowPredefinedCursorChanged(ServerWindow* window, |
531 int32_t cursor_id) { | 537 int32_t cursor_id) { |
532 if (in_destructor_) | 538 if (in_destructor_) |
533 return; | 539 return; |
534 | 540 |
535 ProcessWillChangeWindowPredefinedCursor(window, cursor_id); | 541 ProcessWillChangeWindowPredefinedCursor(window, cursor_id); |
536 } | 542 } |
537 | 543 |
538 void ConnectionManager::OnWindowSharedPropertyChanged( | 544 void ConnectionManager::OnWindowSharedPropertyChanged( |
539 ServerWindow* window, | 545 ServerWindow* window, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
580 void ConnectionManager::OnFirstDisplayReady() { | 586 void ConnectionManager::OnFirstDisplayReady() { |
581 delegate_->OnFirstDisplayReady(); | 587 delegate_->OnFirstDisplayReady(); |
582 } | 588 } |
583 | 589 |
584 void ConnectionManager::OnNoMoreDisplays() { | 590 void ConnectionManager::OnNoMoreDisplays() { |
585 delegate_->OnNoMoreDisplays(); | 591 delegate_->OnNoMoreDisplays(); |
586 } | 592 } |
587 | 593 |
588 } // namespace ws | 594 } // namespace ws |
589 } // namespace mus | 595 } // namespace mus |
OLD | NEW |