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

Side by Side Diff: chrome/browser/web_applications/web_app_mac.mm

Issue 777543002: Create hosted app shims on Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed unnecessary forward declaration Created 6 years 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 #import "chrome/browser/web_applications/web_app_mac.h" 5 #import "chrome/browser/web_applications/web_app_mac.h"
6 6
7 #import <Carbon/Carbon.h> 7 #import <Carbon/Carbon.h>
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 948 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 959
960 std::string WebAppShortcutCreator::GetInternalBundleIdentifier() const { 960 std::string WebAppShortcutCreator::GetInternalBundleIdentifier() const {
961 return GetBundleIdentifier() + "-internal"; 961 return GetBundleIdentifier() + "-internal";
962 } 962 }
963 963
964 void WebAppShortcutCreator::RevealAppShimInFinder() const { 964 void WebAppShortcutCreator::RevealAppShimInFinder() const {
965 base::FilePath app_path = GetApplicationsShortcutPath(); 965 base::FilePath app_path = GetApplicationsShortcutPath();
966 if (app_path.empty()) 966 if (app_path.empty())
967 return; 967 return;
968 968
969 if (!base::PathExists(app_path)) {
970 app_path = app_path.DirName();
971 }
972
969 [[NSWorkspace sharedWorkspace] 973 [[NSWorkspace sharedWorkspace]
970 selectFile:base::mac::FilePathToNSString(app_path) 974 selectFile:base::mac::FilePathToNSString(app_path)
971 inFileViewerRootedAtPath:nil]; 975 inFileViewerRootedAtPath:nil];
972 } 976 }
973 977
978 void WebAppShortcutCreator::RevealAppShimInFinderForApp(
979 Profile* profile,
980 const extensions::Extension* app) {
981 const web_app::ShortcutInfo shortcut_info =
982 ShortcutInfoForExtensionAndProfile(app, profile);
983 content::BrowserThread::PostTask(
984 content::BrowserThread::FILE, FROM_HERE,
985 base::Bind(&RevealAppShimInFinderForAppOnFileThread, shortcut_info,
986 app->path()));
987 }
988
989 void WebAppShortcutCreator::RevealAppShimInFinderForAppOnFileThread(
990 const ShortcutInfo& shortcut_info,
991 const base::FilePath& app_path) {
992 web_app::WebAppShortcutCreator shortcut_creator(
993 app_path, shortcut_info, extensions::FileHandlersInfo());
994 shortcut_creator.RevealAppShimInFinder();
995 }
996
974 base::FilePath GetAppInstallPath(const ShortcutInfo& shortcut_info) { 997 base::FilePath GetAppInstallPath(const ShortcutInfo& shortcut_info) {
975 WebAppShortcutCreator shortcut_creator( 998 WebAppShortcutCreator shortcut_creator(
976 base::FilePath(), shortcut_info, extensions::FileHandlersInfo()); 999 base::FilePath(), shortcut_info, extensions::FileHandlersInfo());
977 return shortcut_creator.GetApplicationsShortcutPath(); 1000 return shortcut_creator.GetApplicationsShortcutPath();
978 } 1001 }
979 1002
980 void MaybeLaunchShortcut(const ShortcutInfo& shortcut_info) { 1003 void MaybeLaunchShortcut(const ShortcutInfo& shortcut_info) {
981 if (AppShimsDisabledForTest() && 1004 if (AppShimsDisabledForTest() &&
982 !g_app_shims_allow_update_and_launch_in_tests) { 1005 !g_app_shims_allow_update_and_launch_in_tests) {
983 return; 1006 return;
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 web_app::GetShortcutInfoForApp( 1178 web_app::GetShortcutInfoForApp(
1156 app, 1179 app,
1157 profile, 1180 profile,
1158 base::Bind(&web_app::CreateAppShortcutInfoLoaded, 1181 base::Bind(&web_app::CreateAppShortcutInfoLoaded,
1159 profile, 1182 profile,
1160 app, 1183 app,
1161 close_callback)); 1184 close_callback));
1162 } 1185 }
1163 1186
1164 } // namespace chrome 1187 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698