blob: 986901597a804d7b6a96792ddc48655c09a8d54e [file] [log] [blame]
// Copyright 2018 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/keyboard/test/test_keyboard_ui.h"
#include "base/threading/sequenced_task_runner_handle.h"
#include "ui/display/display.h"
#include "ui/display/screen.h"
#include "ui/keyboard/test/keyboard_test_util.h"
namespace keyboard {
TestKeyboardUI::TestKeyboardUI(ui::InputMethod* input_method)
: input_method_(input_method) {}
TestKeyboardUI::~TestKeyboardUI() {
// Destroy the window before the delegate.
window_.reset();
}
aura::Window* TestKeyboardUI::LoadKeyboardWindow(LoadCallback callback) {
DCHECK(!window_);
window_ = std::make_unique<aura::Window>(&delegate_);
window_->Init(ui::LAYER_NOT_DRAWN);
window_->set_owned_by_parent(false);
// Set a default size for the keyboard.
display::Screen* screen = display::Screen::GetScreen();
window_->SetBounds(
KeyboardBoundsFromRootBounds(screen->GetPrimaryDisplay().bounds()));
// Simulate an asynchronous load.
base::SequencedTaskRunnerHandle::Get()->PostTask(FROM_HERE,
std::move(callback));
return window_.get();
}
aura::Window* TestKeyboardUI::GetKeyboardWindow() const {
return window_.get();
}
ui::InputMethod* TestKeyboardUI::GetInputMethod() {
return input_method_;
}
} // namespace keyboard