Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Side by Side Diff: chrome/browser/ui/app_list/app_context_menu.cc

Issue 836673003: Fixed "Open in a Tab" option for apps in Chrome App Launcher. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rewrote CL Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 } 174 }
175 175
176 return menu_model_.get(); 176 return menu_model_.get();
177 } 177 }
178 178
179 bool AppContextMenu::IsItemForCommandIdDynamic(int command_id) const { 179 bool AppContextMenu::IsItemForCommandIdDynamic(int command_id) const {
180 return command_id == TOGGLE_PIN || command_id == LAUNCH_NEW; 180 return command_id == TOGGLE_PIN || command_id == LAUNCH_NEW;
181 } 181 }
182 182
183 base::string16 AppContextMenu::GetLabelForCommandId(int command_id) const { 183 base::string16 AppContextMenu::GetLabelForCommandId(int command_id) const {
184 if (command_id == TOGGLE_PIN) { 184 // If streamlined hosted apps are enabled, then we do not need to consider
185 return controller_->IsAppPinned(app_id_) ? 185 // the case when command_id == TOGGLE_PIN (see AppContextMenu::GetMenuModel).
186 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_UNPIN) : 186 if (extensions::util::IsStreamlinedHostedAppsEnabled()) {
187 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_PIN); 187 if (command_id == LAUNCH_NEW) {
tapted 2015/01/05 23:10:32 nit: instead of the if/else-NOTREACHED, you can ju
mitchellj 2015/01/06 01:41:14 Done.
188 } else if (command_id == LAUNCH_NEW) { 188 return IsCommandIdChecked(USE_LAUNCH_TYPE_REGULAR) ?
189 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_NEW_TAB) :
190 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_NEW_WINDOW);
191 } else {
192 NOTREACHED();
193 return base::string16();
194 }
195 } else {
tapted 2015/01/05 23:10:32 "Don't use else after return" : http://www.chromiu
mitchellj 2015/01/06 01:41:14 Done.
196 if (command_id == TOGGLE_PIN) {
197 return controller_->IsAppPinned(app_id_) ?
198 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_UNPIN) :
199 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_PIN);
200 } else if (command_id == LAUNCH_NEW) {
189 #if defined(OS_MACOSX) 201 #if defined(OS_MACOSX)
190 // Even fullscreen windows launch in a browser tab on Mac. 202 // Even fullscreen windows launch in a browser tab on Mac.
191 const bool launches_in_tab = true; 203 const bool launches_in_tab = true;
192 #else 204 #else
193 const bool launches_in_tab = IsCommandIdChecked(USE_LAUNCH_TYPE_PINNED) || 205 const bool launches_in_tab =
194 IsCommandIdChecked(USE_LAUNCH_TYPE_REGULAR); 206 IsCommandIdChecked(USE_LAUNCH_TYPE_PINNED) ||
207 IsCommandIdChecked(USE_LAUNCH_TYPE_REGULAR);
195 #endif 208 #endif
196 return launches_in_tab ? 209 return launches_in_tab ?
197 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_NEW_TAB) : 210 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_NEW_TAB) :
198 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_NEW_WINDOW); 211 l10n_util::GetStringUTF16(IDS_APP_LIST_CONTEXT_MENU_NEW_WINDOW);
199 } else { 212 } else {
200 NOTREACHED(); 213 NOTREACHED();
201 return base::string16(); 214 return base::string16();
215 }
202 } 216 }
203 } 217 }
204 218
205 bool AppContextMenu::IsCommandIdChecked(int command_id) const { 219 bool AppContextMenu::IsCommandIdChecked(int command_id) const {
206 if (command_id >= USE_LAUNCH_TYPE_COMMAND_START && 220 if (command_id >= USE_LAUNCH_TYPE_COMMAND_START &&
207 command_id < USE_LAUNCH_TYPE_COMMAND_END) { 221 command_id < USE_LAUNCH_TYPE_COMMAND_END) {
208 return static_cast<int>(controller_->GetExtensionLaunchType( 222 return static_cast<int>(controller_->GetExtensionLaunchType(
209 profile_, app_id_)) + USE_LAUNCH_TYPE_COMMAND_START == command_id; 223 profile_, app_id_)) + USE_LAUNCH_TYPE_COMMAND_START == command_id;
210 } else if (extensions::ContextMenuMatcher::IsExtensionsCustomCommandId( 224 } else if (extensions::ContextMenuMatcher::IsExtensionsCustomCommandId(
211 command_id)) { 225 command_id)) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 extension_menu_items_->ExecuteCommand(command_id, NULL, 292 extension_menu_items_->ExecuteCommand(command_id, NULL,
279 content::ContextMenuParams()); 293 content::ContextMenuParams());
280 } else if (command_id == MENU_NEW_WINDOW) { 294 } else if (command_id == MENU_NEW_WINDOW) {
281 controller_->CreateNewWindow(profile_, false); 295 controller_->CreateNewWindow(profile_, false);
282 } else if (command_id == MENU_NEW_INCOGNITO_WINDOW) { 296 } else if (command_id == MENU_NEW_INCOGNITO_WINDOW) {
283 controller_->CreateNewWindow(profile_, true); 297 controller_->CreateNewWindow(profile_, true);
284 } 298 }
285 } 299 }
286 300
287 } // namespace app_list 301 } // namespace app_list
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698