New issue
Advanced search Search tips

Issue 705987 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Apr 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 705964



Sign in to add a comment

WebState should report to observers final status of navigation.

Project Member Reported by olivierrobin@chromium.org, Mar 28 2017

Issue description

Some scenario of page loading result in no report of the final result of the pageload.
One example of these is navigating to a link that redirects to an external app.

In this case, only WebStateObserver::DidStopLoading is called without a flag indicating that the loading was a success.

 
Blocking: 705964
Olivier, could you please clarify what do you mean by "no report of the final result of the pageload"? Do you expect WebStateObserver::PageLoaded(PageLoadCompletionStatus::FAILURE) to be called if load was cancelled? That sounds like a reasonable behavior to me.
For me, the page was correctly loaded, so it should report some kind of success, or the fact that the page was loaded by an external app.
The web controller has a specific behavior for that case, but it is not accessible via the public API.
It may or may not be via the PageLoaded API, may be add another method?
Cc: pkl@chromium.org
I see, so WebStateObserver::PageLoaded(PageLoadCompletionStatus::FAILURE) will not work for you.

CRWWebDelegate have 4 deprecated methods for launching external apps and all of them will be removed.
 
Launching external apps code will be fully moved to chrome layer (hopefully in Q2), so chrome will know that the app was launched. In the long term there will be no special purpose API to inform chrome about app launch. In the short term there is no public API for that, but it is fine to add code to existing CRWWebDelegate callbacks in Tab. Olivier, does it work for you?

CCing Peter, who may be working on refactoring external app launching code in Q2.
OK, I will test that.
Thanks

Status: WontFix (was: Assigned)
Looks like Olivier found a workaround by changing existing CRWWebDelegate method. App launching will be moved to //chrome, so marking this as WontFix.

Sign in to add a comment