Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(318)

Unified Diff: ui/base/x/x11_foreign_window_manager.cc

Issue 2313033002: Refactor X11ForeignWindowManager (Reland) (Closed)
Patch Set: Rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/base/x/x11_foreign_window_manager.h ('k') | ui/base/x/x11_window_event_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/x/x11_foreign_window_manager.cc
diff --git a/ui/base/x/x11_foreign_window_manager.cc b/ui/base/x/x11_foreign_window_manager.cc
deleted file mode 100644
index 4e739d6c3c638ddb8f7a78d235d35aa8740bd519..0000000000000000000000000000000000000000
--- a/ui/base/x/x11_foreign_window_manager.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/base/x/x11_foreign_window_manager.h"
-
-#include <stddef.h>
-#include <X11/Xlib.h>
-
-#include "base/compiler_specific.h"
-#include "base/memory/singleton.h"
-
-namespace ui {
-
-// static
-XForeignWindowManager* XForeignWindowManager::GetInstance() {
- return base::Singleton<XForeignWindowManager>::get();
-}
-
-int XForeignWindowManager::RequestEvents(XID xid, long event_mask) {
- request_map_[xid].push_back(Request(next_request_id_, event_mask));
- UpdateSelectedEvents(xid);
- return next_request_id_++;
-}
-
-void XForeignWindowManager::CancelRequest(int request_id) {
- for (std::map<XID, RequestVector>::iterator map_it = request_map_.begin();
- map_it != request_map_.end(); ++map_it) {
- RequestVector* vector = &map_it->second;
- for (RequestVector::iterator vector_it = vector->begin();
- vector_it != vector->end(); ++vector_it) {
- if (vector_it->request_id == request_id) {
- vector->erase(vector_it);
- UpdateSelectedEvents(map_it->first);
- if (vector->empty())
- request_map_.erase(map_it);
- return;
- }
- }
- }
-}
-
-void XForeignWindowManager::OnWindowDestroyed(XID xid) {
- request_map_.erase(xid);
-}
-
-XForeignWindowManager::XForeignWindowManager() : next_request_id_(0) {
-}
-
-XForeignWindowManager::~XForeignWindowManager() {
-}
-
-void XForeignWindowManager::UpdateSelectedEvents(XID xid) {
- std::map<XID, RequestVector>::iterator it = request_map_.find(xid);
- if (it == request_map_.end())
- return;
-
- long event_mask = NoEventMask;
- const RequestVector& list = it->second;
- for (size_t i = 0; i < list.size(); ++i)
- event_mask |= list[i].event_mask;
-
- XSelectInput(gfx::GetXDisplay(), xid, event_mask);
-}
-
-XForeignWindowManager::Request::Request(int request_id, long event_mask)
- : request_id(request_id),
- event_mask(event_mask) {
-}
-
-XForeignWindowManager::Request::~Request() {
-}
-
-} // namespace ui
« no previous file with comments | « ui/base/x/x11_foreign_window_manager.h ('k') | ui/base/x/x11_window_event_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698