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

Side by Side Diff: ui/aura/mus/window_tree_client.cc

Issue 2517853002: Fixes bug in handling restacking because of transients (Closed)
Patch Set: feedback Created 4 years 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 #include "ui/aura/mus/window_tree_client.h" 5 #include "ui/aura/mus/window_tree_client.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 } 1543 }
1544 // The change originated from client code and needs to be sent to the server. 1544 // The change originated from client code and needs to be sent to the server.
1545 DCHECK(tree_); 1545 DCHECK(tree_);
1546 WindowMus* child_mus = WindowMus::Get(transient_child); 1546 WindowMus* child_mus = WindowMus::Get(transient_child);
1547 const uint32_t change_id = 1547 const uint32_t change_id =
1548 ScheduleInFlightChange(base::MakeUnique<CrashInFlightChange>( 1548 ScheduleInFlightChange(base::MakeUnique<CrashInFlightChange>(
1549 child_mus, ChangeType::REMOVE_TRANSIENT_WINDOW_FROM_PARENT)); 1549 child_mus, ChangeType::REMOVE_TRANSIENT_WINDOW_FROM_PARENT));
1550 tree_->RemoveTransientWindowFromParent(change_id, child_mus->server_id()); 1550 tree_->RemoveTransientWindowFromParent(change_id, child_mus->server_id());
1551 } 1551 }
1552 1552
1553 void WindowTreeClient::OnWillRestackTransientChildAbove(
1554 Window* parent,
1555 Window* transient_child) {
1556 DCHECK(parent->parent());
1557 DCHECK_EQ(parent->parent(), transient_child->parent());
1558 WindowMus::Get(parent->parent())
1559 ->PrepareForTransientRestack(WindowMus::Get(transient_child));
1560 }
1561
1562 void WindowTreeClient::OnDidRestackTransientChildAbove(
1563 Window* parent,
1564 Window* transient_child) {
1565 DCHECK(parent->parent());
1566 DCHECK_EQ(parent->parent(), transient_child->parent());
1567 WindowMus::Get(parent->parent())
1568 ->OnTransientRestackDone(WindowMus::Get(transient_child));
1569 }
1570
1553 uint32_t WindowTreeClient::CreateChangeIdForDrag(WindowMus* window) { 1571 uint32_t WindowTreeClient::CreateChangeIdForDrag(WindowMus* window) {
1554 return ScheduleInFlightChange( 1572 return ScheduleInFlightChange(
1555 base::MakeUnique<InFlightDragChange>(window, ChangeType::DRAG_LOOP)); 1573 base::MakeUnique<InFlightDragChange>(window, ChangeType::DRAG_LOOP));
1556 } 1574 }
1557 1575
1558 uint32_t WindowTreeClient::CreateChangeIdForCapture(WindowMus* window) { 1576 uint32_t WindowTreeClient::CreateChangeIdForCapture(WindowMus* window) {
1559 return ScheduleInFlightChange(base::MakeUnique<InFlightCaptureChange>( 1577 return ScheduleInFlightChange(base::MakeUnique<InFlightCaptureChange>(
1560 this, capture_synchronizer_.get(), window)); 1578 this, capture_synchronizer_.get(), window));
1561 } 1579 }
1562 1580
1563 uint32_t WindowTreeClient::CreateChangeIdForFocus(WindowMus* window) { 1581 uint32_t WindowTreeClient::CreateChangeIdForFocus(WindowMus* window) {
1564 return ScheduleInFlightChange(base::MakeUnique<InFlightFocusChange>( 1582 return ScheduleInFlightChange(base::MakeUnique<InFlightFocusChange>(
1565 this, focus_synchronizer_.get(), window)); 1583 this, focus_synchronizer_.get(), window));
1566 } 1584 }
1567 1585
1568 } // namespace aura 1586 } // namespace aura
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698