[webkit-changes] [WebKit/WebKit] 9eb750: Add console logging message to missing or late sho...

youennf noreply at github.com
Tue Apr 4 11:37:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9eb7504c1b928c5e5da74a591fc42dc5aef58f46
      https://github.com/WebKit/WebKit/commit/9eb7504c1b928c5e5da74a591fc42dc5aef58f46
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-04-04 (Tue, 04 Apr 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/http/wpt/service-workers/push-console-messages-no-showNotification.https-expected.txt
    A LayoutTests/http/wpt/service-workers/push-console-messages-no-showNotification.https.html
    A LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-async.https-expected.txt
    A LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-async.https.html
    A LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-late.https-expected.txt
    A LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-late.https.html
    A LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-sync.https-expected.txt
    A LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-sync.https.html
    A LayoutTests/http/wpt/service-workers/push-console-messages-worker.js
    A LayoutTests/http/wpt/service-workers/push-console-messages.js
    M LayoutTests/platform/ios-wk2/TestExpectations
    M LayoutTests/platform/mac-wk2/TestExpectations
    M Source/WebCore/testing/ServiceWorkerInternals.cpp
    M Source/WebCore/testing/ServiceWorkerInternals.h
    M Source/WebCore/testing/ServiceWorkerInternals.idl
    M Source/WebCore/workers/WorkerGlobalScope.h
    M Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp
    M Source/WebCore/workers/service/ServiceWorkerGlobalScope.h
    M Source/WebCore/workers/service/ServiceWorkerRegistration.cpp
    M Source/WebCore/workers/service/context/SWContextManager.h
    M Source/WebCore/workers/service/context/ServiceWorkerThread.cpp
    M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp
    M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h
    M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in
    M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreClient.h
    M Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp
    M Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h
    M Tools/WebKitTestRunner/TestController.cpp
    M Tools/WebKitTestRunner/TestController.h
    M Tools/WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm

  Log Message:
  -----------
  Add console logging message to missing or late showNotification calls in service worker
https://bugs.webkit.org/show_bug.cgi?id=254811
rdar://problem/107471641

Reviewed by Ben Nham.

Add console log messages in case no showNotification is called during the lifetime of the push event.
Add console log messages in case a showNotification is called slightly too late after the end of the push event.

Add test API to be able to recover these console messages for WTR and related internals API.
Covered by added test.

* LayoutTests/http/wpt/service-workers/push-console-messages-no-showNotification.https-expected.txt: Added.
* LayoutTests/http/wpt/service-workers/push-console-messages-no-showNotification.https.html: Added.
* LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-async.https-expected.txt: Added.
* LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-async.https.html: Added.
* LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-late.https-expected.txt: Added.
* LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-late.https.html: Added.
* LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-sync.https-expected.txt: Added.
* LayoutTests/http/wpt/service-workers/push-console-messages-showNotification-sync.https.html: Added.
* LayoutTests/http/wpt/service-workers/push-console-messages-worker.js: Added.
(async doPush):
(async doTest):
* LayoutTests/http/wpt/service-workers/push-console-messages.js: Added.
(promise_test.async test):
(async doTest):
* LayoutTests/platform/glib/http/wpt/service-workers/push-console-messages-no-showNotification.https-expected.txt: Added.
* LayoutTests/platform/glib/http/wpt/service-workers/push-console-messages-showNotification-async.https-expected.txt: Added.
* LayoutTests/platform/glib/http/wpt/service-workers/push-console-messages-showNotification-late.https-expected.txt: Added.
* LayoutTests/platform/glib/http/wpt/service-workers/push-console-messages-showNotification-sync.https-expected.txt: Added.
* Source/WebCore/testing/ServiceWorkerInternals.cpp:
(WebCore::ServiceWorkerInternals::enableConsoleMessageReporting):
(WebCore::logReportedConsoleMessage):
* Source/WebCore/testing/ServiceWorkerInternals.h:
* Source/WebCore/testing/ServiceWorkerInternals.idl:
* Source/WebCore/workers/WorkerGlobalScope.h:
* Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::dispatchPushEvent):
(WebCore::ServiceWorkerGlobalScope::didFirePushEventRecently const):
(WebCore::ServiceWorkerGlobalScope::addConsoleMessage):
* Source/WebCore/workers/service/ServiceWorkerGlobalScope.h:
* Source/WebCore/workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::showNotification):
* Source/WebCore/workers/service/context/SWContextManager.h:
* Source/WebCore/workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::queueTaskToFirePushEvent):
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::reportConsoleMessage):
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::reportConsoleMessage):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::reportServiceWorkerConsoleMessage):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreClient.h:
(WebKit::WebsiteDataStoreClient::reportServiceWorkerConsoleMessage):
* Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::reportConsoleMessage):
* Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[ServiceWorkerOpenWindowWebsiteDataStoreDelegate websiteDataStore:openWindow:fromServiceWorkerOrigin:completionHandler:]):
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::receivedServiceWorkerConsoleMessage):
* Tools/WebKitTestRunner/TestController.h:
* Tools/WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:
(-[TestWebsiteDataStoreDelegate websiteDataStore:reportServiceWorkerConsoleMessage:]):

Canonical link: https://commits.webkit.org/262584@main




More information about the webkit-changes mailing list