| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/views/native_menu_domui.h" | 5 #include "chrome/browser/chromeos/views/native_menu_domui.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "app/menus/menu_model.h" | 9 #include "app/menus/menu_model.h" |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| 11 #include "base/string_util.h" | 11 #include "base/string_util.h" |
| 12 #include "chrome/browser/browser.h" | 12 #include "chrome/browser/browser.h" |
| 13 #include "chrome/browser/browser_list.h" | 13 #include "chrome/browser/browser_list.h" |
| 14 #include "chrome/browser/browser_window.h" | 14 #include "chrome/browser/browser_window.h" |
| 15 #include "chrome/browser/chromeos/dom_ui/menu_ui.h" | 15 #include "chrome/browser/chromeos/dom_ui/menu_ui.h" |
| 16 #include "chrome/browser/chromeos/views/domui_menu_widget.h" | 16 #include "chrome/browser/chromeos/views/domui_menu_widget.h" |
| 17 #include "chrome/browser/chromeos/views/menu_locator.h" | 17 #include "chrome/browser/chromeos/views/menu_locator.h" |
| 18 #include "chrome/browser/profile_manager.h" | 18 #include "chrome/browser/profile_manager.h" |
| 19 #include "chrome/common/url_constants.h" | 19 #include "chrome/common/url_constants.h" |
| 20 #include "gfx/rect.h" | 20 #include "gfx/rect.h" |
| 21 #include "views/controls/menu/menu_2.h" | 21 #include "views/controls/menu/menu_2.h" |
| 22 #include "views/controls/menu/native_menu_gtk.h" | 22 #include "views/controls/menu/native_menu_gtk.h" |
| 23 #include "views/controls/menu/nested_dispatcher_gtk.h" | 23 #include "views/controls/menu/nested_dispatcher_gtk.h" |
| 24 | 24 |
| 25 #if defined(TOUCH_UI) |
| 26 #include "views/focus/accelerator_handler.h" |
| 27 #endif |
| 28 |
| 25 namespace { | 29 namespace { |
| 26 | 30 |
| 27 using chromeos::NativeMenuDOMUI; | 31 using chromeos::NativeMenuDOMUI; |
| 28 using chromeos::DOMUIMenuWidget; | 32 using chromeos::DOMUIMenuWidget; |
| 29 | 33 |
| 30 // Returns true if the menu item type specified can be executed as a command. | 34 // Returns true if the menu item type specified can be executed as a command. |
| 31 bool MenuTypeCanExecute(menus::MenuModel::ItemType type) { | 35 bool MenuTypeCanExecute(menus::MenuModel::ItemType type) { |
| 32 return type == menus::MenuModel::TYPE_COMMAND || | 36 return type == menus::MenuModel::TYPE_COMMAND || |
| 33 type == menus::MenuModel::TYPE_CHECK || | 37 type == menus::MenuModel::TYPE_CHECK || |
| 34 type == menus::MenuModel::TYPE_RADIO; | 38 type == menus::MenuModel::TYPE_RADIO; |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 } | 241 } |
| 238 break; | 242 break; |
| 239 } | 243 } |
| 240 default: | 244 default: |
| 241 break; | 245 break; |
| 242 } | 246 } |
| 243 gtk_main_do_event(event); | 247 gtk_main_do_event(event); |
| 244 return true; | 248 return true; |
| 245 } | 249 } |
| 246 | 250 |
| 251 #if defined(TOUCH_UI) |
| 252 bool NativeMenuDOMUI::Dispatch(XEvent* xevent) { |
| 253 return views::DispatchXEvent(xevent); |
| 254 } |
| 255 #endif |
| 256 |
| 247 //////////////////////////////////////////////////////////////////////////////// | 257 //////////////////////////////////////////////////////////////////////////////// |
| 248 // NativeMenuDOMUI, MenuControl implementation: | 258 // NativeMenuDOMUI, MenuControl implementation: |
| 249 | 259 |
| 250 void NativeMenuDOMUI::Activate(menus::MenuModel* model, | 260 void NativeMenuDOMUI::Activate(menus::MenuModel* model, |
| 251 int index, | 261 int index, |
| 252 ActivationMode activation) { | 262 ActivationMode activation) { |
| 253 NativeMenuDOMUI* root = GetRoot(); | 263 NativeMenuDOMUI* root = GetRoot(); |
| 254 if (root) { | 264 if (root) { |
| 255 if (activation == CLOSE_AND_ACTIVATE) { | 265 if (activation == CLOSE_AND_ACTIVATE) { |
| 256 root->activated_menu_ = model; | 266 root->activated_menu_ = model; |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 MenuWrapper* MenuWrapper::CreateWrapper(Menu2* menu) { | 404 MenuWrapper* MenuWrapper::CreateWrapper(Menu2* menu) { |
| 395 menus::MenuModel* model = menu->model(); | 405 menus::MenuModel* model = menu->model(); |
| 396 if (chromeos::MenuUI::IsEnabled()) { | 406 if (chromeos::MenuUI::IsEnabled()) { |
| 397 return new chromeos::NativeMenuDOMUI(model, true); | 407 return new chromeos::NativeMenuDOMUI(model, true); |
| 398 } else { | 408 } else { |
| 399 return new NativeMenuGtk(menu); | 409 return new NativeMenuGtk(menu); |
| 400 } | 410 } |
| 401 } | 411 } |
| 402 | 412 |
| 403 } // namespace views | 413 } // namespace views |
| OLD | NEW |