| Index: services/ui/view_manager/view_tree_state.cc
|
| diff --git a/services/ui/view_manager/view_tree_state.cc b/services/ui/view_manager/view_tree_state.cc
|
| index e236c084f83eedface2abdb0befbf0ac09ca3436..4a69f2c318d7815e7c64c36b37269ce9c66826d3 100644
|
| --- a/services/ui/view_manager/view_tree_state.cc
|
| +++ b/services/ui/view_manager/view_tree_state.cc
|
| @@ -2,19 +2,22 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "base/logging.h"
|
| #include "services/ui/view_manager/view_tree_state.h"
|
|
|
| +#include "base/logging.h"
|
| +#include "base/strings/stringprintf.h"
|
| +
|
| namespace view_manager {
|
|
|
| -ViewTreeState::ViewTreeState(mojo::ui::ViewTreePtr view_tree)
|
| +ViewTreeState::ViewTreeState(mojo::ui::ViewTreePtr view_tree,
|
| + mojo::ui::ViewTreeTokenPtr view_tree_token,
|
| + const std::string& label)
|
| : view_tree_(view_tree.Pass()),
|
| - root_(nullptr),
|
| - explicit_root_(false),
|
| - layout_request_pending_(false),
|
| - layout_request_issued_(false),
|
| + view_tree_token_(view_tree_token.Pass()),
|
| + label_(label),
|
| weak_factory_(this) {
|
| DCHECK(view_tree_);
|
| + DCHECK(view_tree_token_);
|
| }
|
|
|
| ViewTreeState::~ViewTreeState() {}
|
| @@ -35,4 +38,20 @@ void ViewTreeState::ResetRoot() {
|
| root_ = nullptr;
|
| }
|
|
|
| +const std::string& ViewTreeState::FormattedLabel() {
|
| + if (formatted_label_cache_.empty()) {
|
| + formatted_label_cache_ =
|
| + label_.empty() ? base::StringPrintf("<%d>", view_tree_token_->value)
|
| + : base::StringPrintf("<%d:%s>", view_tree_token_->value,
|
| + label_.c_str());
|
| + }
|
| + return formatted_label_cache_;
|
| +}
|
| +
|
| +std::ostream& operator<<(std::ostream& os, ViewTreeState* view_tree_state) {
|
| + if (!view_tree_state)
|
| + return os << "null";
|
| + return os << view_tree_state->FormattedLabel();
|
| +}
|
| +
|
| } // namespace view_manager
|
|
|