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

Unified Diff: ash/accelerators/accelerator_dispatcher_linux.cc

Issue 298703007: Refactor and move ash independent nested accelerator code to ui/wm/core (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: skip test if platform does not support PES Created 6 years, 7 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 | « ash/accelerators/accelerator_dispatcher.cc ('k') | ash/accelerators/accelerator_dispatcher_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/accelerators/accelerator_dispatcher_linux.cc
diff --git a/ash/accelerators/accelerator_dispatcher_linux.cc b/ash/accelerators/accelerator_dispatcher_linux.cc
deleted file mode 100644
index b5494dd2e129f32fa18db2c035b2f145aad8c6ff..0000000000000000000000000000000000000000
--- a/ash/accelerators/accelerator_dispatcher_linux.cc
+++ /dev/null
@@ -1,94 +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 "ash/accelerators/accelerator_dispatcher.h"
-
-#include "base/memory/scoped_ptr.h"
-#include "base/run_loop.h"
-#include "ui/events/event.h"
-#include "ui/events/platform/platform_event_dispatcher.h"
-#include "ui/events/platform/platform_event_source.h"
-#include "ui/events/platform/scoped_event_dispatcher.h"
-
-#if defined(USE_X11)
-#include <X11/Xlib.h>
-#endif
-
-namespace ash {
-
-namespace {
-
-#if defined(USE_OZONE)
-bool IsKeyEvent(const base::NativeEvent& native_event) {
- const ui::KeyEvent* event = static_cast<const ui::KeyEvent*>(native_event);
- return event->IsKeyEvent();
-}
-#elif defined(USE_X11)
-bool IsKeyEvent(const XEvent* xev) {
- return xev->type == KeyPress || xev->type == KeyRelease;
-}
-#else
-#error Unknown build platform: you should have either use_ozone or use_x11.
-#endif
-
-scoped_ptr<ui::ScopedEventDispatcher> OverrideDispatcher(
- ui::PlatformEventDispatcher* dispatcher) {
- ui::PlatformEventSource* source = ui::PlatformEventSource::GetInstance();
- return source ? source->OverrideDispatcher(dispatcher)
- : scoped_ptr<ui::ScopedEventDispatcher>();
-}
-
-} // namespace
-
-class AcceleratorDispatcherLinux : public AcceleratorDispatcher,
- public ui::PlatformEventDispatcher {
- public:
- AcceleratorDispatcherLinux()
- : restore_dispatcher_(OverrideDispatcher(this)) {}
-
- virtual ~AcceleratorDispatcherLinux() {}
-
- private:
- // AcceleratorDispatcher:
- virtual scoped_ptr<base::RunLoop> CreateRunLoop() OVERRIDE {
- return scoped_ptr<base::RunLoop>(new base::RunLoop());
- }
-
- // ui::PlatformEventDispatcher:
- virtual bool CanDispatchEvent(const ui::PlatformEvent& event) OVERRIDE {
- return true;
- }
-
- virtual uint32_t DispatchEvent(const ui::PlatformEvent& event) OVERRIDE {
- if (IsKeyEvent(event)) {
- ui::KeyEvent key_event(event, false);
- if (MenuClosedForPossibleAccelerator(key_event)) {
-#if defined(USE_X11)
- XPutBackEvent(event->xany.display, event);
-#else
- NOTIMPLEMENTED();
-#endif
- return ui::POST_DISPATCH_NONE;
- }
-
- if (AcceleratorProcessedForKeyEvent(key_event))
- return ui::POST_DISPATCH_NONE;
- }
-
- ui::PlatformEventDispatcher* prev = *restore_dispatcher_;
- return prev ? prev->DispatchEvent(event)
- : ui::POST_DISPATCH_PERFORM_DEFAULT;
- }
-
- scoped_ptr<ui::ScopedEventDispatcher> restore_dispatcher_;
-
- DISALLOW_COPY_AND_ASSIGN(AcceleratorDispatcherLinux);
-};
-
-scoped_ptr<AcceleratorDispatcher> AcceleratorDispatcher::Create(
- base::MessagePumpDispatcher* nested_dispatcher) {
- return scoped_ptr<AcceleratorDispatcher>(new AcceleratorDispatcherLinux());
-}
-
-} // namespace ash
« no previous file with comments | « ash/accelerators/accelerator_dispatcher.cc ('k') | ash/accelerators/accelerator_dispatcher_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698