OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2014 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/base/x/x11_menu_list.h" | |
6 | |
7 #include "base/memory/singleton.h" | |
8 #include "ui/base/x/x11_util.h" | |
9 | |
10 namespace ui { | |
11 | |
12 // static | |
13 XMenuList* XMenuList::GetInstance() { | |
14 return Singleton<XMenuList>::get(); | |
15 } | |
16 | |
17 XMenuList::XMenuList() | |
18 : menu_type_atom_(GetAtom("_NET_WM_WINDOW_TYPE_MENU")) { | |
sadrul
2014/03/27 19:13:46
4 space indent
varkha
2014/03/27 20:05:29
Done.
| |
19 } | |
20 | |
21 XMenuList::~XMenuList() { | |
22 menus_.clear(); | |
23 } | |
24 | |
25 void XMenuList::MaybeRegisterMenu(XID menu) { | |
26 int value = 0; | |
27 if (!GetIntProperty(menu, "_NET_WM_WINDOW_TYPE", &value) || | |
28 static_cast<Atom>(value) != menu_type_atom_) { | |
29 return; | |
30 } | |
31 menus_.push_back(menu); | |
32 } | |
33 | |
34 void XMenuList::MaybeUnregisterMenu(XID menu) { | |
35 std::vector<XID>::iterator iter = std::find(menus_.begin(), menus_.end(), | |
36 menu); | |
37 if (iter == menus_.end()) | |
38 return; | |
39 menus_.erase(iter); | |
40 } | |
41 | |
42 void XMenuList::InsertMenuWindowXIDs(std::vector<XID>* stack) { | |
sadrul
2014/03/27 19:13:46
I think you can just do:
stack->insert(stack->be
varkha
2014/03/27 20:05:29
Done.
| |
43 std::vector<XID>::iterator iter; | |
44 for (iter = menus_.begin(); iter != menus_.end(); ++iter) | |
45 stack->insert(stack->begin(), *iter); | |
46 } | |
47 | |
48 } // namespace ui | |
OLD | NEW |