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

Side by Side Diff: chrome/browser/ui/extensions/application_launch.cc

Issue 1336823003: Move chrome::HostDesktopType to ui::HostDesktopType (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@base_session_service_delegate_impl
Patch Set: Fix build on Mac and CrOS Created 5 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extensions/application_launch.h" 5 #include "chrome/browser/ui/extensions/application_launch.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "apps/launcher.h" 9 #include "apps/launcher.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 48
49 using content::WebContents; 49 using content::WebContents;
50 using extensions::Extension; 50 using extensions::Extension;
51 using extensions::ExtensionPrefs; 51 using extensions::ExtensionPrefs;
52 using extensions::ExtensionRegistry; 52 using extensions::ExtensionRegistry;
53 53
54 namespace { 54 namespace {
55 55
56 // Shows the app list for |desktop_type| and returns the app list's window. 56 // Shows the app list for |desktop_type| and returns the app list's window.
57 gfx::NativeWindow ShowAppListAndGetNativeWindow( 57 gfx::NativeWindow ShowAppListAndGetNativeWindow(
58 chrome::HostDesktopType desktop_type) { 58 ui::HostDesktopType desktop_type) {
59 AppListService* app_list_service = AppListService::Get(desktop_type); 59 AppListService* app_list_service = AppListService::Get(desktop_type);
60 app_list_service->Show(); 60 app_list_service->Show();
61 return app_list_service->GetAppListWindow(); 61 return app_list_service->GetAppListWindow();
62 } 62 }
63 63
64 // Attempts to launch an app, prompting the user to enable it if necessary. If 64 // Attempts to launch an app, prompting the user to enable it if necessary. If
65 // a prompt is required it will be shown inside the window returned by 65 // a prompt is required it will be shown inside the window returned by
66 // |parent_window_getter|. 66 // |parent_window_getter|.
67 // This class manages its own lifetime. 67 // This class manages its own lifetime.
68 class EnableViaDialogFlow : public ExtensionEnableFlowDelegate { 68 class EnableViaDialogFlow : public ExtensionEnableFlowDelegate {
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 if (params.tabstrip_add_types & TabStripModel::ADD_ACTIVE) 276 if (params.tabstrip_add_types & TabStripModel::ADD_ACTIVE)
277 model->ActivateTabAt(tab_index, true); 277 model->ActivateTabAt(tab_index, true);
278 278
279 contents = existing_tab; 279 contents = existing_tab;
280 } else { 280 } else {
281 chrome::Navigate(&params); 281 chrome::Navigate(&params);
282 contents = params.target_contents; 282 contents = params.target_contents;
283 } 283 }
284 284
285 // On Chrome OS the host desktop type for a browser window is always set to 285 // On Chrome OS the host desktop type for a browser window is always set to
286 // HOST_DESKTOP_TYPE_ASH. On Windows 8 it is only the case for Chrome ASH 286 // ui::HOST_DESKTOP_TYPE_ASH. On Windows 8 it is only the case for Chrome ASH
287 // in metro mode. 287 // in metro mode.
288 if (browser->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH) { 288 if (browser->host_desktop_type() == ui::HOST_DESKTOP_TYPE_ASH) {
289 // In ash, LAUNCH_FULLSCREEN launches in the OpenApplicationWindow function 289 // In ash, LAUNCH_FULLSCREEN launches in the OpenApplicationWindow function
290 // i.e. it should not reach here. 290 // i.e. it should not reach here.
291 DCHECK(launch_type != extensions::LAUNCH_TYPE_FULLSCREEN); 291 DCHECK(launch_type != extensions::LAUNCH_TYPE_FULLSCREEN);
292 } else { 292 } else {
293 // TODO(skerner): If we are already in full screen mode, and the user 293 // TODO(skerner): If we are already in full screen mode, and the user
294 // set the app to open as a regular or pinned tab, what should happen? 294 // set the app to open as a regular or pinned tab, what should happen?
295 // Today we open the tab, but stay in full screen mode. Should we leave 295 // Today we open the tab, but stay in full screen mode. Should we leave
296 // full screen mode in this case? 296 // full screen mode in this case?
297 if (launch_type == extensions::LAUNCH_TYPE_FULLSCREEN && 297 if (launch_type == extensions::LAUNCH_TYPE_FULLSCREEN &&
298 !browser->window()->IsFullscreen()) { 298 !browser->window()->IsFullscreen()) {
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 extensions::TabHelper::FromWebContents(tab)->UpdateShortcutOnLoadComplete(); 412 extensions::TabHelper::FromWebContents(tab)->UpdateShortcutOnLoadComplete();
413 413
414 return tab; 414 return tab;
415 } 415 }
416 416
417 bool CanLaunchViaEvent(const extensions::Extension* extension) { 417 bool CanLaunchViaEvent(const extensions::Extension* extension) {
418 const extensions::Feature* feature = 418 const extensions::Feature* feature =
419 extensions::FeatureProvider::GetAPIFeature("app.runtime"); 419 extensions::FeatureProvider::GetAPIFeature("app.runtime");
420 return feature->IsAvailableToExtension(extension).is_available(); 420 return feature->IsAvailableToExtension(extension).is_available();
421 } 421 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698