Changeset 286774 in webkit


Ignore:
Timestamp:
Dec 9, 2021, 3:42:39 AM (4 years ago)
Author:
youenn@apple.com
Message:

Copy ServiceWorkerNavigationPreloader error when failing its ServiceWorkerFetchTask
https://bugs.webkit.org/show_bug.cgi?id=234002

Reviewed by Chris Dumez.

Covered by existing tests.

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

When failing a ServiceWorkerNavigationPreloader, we might delete it, so it is not safe to manage a reference to its error.
Instead copy the error.

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r286772 r286774  
     12021-12-09  Youenn Fablet  <youenn@apple.com>
     2
     3        Copy ServiceWorkerNavigationPreloader error when failing its ServiceWorkerFetchTask
     4        https://bugs.webkit.org/show_bug.cgi?id=234002
     5
     6        Reviewed by Chris Dumez.
     7
     8        Covered by existing tests.
     9
     10        * NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
     11        When failing a ServiceWorkerNavigationPreloader, we might delete it, so it is not safe to manage a reference to its error.
     12        Instead copy the error.
     13
    1142021-12-09  Myles C. Maxfield  <mmaxfield@apple.com> and Don Olmstead  <don.olmstead@sony.com>
    215
  • trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp

    r286419 r286774  
    365365
    366366        if (!m_preloader->error().isNull()) {
    367             didFail(m_preloader->error());
     367            // Let's copy the error as calling didFail might destroy m_preloader.
     368            didFail(ResourceError { m_preloader->error() });
    368369            return;
    369370        }
     
    389390            return;
    390391        if (!m_preloader->error().isNull()) {
    391             didFail(m_preloader->error());
     392            // Let's copy the error as calling didFail might destroy m_preloader.
     393            didFail(ResourceError { m_preloader->error() });
    392394            return;
    393395        }
Note: See TracChangeset for help on using the changeset viewer.