New issue
Advanced search Search tips

Issue 789175 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: ----

Blocking:
issue 775645



Sign in to add a comment

CRWWebControllerTest.SslCertError fails on device

Project Member Reported by danyao@chromium.org, Nov 28 2017

Issue description

The failure started after https://chromium-review.googlesource.com/c/chromium/src/+/788173

All device bots are failing, not just iPhone on iOS 11. Reverting the change fixed the failure: https://chromium-review.googlesource.com/c/chromium/src/+/792990

Example failure log:
https://uberchromegw.corp.google.com/i/internal.bling.main/builders/iphone11-device-x64/builds/1337/steps/ios_web_unittests%20%28iPhone%207%20iOS%2011.0%29%20on%20iOS-11.0

This is the list of changes in the range between last green run and first red run:

git log 4beeb4768ddceef2ce40a36f7cbb14af4e44c968...a62756b1953dba8eacde7b4e74b2b59447b1f49a --oneline
a62756b1953d (origin/master, origin/HEAD) Revert "media: Remove DIR_COMPONENT_WIDEVINE_CDM"
d93daf951d92 Roll ICU to 741688eb
60c473a4251d Roll src/third_party/pdfium/ 3636a854a..f473672fd (1 commit)
146c2c3af97c Do not delay navigation for prerenders
1e6b0d6ef5e6 [Sync] Fix flaky TwoClientUssSyncTest.ConflictResolution test
5a995c5c20a2 Remove rAF aligned mouse setting.
54d8c4e9d04c [Nav Experiment] Abort native URL navigation if new navigation starts
d401ba26e1fa Separate tab close button into own file.
8f6f81d2cadd Suppress Strict Mode Violation for Autofil
bac382ff7557 Adding an entry for the obbs trybot
ff27a53b063e Remove InputEvent runtime enabled feature setting
762d5038f376 arc: Add template classes to dispatch to the correct version of Init().
185df8c3b4c8 Disable a flaky test, DownloadHistoryCheck on windows platform.
68a63508c9a9 Roll src/third_party/angle/ 994ee3f23..ebee5b3b7 (2 commits)
449b181eb8c5 Reland [IOS Password Manager] password-manager-internals implementation.
7d16b7696324 [signin] Copy the refresh token to a different profile when needed.
 
Project Member

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

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

commit a0c53c28fe7bebfe8c19d69c30fd30628b77c337
Author: Danyao Wang <danyao@google.com>
Date: Wed Nov 29 23:25:49 2017

Reland "[Nav Experiment] Abort native URL navigation"

The original CL caused a crash in CRWWebControllerTest.SslCertError in
release build. The temporary NSURL created in SetWebViewURL() went out
of scope when accessed. The fix is to store NSURL as a class member.

This is a reland of 54d8c4e9d04cd19765991ea87bfc56f998f5908d

Original change's description:
> [Nav Experiment] Abort native URL navigation if new navigation starts
>
> With LegacyNavigationManagerImpl, native URLs are loaded synchronously
> during the call to CRWWebController.loadCurrentURL, so it's impossible
> for another navigation to start before the native URL navigation finishes.
>
> With WKBasedNavigationManager, the call to loadCurrentURL triggers an
> placeholder navigation on the WKWebView, and the actual work to load the
> native URL happens when that placeholder navigation is finished. Since
> the placeholder navigation happens asynchronously, a new navigation
> (creating a new pending navigation item) can start before the placeholder
> navigation finishes. In this situation, when the placeholder navigation
> finishes, running its completion handler to load the native URL results
> in incorrect behavior and a DCHECK, since the current navigation item
> (the new one) no longer corresponds to that native URL navigation.
>
> This CL skips running the completion handler for a placeholder navigation
> when another navigation has started. This means that a WebStateObserver
> sees neither a DidStartNavigation call nor a DidFinishNavigation call
> for the native URL navigation.
>
> This fixes crashes in several tests when loading a URL after opening a
> new tab, when using WKBasedNavigationManager.
>
> Bug:  775645 
> Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
> Change-Id: I88ce3f524ca4298ad5905430c12dca759a9b7202
> Reviewed-on: https://chromium-review.googlesource.com/788173
> Commit-Queue: Ali Juma <ajuma@chromium.org>
> Reviewed-by: Eugene But <eugenebut@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#519382}

Bug:  775645 ,  789175 
Change-Id: If168be04f8fa85a0b4919f881edbe67794883d7f
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Reviewed-on: https://chromium-review.googlesource.com/794150
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Danyao Wang <danyao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520302}
[modify] https://crrev.com/a0c53c28fe7bebfe8c19d69c30fd30628b77c337/ios/web/public/test/fakes/test_native_content_provider.mm
[modify] https://crrev.com/a0c53c28fe7bebfe8c19d69c30fd30628b77c337/ios/web/web_state/ui/crw_web_controller.mm
[modify] https://crrev.com/a0c53c28fe7bebfe8c19d69c30fd30628b77c337/ios/web/web_state/ui/crw_web_controller_unittest.mm

Comment 2 by danyao@chromium.org, Nov 30 2017

Status: Fixed (was: Assigned)
Reland CL passed on iphone11-device-x64 bot.
https://uberchromegw.corp.google.com/i/internal.bling.main/builders/iphone11-device-x64/builds/1384

Sign in to add a comment