| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/ui/app_list/app_context_menu.h" | 5 #include "chrome/browser/ui/app_list/app_context_menu.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "chrome/browser/extensions/context_menu_matcher.h" | 8 #include "chrome/browser/extensions/context_menu_matcher.h" |
| 9 #include "chrome/browser/extensions/extension_util.h" | 9 #include "chrome/browser/extensions/extension_util.h" |
| 10 #include "chrome/browser/extensions/menu_manager.h" | 10 #include "chrome/browser/extensions/menu_manager.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 | 110 |
| 111 if (controller_->CanDoCreateShortcutsFlow()) { | 111 if (controller_->CanDoCreateShortcutsFlow()) { |
| 112 menu_model_->AddItemWithStringId(CREATE_SHORTCUTS, | 112 menu_model_->AddItemWithStringId(CREATE_SHORTCUTS, |
| 113 IDS_NEW_TAB_APP_CREATE_SHORTCUT); | 113 IDS_NEW_TAB_APP_CREATE_SHORTCUT); |
| 114 } | 114 } |
| 115 menu_model_->AddSeparator(ui::NORMAL_SEPARATOR); | 115 menu_model_->AddSeparator(ui::NORMAL_SEPARATOR); |
| 116 | 116 |
| 117 if (!is_platform_app_) { | 117 if (!is_platform_app_) { |
| 118 // When bookmark apps are enabled, hosted apps can only toggle between | 118 // When bookmark apps are enabled, hosted apps can only toggle between |
| 119 // USE_LAUNCH_TYPE_WINDOW and USE_LAUNCH_TYPE_REGULAR. | 119 // USE_LAUNCH_TYPE_WINDOW and USE_LAUNCH_TYPE_REGULAR. |
| 120 if (extensions::util::IsNewBookmarkAppsEnabled()) { | 120 if (extensions::util::CanHostedAppsOpenInWindows() && |
| 121 menu_model_->AddCheckItemWithStringId(USE_LAUNCH_TYPE_WINDOW, | 121 extensions::util::IsNewBookmarkAppsEnabled()) { |
| 122 IDS_APP_CONTEXT_MENU_OPEN_WINDOW); | 122 // When both flags are enabled, only allow toggling between |
| 123 } else { | 123 // USE_LAUNCH_TYPE_WINDOW and USE_LAUNCH_TYPE_REGULAR |
| 124 menu_model_->AddCheckItemWithStringId( |
| 125 USE_LAUNCH_TYPE_WINDOW, IDS_APP_CONTEXT_MENU_OPEN_WINDOW); |
| 126 } else if (!extensions::util::IsNewBookmarkAppsEnabled()) { |
| 127 // When new bookmark apps are disabled, add pinned and full screen |
| 128 // options as well. Add open as window if CanHostedAppsOpenInWindows |
| 129 // is enabled. |
| 124 menu_model_->AddCheckItemWithStringId( | 130 menu_model_->AddCheckItemWithStringId( |
| 125 USE_LAUNCH_TYPE_REGULAR, | 131 USE_LAUNCH_TYPE_REGULAR, |
| 126 IDS_APP_CONTEXT_MENU_OPEN_REGULAR); | 132 IDS_APP_CONTEXT_MENU_OPEN_REGULAR); |
| 127 menu_model_->AddCheckItemWithStringId( | 133 menu_model_->AddCheckItemWithStringId( |
| 128 USE_LAUNCH_TYPE_PINNED, | 134 USE_LAUNCH_TYPE_PINNED, |
| 129 IDS_APP_CONTEXT_MENU_OPEN_PINNED); | 135 IDS_APP_CONTEXT_MENU_OPEN_PINNED); |
| 136 if (extensions::util::CanHostedAppsOpenInWindows()) { |
| 137 menu_model_->AddCheckItemWithStringId( |
| 138 USE_LAUNCH_TYPE_WINDOW, |
| 139 IDS_APP_CONTEXT_MENU_OPEN_WINDOW); |
| 140 } |
| 130 #if defined(OS_MACOSX) | 141 #if defined(OS_MACOSX) |
| 131 // Mac does not support standalone web app browser windows or maximize. | 142 // Mac does not support standalone web app browser windows or maximize. |
| 132 menu_model_->AddCheckItemWithStringId( | 143 menu_model_->AddCheckItemWithStringId( |
| 133 USE_LAUNCH_TYPE_FULLSCREEN, | 144 USE_LAUNCH_TYPE_FULLSCREEN, |
| 134 IDS_APP_CONTEXT_MENU_OPEN_FULLSCREEN); | 145 IDS_APP_CONTEXT_MENU_OPEN_FULLSCREEN); |
| 135 #else | 146 #else |
| 136 menu_model_->AddCheckItemWithStringId( | |
| 137 USE_LAUNCH_TYPE_WINDOW, | |
| 138 IDS_APP_CONTEXT_MENU_OPEN_WINDOW); | |
| 139 // Even though the launch type is Full Screen it is more accurately | 147 // Even though the launch type is Full Screen it is more accurately |
| 140 // described as Maximized in Ash. | 148 // described as Maximized in Ash. |
| 141 menu_model_->AddCheckItemWithStringId( | 149 menu_model_->AddCheckItemWithStringId( |
| 142 USE_LAUNCH_TYPE_FULLSCREEN, | 150 USE_LAUNCH_TYPE_FULLSCREEN, |
| 143 IDS_APP_CONTEXT_MENU_OPEN_MAXIMIZED); | 151 IDS_APP_CONTEXT_MENU_OPEN_MAXIMIZED); |
| 144 #endif | 152 #endif |
| 145 } | 153 } |
| 146 menu_model_->AddSeparator(ui::NORMAL_SEPARATOR); | 154 menu_model_->AddSeparator(ui::NORMAL_SEPARATOR); |
| 147 } | 155 } |
| 148 | 156 |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 extension_menu_items_->ExecuteCommand(command_id, NULL, | 296 extension_menu_items_->ExecuteCommand(command_id, NULL, |
| 289 content::ContextMenuParams()); | 297 content::ContextMenuParams()); |
| 290 } else if (command_id == MENU_NEW_WINDOW) { | 298 } else if (command_id == MENU_NEW_WINDOW) { |
| 291 controller_->CreateNewWindow(profile_, false); | 299 controller_->CreateNewWindow(profile_, false); |
| 292 } else if (command_id == MENU_NEW_INCOGNITO_WINDOW) { | 300 } else if (command_id == MENU_NEW_INCOGNITO_WINDOW) { |
| 293 controller_->CreateNewWindow(profile_, true); | 301 controller_->CreateNewWindow(profile_, true); |
| 294 } | 302 } |
| 295 } | 303 } |
| 296 | 304 |
| 297 } // namespace app_list | 305 } // namespace app_list |
| OLD | NEW |