FATAL:crw_web_controller_container_view.mm(167)] Check failed: nativeController. |
|||
Issue description
Steps
1) Enable 'browser containers contains ntp' feature.
2) open new ntp
3) tap fakebox and navigate to 'chrome:foo', e.g. PageNotFound native page.
4) tap back.
Presumably this is related to:
- (BOOL)shouldLoadURLInNativeView:(const GURL&)url {
// App-specific URLs that don't require WebUI are loaded in native views.
return web::GetWebClient()->IsAppSpecificURL(url) &&
!_webStateImpl->HasWebUI();
}
Which assumes chrome://newtab should be native content.
Should we special case this method to return NO for newtab? Or do something else for ignored pages?
,
Oct 23
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95 commit d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95 Author: Eugene But <eugenebut@google.com> Date: Tue Oct 23 15:06:44 2018 Fail the navigation to chrome: URLs which are not WebUI or NativeContent Previously all chrome: URLs were either NativeContent or WebUI (if there was no NativeContent for url in question). This CL allows chrome: URLs, which are neither NativeContent nor WebUI. The change should allow supporting NTP pages without using Native Content. In addition to that Chrome for iOS will have consistent behavior with other platforms, which allow chrome: URLs that are not WebUI. Notable changes: 1.) shouldAllowLoadWithNavigationAction was cleaned up from side effects. The method was renamed to shouldAllowAppSpecificURLNavigationAction and side effects were moved to calling method. 2.) shouldLoadURLInNativeView returns NO, if there is no NativeContent for the given URL. Bug: 892791 , 895689 Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs Change-Id: Ia2ef25ee4d10168c6435b798478908e37c657032 Reviewed-on: https://chromium-review.googlesource.com/c/1255611 Commit-Queue: Eugene But <eugenebut@chromium.org> Reviewed-by: Kurt Horimoto <kkhorimoto@chromium.org> Cr-Commit-Position: refs/heads/master@{#601951} [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/chrome/browser/ui/bookmarks/bookmarks_egtest.mm [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/chrome/browser/ui/webui/web_ui_egtest.mm [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/web/navigation/error_retry_state_machine.mm [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/web/public/test/fakes/test_web_client.mm [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/web/test/test_url_constants.cc [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/web/test/test_url_constants.h [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/web/web_state/ui/crw_web_controller.mm [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/web/web_state/ui/crw_web_controller_unittest.mm [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/web/web_state/web_state_observer_inttest.mm [modify] https://crrev.com/d19ddb64b69ecf94a8b7cd6e0b43c5ebbbfdac95/ios/web/webui/web_ui_mojo_inttest.mm
,
Oct 24
Old DCHECK does not fire anymore. But we have a new DCHECK: Check failed: equalOrigins. Origin mismatch. URL: chrome://foo/ Last committed: chrome://newtab/ In this case _documentURL is not correct.
,
Jan 3
I think Danyao fixed this bug in https://chromium-review.googlesource.com/c/1362000 I don't hit any DCHECKs anymore |
|||
►
Sign in to add a comment |
|||
Comment 1 by eugene...@chromium.org
, Oct 16Owner: eugene...@chromium.org
Status: Started (was: Untriaged)