New issue
Advanced search Search tips

Issue 787943 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Task

Blocked on:
issue 789735



Sign in to add a comment

Refactor PassKit implementation

Project Member Reported by eugene...@chromium.org, Nov 22 2017

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe20f163c38329642111dc2f965d20d73b784395

commit fe20f163c38329642111dc2f965d20d73b784395
Author: Eugene But <eugenebut@google.com>
Date: Tue Nov 28 02:01:02 2017

Allow changing DownloadTask's mime type during the download.

Response's MIME type can change during the download and DownloadTask
should support the change. This will allow to report
DOWNLOAD_PASS_KIT_WRONG_MIME_TYPE_FAILURE metric for PassKit downloads.

Bug:  787943 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I137f9aa4ff966c140a9a6cb5b03dc026062bc0b7
Reviewed-on: https://chromium-review.googlesource.com/786265
Reviewed-by: Gregory Chatzinoff <gchatz@chromium.org>
Commit-Queue: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519521}
[modify] https://crrev.com/fe20f163c38329642111dc2f965d20d73b784395/ios/web/download/download_task_impl.mm
[modify] https://crrev.com/fe20f163c38329642111dc2f965d20d73b784395/ios/web/download/download_task_impl_unittest.mm
[modify] https://crrev.com/fe20f163c38329642111dc2f965d20d73b784395/ios/web/test/fakes/crw_fake_nsurl_session_task.h
[modify] https://crrev.com/fe20f163c38329642111dc2f965d20d73b784395/ios/web/test/fakes/crw_fake_nsurl_session_task.mm

Blockedon: 789735
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/76178d77f422468db7d9663b5b252ff0c0a2a40d

commit 76178d77f422468db7d9663b5b252ff0c0a2a40d
Author: Eugene But <eugenebut@google.com>
Date: Tue Dec 05 19:47:01 2017

[PassKit refactoring] 1/4 PassKitTabHelper.

This is first refactoring CL for PassKit implementation based on ios/web
Download API.

Service CL: http://crrev.com/c/801916
UI CL: http://crrev.com/c/794302

Design doc: https://goto.google.com/ios-chrome-passkit

Bug:  787943 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Id5d3f42da40a9ee0da2c8532d646334e6af29917
Reviewed-on: https://chromium-review.googlesource.com/802080
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Gregory Chatzinoff <gchatz@chromium.org>
Commit-Queue: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521792}
[modify] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/BUILD.gn
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/download/BUILD.gn
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/download/pass_kit_tab_helper.h
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/download/pass_kit_tab_helper.mm
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/download/pass_kit_tab_helper_delegate.h
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/download/pass_kit_tab_helper_unittest.mm
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/download/pass_kit_test_util.cc
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/download/pass_kit_test_util.h
[modify] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/ui/download/BUILD.gn
[modify] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/browser/ui/download/pass_kit_egtest.mm
[modify] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/test/BUILD.gn
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/test/fakes/BUILD.gn
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/test/fakes/fake_pass_kit_tab_helper_delegate.h
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/chrome/test/fakes/fake_pass_kit_tab_helper_delegate.mm
[modify] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/web/public/test/fakes/BUILD.gn
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/web/public/test/fakes/fake_download_task.h
[add] https://crrev.com/76178d77f422468db7d9663b5b252ff0c0a2a40d/ios/web/public/test/fakes/fake_download_task.mm

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3258d1061c2de5c4fceba48f64dbc499b57e31b

commit a3258d1061c2de5c4fceba48f64dbc499b57e31b
Author: Eugene But <eugenebut@google.com>
Date: Thu Dec 07 20:25:00 2017

[PassKit refactoring] 2/4 DownloadService.

This is the second refactoring CL for PassKit implementation based on
ios/web API. This CL creates Download Keyed Service and a factory.

Design doc: https://goto.google.com/ios-chrome-passkit

Bug:  787943 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Ifa9618c3018bc9717b7d80e3a17984c7558d9f14
Reviewed-on: https://chromium-review.googlesource.com/801916
Commit-Queue: Eugene But <eugenebut@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Gregory Chatzinoff <gchatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522528}
[modify] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/browser_state/BUILD.gn
[modify] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm
[modify] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/download/BUILD.gn
[add] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/download/browser_download_service.h
[add] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/download/browser_download_service.mm
[add] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/download/browser_download_service_factory.h
[add] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/download/browser_download_service_factory.mm
[add] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/download/browser_download_service_factory_unittest.mm
[add] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/download/browser_download_service_unittest.mm
[modify] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/chrome/browser/download/pass_kit_tab_helper.mm
[modify] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/web/download/download_controller_impl.h
[modify] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/web/download/download_controller_impl.mm
[modify] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/web/download/download_controller_impl_unittest.mm
[modify] https://crrev.com/a3258d1061c2de5c4fceba48f64dbc499b57e31b/ios/web/public/download/download_controller.h

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/49a7c5746f81ade20984432832cd39b1f8fce0af

