Move "pack" button in the top toolbar to an action in the list of unpacked items.
[chromium-blink-merge.git] / ui / keyboard / keyboard_ui_handler.cc
blob291f3a05f4cee02bf4feb7bbd6b99dd89e0b16dd
1 // Copyright (c) 2013 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.
5 #include "ui/keyboard/keyboard_ui_handler.h"
7 #include <string>
9 #include "base/bind.h"
10 #include "base/logging.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "content/public/browser/web_contents.h"
13 #include "content/public/browser/web_contents_view.h"
14 #include "content/public/browser/web_ui.h"
15 #include "ui/aura/root_window.h"
16 #include "ui/base/events/event.h"
17 #include "ui/keyboard/keyboard_util.h"
19 namespace keyboard {
21 KeyboardUIHandler::KeyboardUIHandler() {
24 KeyboardUIHandler::~KeyboardUIHandler() {
27 void KeyboardUIHandler::RegisterMessages() {
28 web_ui()->RegisterMessageCallback(
29 "sendKeyEvent",
30 base::Bind(&KeyboardUIHandler::HandleSendKeyEventMessage,
31 base::Unretained(this)));
34 void KeyboardUIHandler::HandleSendKeyEventMessage(const base::ListValue* args) {
35 std::string error;
36 scoped_ptr<ui::KeyEvent> event(keyboard::KeyEventFromArgs(args, &error));
37 if (!event) {
38 LOG(ERROR) << "sendKeyEvent failed: " << error;
39 return;
42 aura::RootWindow* root_window =
43 web_ui()->GetWebContents()->GetView()->GetNativeView()->GetRootWindow();
44 root_window->AsRootWindowHostDelegate()->OnHostKeyEvent(event.get());
47 } // namespace keyboard