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 |