commit 49a7c5746f81ade20984432832cd39b1f8fce0af
Author: Eugene But <eugenebut@google.com>
Date: Mon Dec 11 20:54:15 2017

[PassKit refactoring] 3/4 PassKitCoordinator.

This is the third refactoring CL for PassKit implementation based on
ios/web Download API. CL creates PassKitCoordinator object which serves
as PassKitTabHelperDelegate and coordinates the presentation of
PKAddPassesViewController and error infobar.

TabHelper CL: crrev.com/c/794021

Design doc: https://goto.google.com/ios-chrome-passkit

Bug:  787943 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Ifad43d79ed161f5540715accdcc1223639c55a08
Reviewed-on: https://chromium-review.googlesource.com/794302
Commit-Queue: Eugene But <eugenebut@chromium.org>
Reviewed-by: Gregory Chatzinoff <gchatz@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523200}
[modify] https://crrev.com/49a7c5746f81ade20984432832cd39b1f8fce0af/ios/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/49a7c5746f81ade20984432832cd39b1f8fce0af/ios/chrome/browser/ui/browser_view_controller.mm
[modify] https://crrev.com/49a7c5746f81ade20984432832cd39b1f8fce0af/ios/chrome/browser/ui/download/BUILD.gn
[add] https://crrev.com/49a7c5746f81ade20984432832cd39b1f8fce0af/ios/chrome/browser/ui/download/pass_kit_coordinator.h
[add] https://crrev.com/49a7c5746f81ade20984432832cd39b1f8fce0af/ios/chrome/browser/ui/download/pass_kit_coordinator.mm
[add] https://crrev.com/49a7c5746f81ade20984432832cd39b1f8fce0af/ios/chrome/browser/ui/download/pass_kit_coordinator_unittest.mm

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f631e0ba5bb355093e3edb6f610c3a3e9aca702d

commit f631e0ba5bb355093e3edb6f610c3a3e9aca702d
Author: Eugene But <eugenebut@google.com>
Date: Tue Dec 12 17:27:09 2017

[PassKit refactoring] Added kNewPassKitDownload to chrome://flags.

Bug:  787943 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I332dac25551ae39094356846121e835faf3dceeb
Reviewed-on: https://chromium-review.googlesource.com/818077
Commit-Queue: Eugene But <eugenebut@chromium.org>
Reviewed-by: Gregory Chatzinoff <gchatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523464}
[modify] https://crrev.com/f631e0ba5bb355093e3edb6f610c3a3e9aca702d/ios/chrome/browser/about_flags.mm

Project Member

Comment 7 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af629fda8252d7dc6c48d8fa20ee3382d294cc3a

commit af629fda8252d7dc6c48d8fa20ee3382d294cc3a
Author: Eugene But <eugenebut@google.com>
Date: Wed Dec 13 17:31:28 2017

[New PassKit] Gracefully handle pkpass download on iPad.

On iPad PKAddPassesViewController alloc/init returns nil. This CL fixes
a crash, which caused by presenting nil view controller.

The functional behavior remains the same as for old pass kit
implementaiton (the error is silentry ignored). This issues is tracked
in a separate bug (crbug.com/794301).

Bug:  787943 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Id3826fa13d5c327795d411b3ec7b9c5d343031c1
Reviewed-on: https://chromium-review.googlesource.com/823239
Reviewed-by: Gregory Chatzinoff <gchatz@chromium.org>
Commit-Queue: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523804}
[modify] https://crrev.com/af629fda8252d7dc6c48d8fa20ee3382d294cc3a/ios/chrome/browser/ui/download/pass_kit_coordinator.mm
[modify] https://crrev.com/af629fda8252d7dc6c48d8fa20ee3382d294cc3a/ios/chrome/browser/ui/download/pass_kit_coordinator_unittest.mm

Project Member

Comment 8 by bugdroid1@chromium.org, Dec 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9a9c9a9a881362814a6536c5638a4bcc72989a9c

commit 9a9c9a9a881362814a6536c5638a4bcc72989a9c
Author: Eugene But <eugenebut@google.com>
Date: Fri Dec 15 19:48:41 2017

Enabled NewPassKitDownload feature by default.

Disabled this feature for unit test which tests old code.

Bug:  787943 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I2aba8bcca42197bc18b390181099ba664f171646
Reviewed-on: https://chromium-review.googlesource.com/828284
Reviewed-by: Gregory Chatzinoff <gchatz@chromium.org>
Commit-Queue: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524440}
[modify] https://crrev.com/9a9c9a9a881362814a6536c5638a4bcc72989a9c/ios/web/features.mm
[modify] https://crrev.com/9a9c9a9a881362814a6536c5638a4bcc72989a9c/ios/web/web_state/crw_pass_kit_downloader_unittest.mm

Status: Fixed (was: Started)

Sign in to add a comment