OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "ui/ozone/platform/x11/x11_window_host_manager.h" |
| 6 |
| 7 #include "base/bind.h" |
| 8 #include "base/logging.h" |
| 9 #include "ui/ozone/platform/x11/x11_window_host.h" |
| 10 |
| 11 namespace ui { |
| 12 |
| 13 X11WindowHostManager::X11WindowHostManager() {} |
| 14 |
| 15 X11WindowHostManager::~X11WindowHostManager() {} |
| 16 |
| 17 scoped_ptr<X11WindowHost> X11WindowHostManager::CreatePlatformWindow( |
| 18 PlatformWindowDelegate* delegate) { |
| 19 return make_scoped_ptr(new X11WindowHost( |
| 20 delegate, base::Bind(&X11WindowHostManager::OnWindowCreate, this), |
| 21 base::Bind(&X11WindowHostManager::OnWindowDestroy, this))); |
| 22 } |
| 23 |
| 24 X11WindowHost* X11WindowHostManager::FindWindow(XID id) { |
| 25 auto iter = window_map_.find(id); |
| 26 if (iter == window_map_.end()) |
| 27 return nullptr; |
| 28 return iter->second; |
| 29 } |
| 30 |
| 31 void X11WindowHostManager::OnWindowCreate(XID id, X11WindowHost* window) { |
| 32 window_map_[id] = window; |
| 33 } |
| 34 |
| 35 void X11WindowHostManager::OnWindowDestroy(XID id, X11WindowHost* window) { |
| 36 window_map_.erase(id); |
| 37 } |
| 38 |
| 39 } // namespace ui |
OLD | NEW |