New issue
Advanced search Search tips

Issue 895689 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 3
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

FATAL:crw_web_controller_container_view.mm(167)] Check failed: nativeController.

Project Member Reported by justincohen@chromium.org, Oct 16

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?
 
Cc: -eugene...@chromium.org
Owner: eugene...@chromium.org
Status: Started (was: Untriaged)
I started working on the fix some time ago: crrev.com/c/1255611
Project Member

Comment 2 by bugdroid1@chromium.org, 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

Components: -Mobile>WebView>Glue -UI>Browser UI>Browser>Navigation
Status: Assigned (was: Started)
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.
Cc: eugene...@chromium.org
Owner: danyao@chromium.org
Status: Fixed (was: Assigned)
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