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

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

Issue 2094583004: Initial commit for Chrome metainstaller on Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fully addressed making the .dmg download asynchronously Created 4 years, 5 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #import "delegate.h"
6
7 @implementation DownloadDelegate : NSObject
8 // Returns a path to a user's home download folder.
9 - (NSString*)getDownloadsFilePath {
Elly Fong-Jones 2016/07/06 15:22:02 This should probably be override-able somehow (com
10 NSArray* downloadPaths = NSSearchPathForDirectoriesInDomains(
11 NSDownloadsDirectory, NSUserDomainMask, YES);
12 NSString* filePathToDownloads = [downloadPaths objectAtIndex:0];
13 NSArray* filenameComposition = @[filePathToDownloads, @"GoogleChrome.dmg"];
14 NSString* completeFilePath = [NSString pathWithComponents:
15 filenameComposition];
16 return completeFilePath;
17 }
18
19 // Skeleton of delegate method to provide download progress updates.
20 // TODO: Make use of (totalBytesWritten/totalBytesExpectedToWrite)*100
21 // to generate download progress percentage.
22 - (void)URLSession:(NSURLSession*)session
23 downloadTask:(NSURLSessionDownloadTask*)downloadTask
24 didWriteData:(int64_t)bytesWritten
25 totalBytesWritten:(int64_t)totalBytesWritten
26 totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite{
27
28 }
29
30 // Delegate method to move downloaded disk image to user's Download directory.
31 - (void)URLSession:(NSURLSession*)session
32 downloadTask:(NSURLSessionDownloadTask*)downloadTask
33 didFinishDownloadingToURL:(NSURL*)location{
34 NSFileManager* manager = [[NSFileManager alloc] init];
35 NSString* temporaryDownloadDirectory = [NSString
36 stringWithFormat:@"%@",location.path];
37 NSURL* downloadsDirectory = [[NSURL alloc]
38 initFileURLWithPath:[self getDownloadsFilePath]];
39
40 if ( [manager isReadableFileAtPath:temporaryDownloadDirectory] )
41 [manager copyItemAtURL:location toURL:downloadsDirectory error:nil];
Elly Fong-Jones 2016/07/06 15:22:02 What do we do if it's not?
42 }
43 @end
44
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698