diff options
Diffstat (limited to 'ui/aura/window.cc')
-rw-r--r-- | ui/aura/window.cc | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/ui/aura/window.cc b/ui/aura/window.cc index 6b4c5d2..995dd27 100644 --- a/ui/aura/window.cc +++ b/ui/aura/window.cc @@ -78,19 +78,7 @@ void Window::Init(ui::Layer::LayerType layer_type) { layer_.reset(new ui::Layer(layer_type)); layer_->SetVisible(false); layer_->set_delegate(this); - -#if !defined(NDEBUG) - std::string layer_name(name_); - if (layer_name.empty()) - layer_name.append("Unnamed Window"); - - if (id_ != -1) { - char id_buf[10]; - base::snprintf(id_buf, sizeof(id_buf), " %d", id_); - layer_name.append(id_buf); - } - layer_->set_name(layer_name); -#endif + UpdateLayerName(name_); Desktop::GetInstance()->WindowInitialized(this); } @@ -101,6 +89,13 @@ void Window::SetType(WindowType type) { type_ = type; } +void Window::SetName(const std::string& name) { + name_ = name; + + if (layer()) + UpdateLayerName(name_); +} + void Window::Show() { SetVisible(true); } @@ -543,4 +538,21 @@ void Window::OnPaintLayer(gfx::Canvas* canvas) { delegate_->OnPaint(canvas); } +void Window::UpdateLayerName(const std::string& name) { +#if !defined(NDEBUG) + DCHECK(layer()); + + std::string layer_name(name_); + if (layer_name.empty()) + layer_name.append("Unnamed Window"); + + if (id_ != -1) { + char id_buf[10]; + base::snprintf(id_buf, sizeof(id_buf), " %d", id_); + layer_name.append(id_buf); + } + layer()->set_name(layer_name); +#endif +} + } // namespace aura |