Bug 201544

Summary: REGRESSION(r249142): [GTK] Epiphany delayed page loads continue indefinitely
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, cdumez, cgarcia, lantw44, mcatanzaro
Priority: P2    
Version: WebKit Nightly Build   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch mcatanzaro: review+

Description Michael Catanzaro 2019-09-06 08:30:08 PDT
When starting Epiphany, it loads a blank page in all web views except the one that's initially-visited using webkit_web_view_load_alternate_html().

In 2.25.4 and earlier, the load completes.

In 2.25.92, the load seems to continue forever. It's easy to see in Epiphany because all tabs you haven't visited yet have a spinner that spins forever until you visit the tab.

I haven't investigated yet, but it's probably not receiving a load finished event.
Comment 1 Michael Catanzaro 2019-09-11 15:37:18 PDT
ca18a70558b52ae21287b5e0003c36085baa59e7 is the first bad commit
commit ca18a70558b52ae21287b5e0003c36085baa59e7
Author: commit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Aug 27 16:08:48 2019 +0000

    Do not clear the pending api request when there's no navigation ID
    https://bugs.webkit.org/show_bug.cgi?id=201175
    
    Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-08-27
    Reviewed by Chris Dumez.
    
    After r247851, the pending API request URL is cleared for subresources in some cases.
    
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared):
    (WebKit::WebPageProxy::decidePolicyForNavigationAction):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@249142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Comment 2 Carlos Garcia Campos 2019-09-13 06:17:36 PDT
Created attachment 378727 [details]
Patch
Comment 3 Michael Catanzaro 2019-09-13 08:11:57 PDT
Comment on attachment 378727 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=378727&action=review

Nice test. Tests are r=me. The actual code change needs an owner, of course.

> Tools/TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:439
> +    test->checkURIAtState(ViewURITrackingTest::State::Commited, "/normal");

Preexisting type: this should be Committed
Comment 4 Chris Dumez 2019-09-13 08:21:22 PDT
Comment on attachment 378727 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=378727&action=review

> Source/WebKit/UIProcess/WebPageProxy.cpp:4050
> +    bool fromAlternateHTMLAPI = !unreachableURL.isEmpty() && unreachableURL == m_pageLoadState.pendingAPIRequestURL();

WK2 Owner LGTM.
Comment 5 Carlos Garcia Campos 2019-09-16 00:49:17 PDT
Committed r249890: <https://trac.webkit.org/changeset/249890>