Title: [224611] trunk/Source/WebCore
- Revision
- 224611
- Author
- beid...@apple.com
- Date
- 2017-11-08 17:13:27 -0800 (Wed, 08 Nov 2017)
Log Message
ServiceWorkerRegistration::updateStateFromServer fix! (Don't always create a new ServiceWorker every time).
https://bugs.webkit.org/show_bug.cgi?id=179456
Reviewed by Chris Dumez.
No new tests (No behavior change yet).
* workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::updateStateFromServer): Re-use a previous worker instead of always creating a new one.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (224610 => 224611)
--- trunk/Source/WebCore/ChangeLog 2017-11-09 00:53:58 UTC (rev 224610)
+++ trunk/Source/WebCore/ChangeLog 2017-11-09 01:13:27 UTC (rev 224611)
@@ -1,3 +1,15 @@
+2017-11-08 Brady Eidson <beid...@apple.com>
+
+ ServiceWorkerRegistration::updateStateFromServer fix! (Don't always create a new ServiceWorker every time).
+ https://bugs.webkit.org/show_bug.cgi?id=179456
+
+ Reviewed by Chris Dumez.
+
+ No new tests (No behavior change yet).
+
+ * workers/service/ServiceWorkerRegistration.cpp:
+ (WebCore::ServiceWorkerRegistration::updateStateFromServer): Re-use a previous worker instead of always creating a new one.
+
2017-11-08 Brent Fulgham <bfulg...@apple.com>
XMLHttpRequest should not treat file URLs as same origin
Modified: trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp (224610 => 224611)
--- trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp 2017-11-09 00:53:58 UTC (rev 224610)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp 2017-11-09 01:13:27 UTC (rev 224611)
@@ -170,8 +170,13 @@
return;
RefPtr<ServiceWorker> worker;
- if (serviceWorkerIdentifier)
- worker = ServiceWorker::create(*context, *serviceWorkerIdentifier, m_registrationData.scriptURL);
+ if (serviceWorkerIdentifier) {
+ auto* newestWorker = getNewestWorker();
+ if (newestWorker && newestWorker->identifier() == *serviceWorkerIdentifier)
+ worker = newestWorker;
+ else
+ worker = ServiceWorker::create(*context, *serviceWorkerIdentifier, m_registrationData.scriptURL);
+ }
switch (state) {
case ServiceWorkerRegistrationState::Installing:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes