⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 245200 in webkit


Ignore:
Timestamp:
May 10, 2019, 4:33:38 PM (7 years ago)
Author:
youenn@apple.com
Message:

A service worker instance should be terminated when its SWServer is destroyed
https://bugs.webkit.org/show_bug.cgi?id=197801
<rdar://problem/50587270>

Reviewed by Chris Dumez.

Source/WebCore:

On session destruction, the SWServer is destroyed.
At that time, it should terminate all its running service workers.
Covered by updated API test.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::~SWServer):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r245199 r245200  
     12019-05-10  Youenn Fablet  <youenn@apple.com>
     2
     3        A service worker instance should be terminated when its SWServer is destroyed
     4        https://bugs.webkit.org/show_bug.cgi?id=197801
     5        <rdar://problem/50587270>
     6
     7        Reviewed by Chris Dumez.
     8
     9        On session destruction, the SWServer is destroyed.
     10        At that time, it should terminate all its running service workers.
     11        Covered by updated API test.
     12
     13        * workers/service/server/SWServer.cpp:
     14        (WebCore::SWServer::~SWServer):
     15
    1162019-05-10  Eric Carlson  <eric.carlson@apple.com>
    217
  • trunk/Source/WebCore/workers/service/server/SWServer.cpp

    r244097 r245200  
    7070    connections.clear();
    7171
     72    Vector<SWServerWorker*> runningWorkers;
     73    for (auto& worker : m_runningOrTerminatingWorkers.values()) {
     74        if (worker->isRunning())
     75            runningWorkers.append(worker.ptr());
     76    }
     77    for (auto& runningWorker : runningWorkers)
     78        terminateWorker(*runningWorker);
     79
    7280    allServers().remove(this);
    7381}
  • trunk/Tools/ChangeLog

    r245185 r245200  
     12019-05-10  Youenn Fablet  <youenn@apple.com>
     2
     3        A service worker instance should be terminated when its SWServer is destroyed
     4        https://bugs.webkit.org/show_bug.cgi?id=197801
     5        <rdar://problem/50587270>
     6
     7        Reviewed by Chris Dumez.
     8
     9        * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
     10
    1112019-05-10  Chris Dumez  <cdumez@apple.com>
    212
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm

    r245034 r245200  
    3333#import <WebKit/WKURLSchemeTaskPrivate.h>
    3434#import <WebKit/WKWebViewConfigurationPrivate.h>
     35#import <WebKit/WKWebViewPrivate.h>
    3536#import <WebKit/WKWebsiteDataStorePrivate.h>
    3637#import <WebKit/WKWebsiteDataStoreRef.h>
     
    15031504    done = false;
    15041505
     1506    [webView _close];
    15051507    webView = nullptr;
    15061508
Note: See TracChangeset for help on using the changeset viewer.