|
|
Chromium Code Reviews
DescriptionTreat external protocols as ABORTED with PlzNavigate
Navigations having external protocol with fallback URL should be treated
as ABORTED when done.
This fixes:
externalnav.UrlOverridingTest#testNavigationWithFallbackURL
BUG=699388
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Patch Set 1 #
Total comments: 2
Depends on Patchset: Messages
Total messages: 14 (7 generated)
Description was changed from ========== Treat external protocols as ABORTED with PlzNavigate This fixes: externalnav.UrlOverridingTest#testNavigationWithFallbackURL BUG=699388 ========== to ========== Treat external protocols as ABORTED with PlzNavigate This fixes: externalnav.UrlOverridingTest#testNavigationWithFallbackURL BUG=699388 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
wychen@chromium.org changed reviewers: + clamy@chromium.org, jam@chromium.org
PTAL
Description was changed from ========== Treat external protocols as ABORTED with PlzNavigate This fixes: externalnav.UrlOverridingTest#testNavigationWithFallbackURL BUG=699388 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Treat external protocols as ABORTED with PlzNavigate Navigations having external protocol with fallback URL should be treated as ABORTED when done. This fixes: externalnav.UrlOverridingTest#testNavigationWithFallbackURL BUG=699388 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
The CQ bit was checked by wychen@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... File content/browser/frame_host/navigation_handle_impl.cc (right): https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... content/browser/frame_host/navigation_handle_impl.cc:167: if (!GetContentClient()->browser()->IsHandledURL(url_)) { if this was handled by the navigation interceptor in components/, then it should have got this error code then. Why does it have to be set again? Ted has a theory that maybe it's being reset when the fallback url is requested? Can you try loading the fallback url in java on a post task to see if it fixes this?
https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... File content/browser/frame_host/navigation_handle_impl.cc (right): https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... content/browser/frame_host/navigation_handle_impl.cc:167: if (!GetContentClient()->browser()->IsHandledURL(url_)) { On 2017/03/24 14:49:49, jam wrote: > if this was handled by the navigation interceptor in components/, then it should > have got this error code then. Why does it have to be set again? Ted has a > theory that maybe it's being reset when the fallback url is requested? Can you > try loading the fallback url in java on a post task to see if it fixes this? This is obviously the wrong place to inject the error. I'll look into it. BTW, what do you mean by a post task?
On 2017/03/24 15:33:55, wychen wrote: > https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... > File content/browser/frame_host/navigation_handle_impl.cc (right): > > https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... > content/browser/frame_host/navigation_handle_impl.cc:167: if > (!GetContentClient()->browser()->IsHandledURL(url_)) { > On 2017/03/24 14:49:49, jam wrote: > > if this was handled by the navigation interceptor in components/, then it > should > > have got this error code then. Why does it have to be set again? Ted has a > > theory that maybe it's being reset when the fallback url is requested? Can you > > try loading the fallback url in java on a post task to see if it fixes this? > > This is obviously the wrong place to inject the error. I'll look into it. > BTW, what do you mean by a post task? I meant instead of loading the fallback url when the intent call to Androi fails, do it asynchronously
On 2017/03/24 16:19:48, jam wrote: > On 2017/03/24 15:33:55, wychen wrote: > > > https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... > > File content/browser/frame_host/navigation_handle_impl.cc (right): > > > > > https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... > > content/browser/frame_host/navigation_handle_impl.cc:167: if > > (!GetContentClient()->browser()->IsHandledURL(url_)) { > > On 2017/03/24 14:49:49, jam wrote: > > > if this was handled by the navigation interceptor in components/, then it > > should > > > have got this error code then. Why does it have to be set again? Ted has a > > > theory that maybe it's being reset when the fallback url is requested? Can > you > > > try loading the fallback url in java on a post task to see if it fixes this? > > > > This is obviously the wrong place to inject the error. I'll look into it. > > BTW, what do you mean by a post task? > > I meant instead of loading the fallback url when the intent call to Androi > fails, do it asynchronously There is a new NavigationRequest::BeginNavigation for the fallback URL, after the WebContentsImpl::DidFinishNavigation for the intent://, which wrongly returns error code 0. Does this count as a post task already?
On 2017/03/24 20:00:53, wychen wrote: > On 2017/03/24 16:19:48, jam wrote: > > On 2017/03/24 15:33:55, wychen wrote: > > > > > > https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... > > > File content/browser/frame_host/navigation_handle_impl.cc (right): > > > > > > > > > https://codereview.chromium.org/2769373002/diff/1/content/browser/frame_host/... > > > content/browser/frame_host/navigation_handle_impl.cc:167: if > > > (!GetContentClient()->browser()->IsHandledURL(url_)) { > > > On 2017/03/24 14:49:49, jam wrote: > > > > if this was handled by the navigation interceptor in components/, then it > > > should > > > > have got this error code then. Why does it have to be set again? Ted has a > > > > theory that maybe it's being reset when the fallback url is requested? Can > > you > > > > try loading the fallback url in java on a post task to see if it fixes > this? > > > > > > This is obviously the wrong place to inject the error. I'll look into it. > > > BTW, what do you mean by a post task? > > > > I meant instead of loading the fallback url when the intent call to Androi > > fails, do it asynchronously > > There is a new NavigationRequest::BeginNavigation for the fallback URL, after > the WebContentsImpl::DidFinishNavigation for the intent://, which wrongly > returns error code 0. Does this count as a post task already? I understand what you were saying now. Async loading did help.
https://codereview.chromium.org/2768873006/ fixed the issue. Close. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
