// Copyright 2015 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. #ifndef CHROME_TEST_BASE_DEFAULT_ASH_EVENT_GENERATOR_DELEGATE_H_ #define CHROME_TEST_BASE_DEFAULT_ASH_EVENT_GENERATOR_DELEGATE_H_ #include "ash/shell.h" #include "base/macros.h" #include "base/memory/singleton.h" #include "ui/aura/test/event_generator_delegate_aura.h" #include "ui/aura/window.h" class DefaultAshEventGeneratorDelegate : public aura::test::EventGeneratorDelegateAura { public: static DefaultAshEventGeneratorDelegate* GetInstance(); // EventGeneratorDelegate: void SetContext(ui::test::EventGenerator* owner, gfx::NativeWindow root_window, gfx::NativeWindow window) override; aura::WindowTreeHost* GetHostAt(const gfx::Point& point) const override; aura::client::ScreenPositionClient* GetScreenPositionClient( const aura::Window* window) const override; void DispatchKeyEventToIME(ui::EventTarget* target, ui::KeyEvent* event) override; private: friend struct base::DefaultSingletonTraits; DefaultAshEventGeneratorDelegate(); ~DefaultAshEventGeneratorDelegate() override; aura::Window* root_window_; DISALLOW_COPY_AND_ASSIGN(DefaultAshEventGeneratorDelegate); }; #endif // CHROME_TEST_BASE_DEFAULT_ASH_EVENT_GENERATOR_DELEGATE_H_