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

Issue 2203583002: Added unpacking step (Closed)

Created:
4 years, 4 months ago by Anna Zeng
Modified:
4 years, 3 months ago
CC:
chromium-reviews, grt+watch_chromium.org, wfh+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Added unpacking step BUG= Committed: https://crrev.com/d0136826964ad0e135f71b18661b78e1a3cf1c71 Cr-Commit-Position: refs/heads/master@{#415213}

Patch Set 1 #

Patch Set 2 : Ready for review! #

Total comments: 10

Patch Set 3 : Added test file #

Patch Set 4 : Addressed some of Sidney's comments for the moment #

Total comments: 10

Patch Set 5 : Added use of temporary folders, removed semaphore from main installer code, adjusted some files' APIs, resolved remaining comments #

Total comments: 43

Patch Set 6 : Addressed all comments, rearranged app logic, rewrote test, a bit more error handling #

Total comments: 9

Patch Set 7 : Resolved comments, made many minor changes, ready for review! #

Total comments: 14

Patch Set 8 : Ready for review, all comments resolved. #

Patch Set 9 : Added in SecCodeCheckValidity in place of the hdiutil checksum #

Total comments: 4

Patch Set 10 : Brushing up before CQ #

Patch Set 11 : Pleasing the commitbots! #

Patch Set 12 : Correcting the BUILD file to point to the correct location of test files #

Patch Set 13 : Commitbots, be pleased! #

Patch Set 14 : Fixed a segfault! #

Patch Set 15 : Rebased #

Patch Set 16 : Rebased again! #

Patch Set 17 : Resolve memory issues #

Patch Set 18 : Moved a #include #

Patch Set 19 : adjusted a small error #

Patch Set 20 : Added DMG to build file #

Unified diffs Side-by-side diffs Delta from patch set Stats (+517 lines, -168 lines) Patch
M chrome/installer/mac/app/AppDelegate.h View 1 2 3 4 5 1 chunk +0 lines, -3 lines 0 comments Download
M chrome/installer/mac/app/AppDelegate.m View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 6 chunks +139 lines, -23 lines 0 comments Download
M chrome/installer/mac/app/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +26 lines, -6 lines 0 comments Download
M chrome/installer/mac/app/Downloader.h View 1 2 3 4 5 1 chunk +5 lines, -11 lines 0 comments Download
M chrome/installer/mac/app/Downloader.m View 1 2 3 4 5 3 chunks +4 lines, -22 lines 0 comments Download
M chrome/installer/mac/app/InstallerWindowController.m View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +7 lines, -1 line 0 comments Download
M chrome/installer/mac/app/NSAlert+ChromeInstallerAdditions.h View 1 2 3 4 5 1 chunk +3 lines, -1 line 0 comments Download
M chrome/installer/mac/app/NSAlert+ChromeInstallerAdditions.m View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M chrome/installer/mac/app/NSError+ChromeInstallerAdditions.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/installer/mac/app/NSError+ChromeInstallerAdditions.m View 1 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download
M chrome/installer/mac/app/OmahaCommunication.h View 1 2 3 4 5 1 chunk +5 lines, -2 lines 0 comments Download
M chrome/installer/mac/app/OmahaCommunication.m View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +5 lines, -3 lines 0 comments Download
M chrome/installer/mac/app/OmahaXMLParser.h View 1 2 3 4 5 1 chunk +3 lines, -2 lines 0 comments Download
M chrome/installer/mac/app/OmahaXMLParser.m View 1 2 3 4 5 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/installer/mac/app/OmahaXMLRequest.m View 1 2 3 4 5 1 chunk +1 line, -3 lines 0 comments Download
A chrome/installer/mac/app/Unpacker.h View 1 2 3 4 5 6 7 1 chunk +30 lines, -0 lines 0 comments Download
A chrome/installer/mac/app/Unpacker.m View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +167 lines, -0 lines 0 comments Download
M chrome/installer/mac/app/testing/OmahaXMLRequest_test.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +9 lines, -6 lines 0 comments Download
A chrome/installer/mac/app/testing/Unpacker_test.mm View 1 2 3 4 5 6 7 8 9 1 chunk +110 lines, -0 lines 0 comments Download
D chrome/installer/mac/app/testing/requestCheck.dtd View 1 2 3 4 5 6 1 chunk +0 lines, -70 lines 0 comments Download
D chrome/installer/mac/app/testing/requestSample.xml View 1 2 3 4 5 6 1 chunk +0 lines, -12 lines 0 comments Download
D chrome/installer/mac/app/testing/responseExample.xml View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
A + chrome/test/data/mac_installer/requestCheck.dtd View 1 2 3 4 5 6 0 chunks +-1 lines, --1 lines 0 comments Download
A + chrome/test/data/mac_installer/requestSample.xml View 1 2 3 4 5 6 0 chunks +-1 lines, --1 lines 0 comments Download
A + chrome/test/data/mac_installer/responseExample.xml View 1 2 3 4 5 6 0 chunks +-1 lines, --1 lines 0 comments Download
A chrome/test/data/mac_installer/test-dmg.dmg View 1 2 3 4 5 6 Binary file 0 comments Download

