Design doc: https://docs.google.com/document/d/1ww4AGMXxgGc25l1VIZkTPblJWrRe4kStGzDHmHtFCpo/edit
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
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
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
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
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
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
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
Comment 1 by bugdroid1@chromium.org
, Nov 28 2017