| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/window.h" | 5 #include "ui/aura/window.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <utility> | 10 #include <utility> |
| 11 | 11 |
| 12 #include "base/bind.h" | 12 #include "base/bind.h" |
| 13 #include "base/bind_helpers.h" | 13 #include "base/bind_helpers.h" |
| 14 #include "base/callback.h" | 14 #include "base/callback.h" |
| 15 #include "base/logging.h" | 15 #include "base/logging.h" |
| 16 #include "base/macros.h" | 16 #include "base/macros.h" |
| 17 #include "base/memory/ptr_util.h" | 17 #include "base/memory/ptr_util.h" |
| 18 #include "base/stl_util.h" |
| 18 #include "base/strings/string_number_conversions.h" | 19 #include "base/strings/string_number_conversions.h" |
| 19 #include "base/strings/string_util.h" | 20 #include "base/strings/string_util.h" |
| 20 #include "base/strings/stringprintf.h" | 21 #include "base/strings/stringprintf.h" |
| 21 #include "cc/output/compositor_frame_sink.h" | 22 #include "cc/output/compositor_frame_sink.h" |
| 22 #include "ui/aura/client/aura_constants.h" | 23 #include "ui/aura/client/aura_constants.h" |
| 23 #include "ui/aura/client/capture_client.h" | 24 #include "ui/aura/client/capture_client.h" |
| 24 #include "ui/aura/client/cursor_client.h" | 25 #include "ui/aura/client/cursor_client.h" |
| 25 #include "ui/aura/client/event_client.h" | 26 #include "ui/aura/client/event_client.h" |
| 26 #include "ui/aura/client/focus_client.h" | 27 #include "ui/aura/client/focus_client.h" |
| 27 #include "ui/aura/client/screen_position_client.h" | 28 #include "ui/aura/client/screen_position_client.h" |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 params.target = child; | 353 params.target = child; |
| 353 params.new_parent = this; | 354 params.new_parent = this; |
| 354 params.old_parent = child->parent(); | 355 params.old_parent = child->parent(); |
| 355 params.phase = WindowObserver::HierarchyChangeParams::HIERARCHY_CHANGING; | 356 params.phase = WindowObserver::HierarchyChangeParams::HIERARCHY_CHANGING; |
| 356 NotifyWindowHierarchyChange(params); | 357 NotifyWindowHierarchyChange(params); |
| 357 | 358 |
| 358 Window* old_root = child->GetRootWindow(); | 359 Window* old_root = child->GetRootWindow(); |
| 359 | 360 |
| 360 port_->OnWillAddChild(child); | 361 port_->OnWillAddChild(child); |
| 361 | 362 |
| 362 DCHECK(std::find(children_.begin(), children_.end(), child) == | 363 DCHECK(!base::ContainsValue(children_, child)); |
| 363 children_.end()); | |
| 364 if (child->parent()) | 364 if (child->parent()) |
| 365 child->parent()->RemoveChildImpl(child, this); | 365 child->parent()->RemoveChildImpl(child, this); |
| 366 | 366 |
| 367 child->parent_ = this; | 367 child->parent_ = this; |
| 368 layer()->Add(child->layer()); | 368 layer()->Add(child->layer()); |
| 369 | 369 |
| 370 children_.push_back(child); | 370 children_.push_back(child); |
| 371 if (layout_manager_) | 371 if (layout_manager_) |
| 372 layout_manager_->OnWindowAddedToLayout(child); | 372 layout_manager_->OnWindowAddedToLayout(child); |
| 373 for (WindowObserver& observer : observers_) | 373 for (WindowObserver& observer : observers_) |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 } | 627 } |
| 628 } | 628 } |
| 629 #endif | 629 #endif |
| 630 | 630 |
| 631 void Window::RemoveOrDestroyChildren() { | 631 void Window::RemoveOrDestroyChildren() { |
| 632 while (!children_.empty()) { | 632 while (!children_.empty()) { |
| 633 Window* child = children_[0]; | 633 Window* child = children_[0]; |
| 634 if (child->owned_by_parent_) { | 634 if (child->owned_by_parent_) { |
| 635 delete child; | 635 delete child; |
| 636 // Deleting the child so remove it from out children_ list. | 636 // Deleting the child so remove it from out children_ list. |
| 637 DCHECK(std::find(children_.begin(), children_.end(), child) == | 637 DCHECK(!base::ContainsValue(children_, child)); |
| 638 children_.end()); | |
| 639 } else { | 638 } else { |
| 640 // Even if we can't delete the child, we still need to remove it from the | 639 // Even if we can't delete the child, we still need to remove it from the |
| 641 // parent so that relevant bookkeeping (parent_ back-pointers etc) are | 640 // parent so that relevant bookkeeping (parent_ back-pointers etc) are |
| 642 // updated. | 641 // updated. |
| 643 RemoveChild(child); | 642 RemoveChild(child); |
| 644 } | 643 } |
| 645 } | 644 } |
| 646 } | 645 } |
| 647 | 646 |
| 648 std::unique_ptr<ui::PropertyData> Window::BeforePropertyChange( | 647 std::unique_ptr<ui::PropertyData> Window::BeforePropertyChange( |
| (...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1075 layer_name = "Unnamed Window"; | 1074 layer_name = "Unnamed Window"; |
| 1076 | 1075 |
| 1077 if (id_ != -1) | 1076 if (id_ != -1) |
| 1078 layer_name += " " + base::IntToString(id_); | 1077 layer_name += " " + base::IntToString(id_); |
| 1079 | 1078 |
| 1080 layer()->set_name(layer_name); | 1079 layer()->set_name(layer_name); |
| 1081 #endif | 1080 #endif |
| 1082 } | 1081 } |
| 1083 | 1082 |
| 1084 } // namespace aura | 1083 } // namespace aura |
| OLD | NEW |