Messages

Total messages: 77 (34 generated)
Anna Zeng
The code as it stands now is still a bit raw, but we wanted to ...
4 years, 4 months ago (2016-08-01 21:08:12 UTC) #2
Mark Mentovai
I think that this is the most important aspect of what’s going on here right ...
4 years, 4 months ago (2016-08-02 19:01:33 UTC) #5
Mark Mentovai
Another alternative to the termination handler with redispatch would be to listen for the NSTaskDidTerminateNotification ...
4 years, 4 months ago (2016-08-02 19:03:37 UTC) #6
Anna Zeng
https://codereview.chromium.org/2203583002/diff/20001/chrome/installer/mac/app/Unpacker.m File chrome/installer/mac/app/Unpacker.m (right): https://codereview.chromium.org/2203583002/diff/20001/chrome/installer/mac/app/Unpacker.m#newcode37 chrome/installer/mac/app/Unpacker.m:37: unmountTask.terminationHandler = ^void(NSTask* task) { On 2016/08/02 19:01:32, Mark ...
4 years, 4 months ago (2016-08-02 23:58:22 UTC) #7
Sidney San Martín
https://codereview.chromium.org/2203583002/diff/20001/chrome/installer/mac/app/Unpacker.m File chrome/installer/mac/app/Unpacker.m (right): https://codereview.chromium.org/2203583002/diff/20001/chrome/installer/mac/app/Unpacker.m#newcode15 chrome/installer/mac/app/Unpacker.m:15: stringByResolvingSymlinksInPath] This should be a pretty quick change, any ...
4 years, 4 months ago (2016-08-05 20:35:04 UTC) #8
Sidney San Martín
https://codereview.chromium.org/2203583002/diff/20001/chrome/installer/mac/app/Unpacker.m File chrome/installer/mac/app/Unpacker.m (right): https://codereview.chromium.org/2203583002/diff/20001/chrome/installer/mac/app/Unpacker.m#newcode118 chrome/installer/mac/app/Unpacker.m:118: Unpacker* obj_self = (__bridge Unpacker*)context; You should also use ...
4 years, 4 months ago (2016-08-05 21:13:41 UTC) #9
Anna Zeng
https://codereview.chromium.org/2203583002/diff/20001/chrome/installer/mac/app/Unpacker.m File chrome/installer/mac/app/Unpacker.m (right): https://codereview.chromium.org/2203583002/diff/20001/chrome/installer/mac/app/Unpacker.m#newcode15 chrome/installer/mac/app/Unpacker.m:15: stringByResolvingSymlinksInPath] On 2016/08/05 20:35:04, Sidney San Martín wrote: > ...
4 years, 4 months ago (2016-08-05 21:48:40 UTC) #10
Sidney San Martín
https://codereview.chromium.org/2203583002/diff/60001/chrome/installer/mac/app/MainDelegate.m File chrome/installer/mac/app/MainDelegate.m (right): https://codereview.chromium.org/2203583002/diff/60001/chrome/installer/mac/app/MainDelegate.m#newcode9 chrome/installer/mac/app/MainDelegate.m:9: extern dispatch_semaphore_t mount_semaphore; As discussed: a random extern definitely ...
4 years, 4 months ago (2016-08-08 18:43:18 UTC) #11
Anna Zeng
Ready for more review! Please note there are still TODOs that indicate areas of improvement ...
4 years, 4 months ago (2016-08-12 22:56:18 UTC) #12
Sidney San Martín
LGTM with nits. https://codereview.chromium.org/2203583002/diff/80001/chrome/installer/mac/app/AppDelegate.m File chrome/installer/mac/app/AppDelegate.m (right): https://codereview.chromium.org/2203583002/diff/80001/chrome/installer/mac/app/AppDelegate.m#newcode125 chrome/installer/mac/app/AppDelegate.m:125: if (![[NSWorkspace sharedWorkspace] launchApplication:@"Google Chromo"]) { ...
4 years, 4 months ago (2016-08-13 12:37:17 UTC) #13
Elly Fong-Jones
https://codereview.chromium.org/2203583002/diff/80001/chrome/installer/mac/app/AppDelegate.m File chrome/installer/mac/app/AppDelegate.m (right): https://codereview.chromium.org/2203583002/diff/80001/chrome/installer/mac/app/AppDelegate.m#newcode82 chrome/installer/mac/app/AppDelegate.m:82: Unpacker* unpacker = [[Unpacker alloc] who owns the unpacker? ...
4 years, 4 months ago (2016-08-16 15:26:18 UTC) #14
Anna Zeng
Ready for more feedback! https://codereview.chromium.org/2203583002/diff/80001/chrome/installer/mac/app/AppDelegate.m File chrome/installer/mac/app/AppDelegate.m (right): https://codereview.chromium.org/2203583002/diff/80001/chrome/installer/mac/app/AppDelegate.m#newcode82 chrome/installer/mac/app/AppDelegate.m:82: Unpacker* unpacker = [[Unpacker alloc] ...
4 years, 4 months ago (2016-08-16 23:07:40 UTC) #15
Sidney San Martín
Still just nits. https://codereview.chromium.org/2203583002/diff/80001/chrome/installer/mac/app/AppDelegate.m File chrome/installer/mac/app/AppDelegate.m (right): https://codereview.chromium.org/2203583002/diff/80001/chrome/installer/mac/app/AppDelegate.m#newcode82 chrome/installer/mac/app/AppDelegate.m:82: Unpacker* unpacker = [[Unpacker alloc] On ...
4 years, 4 months ago (2016-08-17 22:09:06 UTC) #16
Sidney San Martín
https://codereview.chromium.org/2203583002/diff/100001/chrome/installer/mac/app/Unpacker.h File chrome/installer/mac/app/Unpacker.h (right): https://codereview.chromium.org/2203583002/diff/100001/chrome/installer/mac/app/Unpacker.h#newcode23 chrome/installer/mac/app/Unpacker.h:23: @property(nonatomic, assign) NSObject<UnpackDelegate>* delegate; On 2016/08/17 22:09:06, Sidney San ...
4 years, 4 months ago (2016-08-18 19:33:00 UTC) #17
Anna Zeng
https://codereview.chromium.org/2203583002/diff/100001/chrome/installer/mac/app/Unpacker.h File chrome/installer/mac/app/Unpacker.h (right): https://codereview.chromium.org/2203583002/diff/100001/chrome/installer/mac/app/Unpacker.h#newcode23 chrome/installer/mac/app/Unpacker.h:23: @property(nonatomic, assign) NSObject<UnpackDelegate>* delegate; On 2016/08/17 at 22:09:06, Sidney ...
4 years, 4 months ago (2016-08-18 19:41:09 UTC) #18
Anna Zeng
Ready for review! Hosts, please leave feedback!
4 years, 4 months ago (2016-08-19 19:21:19 UTC) #19
Sidney San Martín
https://codereview.chromium.org/2203583002/diff/120001/chrome/installer/mac/app/AppDelegate.m File chrome/installer/mac/app/AppDelegate.m (right): https://codereview.chromium.org/2203583002/diff/120001/chrome/installer/mac/app/AppDelegate.m#newcode47 chrome/installer/mac/app/AppDelegate.m:47: // not terminate when we call windowOut: to hide ...
4 years, 4 months ago (2016-08-19 22:06:05 UTC) #20
Anna Zeng
Again, looking for feedback! Thanks Sidney for the insightful comments. https://codereview.chromium.org/2203583002/diff/120001/chrome/installer/mac/app/AppDelegate.m File chrome/installer/mac/app/AppDelegate.m (right): https://codereview.chromium.org/2203583002/diff/120001/chrome/installer/mac/app/AppDelegate.m#newcode47 ...
4 years, 4 months ago (2016-08-23 03:13:43 UTC) #21
Anna Zeng
Added in the verification Mark mentioned should take the place of `hdiutil` checksumming. Looking for ...
4 years, 4 months ago (2016-08-23 17:06:52 UTC) #22
Elly Fong-Jones
lgtm! Looking really good :D https://codereview.chromium.org/2203583002/diff/160001/chrome/installer/mac/app/AppDelegate.m File chrome/installer/mac/app/AppDelegate.m (right): https://codereview.chromium.org/2203583002/diff/160001/chrome/installer/mac/app/AppDelegate.m#newcode52 chrome/installer/mac/app/AppDelegate.m:52: [self exit]; does orderOut ...
4 years, 4 months ago (2016-08-23 21:57:40 UTC) #23
Anna Zeng
Submitting! https://codereview.chromium.org/2203583002/diff/160001/chrome/installer/mac/app/AppDelegate.m File chrome/installer/mac/app/AppDelegate.m (right): https://codereview.chromium.org/2203583002/diff/160001/chrome/installer/mac/app/AppDelegate.m#newcode52 chrome/installer/mac/app/AppDelegate.m:52: [self exit]; On 2016/08/23 21:57:40, Elly Jones wrote: ...
4 years, 4 months ago (2016-08-24 01:30:10 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/180001
4 years, 4 months ago (2016-08-24 01:31:00 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/256530)
4 years, 4 months ago (2016-08-24 02:14:00 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/200001
4 years, 4 months ago (2016-08-24 02:58:18 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/283497)
4 years, 4 months ago (2016-08-24 04:26:49 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/220001
4 years, 4 months ago (2016-08-24 13:00:06 UTC) #37
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/244861)
4 years, 4 months ago (2016-08-24 13:06:35 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/220001
4 years, 4 months ago (2016-08-24 13:41:49 UTC) #41
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/244878)
4 years, 4 months ago (2016-08-24 13:47:59 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/240001
4 years, 4 months ago (2016-08-24 14:29:12 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/283808)
4 years, 4 months ago (2016-08-24 15:30:01 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/260001
4 years, 3 months ago (2016-08-24 18:01:57 UTC) #51
commit-bot: I haz the power
Try jobs failed on following builders: android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/117935) android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, ...
4 years, 3 months ago (2016-08-24 18:07:06 UTC) #53
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/280001
4 years, 3 months ago (2016-08-24 21:17:59 UTC) #56
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/129265)
4 years, 3 months ago (2016-08-24 22:05:26 UTC) #58
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/300001
4 years, 3 months ago (2016-08-26 20:48:03 UTC) #61
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/285788)
4 years, 3 months ago (2016-08-26 22:24:08 UTC) #63
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/360001
4 years, 3 months ago (2016-08-29 21:43:26 UTC) #66
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/380001
4 years, 3 months ago (2016-08-30 01:18:04 UTC) #69
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/271032)
4 years, 3 months ago (2016-08-30 04:37:55 UTC) #71
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2203583002/380001
4 years, 3 months ago (2016-08-30 04:53:26 UTC) #73
commit-bot: I haz the power
Committed patchset #20 (id:380001)
4 years, 3 months ago (2016-08-30 06:19:32 UTC) #75
commit-bot: I haz the power
4 years, 3 months ago (2016-08-30 06:22:08 UTC) #77
Message was sent while issue was closed.
Patchset 20 (id:??) landed as
https://crrev.com/d0136826964ad0e135f71b18661b78e1a3cf1c71
Cr-Commit-Position: refs/heads/master@{#415213}

Powered by Google App Engine
This is Rietveld 408576698