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

Side by Side Diff: chrome/installer/mac/app/AppDelegate.m

Issue 2281263003: Use AuthorizedInstall to move Chrome into place and set up permissions (Closed)
Patch Set: Edited according to updated dependency CL Created 4 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
« 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "AppDelegate.h" 5 #import "AppDelegate.h"
6 6
7 #include <Security/Security.h> 7 #include <Security/Security.h>
8 8
9 #import "Downloader.h" 9 #import "Downloader.h"
10 #import "InstallerWindowController.h" 10 #import "InstallerWindowController.h"
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 109
110 // Bridge method from Downloader to InstallerWindowController. Allows Downloader 110 // Bridge method from Downloader to InstallerWindowController. Allows Downloader
111 // to update the progressbar without having direct access to any UI obejcts. 111 // to update the progressbar without having direct access to any UI obejcts.
112 - (void)downloader:(Downloader*)download percentProgress:(double)percentage { 112 - (void)downloader:(Downloader*)download percentProgress:(double)percentage {
113 [installerWindowController_ updateDownloadProgress:(double)percentage]; 113 [installerWindowController_ updateDownloadProgress:(double)percentage];
114 } 114 }
115 115
116 - (void)downloader:(Downloader*)download onSuccess:(NSURL*)diskImageURL { 116 - (void)downloader:(Downloader*)download onSuccess:(NSURL*)diskImageURL {
117 [installerWindowController_ updateStatusDescription:@"Installing..."]; 117 [installerWindowController_ updateStatusDescription:@"Installing..."];
118 [installerWindowController_ enableLaunchButton]; 118 [installerWindowController_ enableLaunchButton];
119 // TODO: Add unpacking step here and pass the path to the app bundle inside
120 // the mounted disk image path to startInstall. Currently passing hardcoded
121 // path to preunpacked app bundle.
122 //[authorizedInstall_
123 // startInstall:@"$HOME/Downloads/Google Chrome.app"];
124 119
125 Unpacker* unpacker = [[Unpacker alloc] init]; 120 Unpacker* unpacker = [[Unpacker alloc] init];
126 unpacker.delegate = self; 121 unpacker.delegate = self;
127 [unpacker mountDMGFromURL:diskImageURL]; 122 [unpacker mountDMGFromURL:diskImageURL];
128 } 123 }
129 124
130 - (void)downloader:(Downloader*)download onFailure:(NSError*)error { 125 - (void)downloader:(Downloader*)download onFailure:(NSError*)error {
131 NSError* downloadError = 126 NSError* downloadError =
132 [NSError errorForAlerts:@"Download Failure" 127 [NSError errorForAlerts:@"Download Failure"
133 withDescription:@"Unable to download Google Chrome." 128 withDescription:@"Unable to download Google Chrome."
(...skipping 23 matching lines...) Expand all
157 NSLog(@"static code %d", oserror); 152 NSLog(@"static code %d", oserror);
158 153
159 // Calling this function will change the progress bar into an indeterminate 154 // Calling this function will change the progress bar into an indeterminate
160 // one. We won't need to update the progress bar any more after this point. 155 // one. We won't need to update the progress bar any more after this point.
161 [installerWindowController_ updateDownloadProgress:-1.0]; 156 [installerWindowController_ updateDownloadProgress:-1.0];
162 // By disabling closing the window or quitting, we can tell the user that 157 // By disabling closing the window or quitting, we can tell the user that
163 // closing the application at this point is not a good idea. 158 // closing the application at this point is not a good idea.
164 window_.styleMask &= ~NSClosableWindowMask; 159 window_.styleMask &= ~NSClosableWindowMask;
165 preventTermination_ = YES; 160 preventTermination_ = YES;
166 161
167 // TODO: move the below code into AuthorizedInstall 162 NSString* chromeInApplicationsFolder =
168 NSString* chromeInApplicationsFolder = @"/Applications/Google Chromo.app"; 163 [authorizedInstall_ startInstall:tempAppPath];
169 164
170 NSError* error = nil; 165 NSError* error = nil;
171 if ([[NSFileManager defaultManager]
172 fileExistsAtPath:chromeInApplicationsFolder]) {
173 [[NSFileManager defaultManager] moveItemAtPath:chromeInApplicationsFolder
174 toPath:tempAppPath
175 error:nil];
176 }
177 if (![[NSFileManager defaultManager] moveItemAtPath:tempAppPath
178 toPath:chromeInApplicationsFolder
179 error:&error]) {
180 NSLog(@"%@", error);
181 }
182 // TODO: move the above code into AuthorizedInstall
183
184 [[NSWorkspace sharedWorkspace] 166 [[NSWorkspace sharedWorkspace]
185 launchApplicationAtURL:[NSURL fileURLWithPath:chromeInApplicationsFolder 167 launchApplicationAtURL:[NSURL fileURLWithPath:chromeInApplicationsFolder
186 isDirectory:NO] 168 isDirectory:NO]
187 options:NSWorkspaceLaunchDefault 169 options:NSWorkspaceLaunchDefault
188 configuration:@{} 170 configuration:@{}
189 error:&error]; 171 error:&error];
190 if (error) { 172 if (error) {
191 NSLog(@"Chrome failed to launch: %@", error); 173 NSLog(@"Chrome failed to launch: %@", error);
192 } 174 }
193 175
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 if (returnCode != [alertForUser quitResponse]) { 213 if (returnCode != [alertForUser quitResponse]) {
232 [self startDownload]; 214 [self startDownload];
233 } else { 215 } else {
234 [NSApp terminate:nil]; 216 [NSApp terminate:nil];
235 } 217 }
236 }]; 218 }];
237 }); 219 });
238 } 220 }
239 221
240 @end 222 @end
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