[webkit-changes] [WebKit/WebKit] 62c986: Fire onChanged events for Web Extension Storage API.
kiaraarose
noreply at github.com
Thu Feb 1 14:30:20 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 62c9865813d8e9d50461961249155ac3de478da3
https://github.com/WebKit/WebKit/commit/62c9865813d8e9d50461961249155ac3de478da3
Author: Kiara Rose <kiara_rose at apple.com>
Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths:
M Source/WebKit/Platform/cocoa/CocoaHelpers.h
M Source/WebKit/Platform/cocoa/CocoaHelpers.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIStorageCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIStorageCocoa.mm
M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIStorage.h
M Source/WebKit/WebProcess/Extensions/Cocoa/WebExtensionContextProxyCocoa.mm
M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h
M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in
M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIStorage.mm
Log Message:
-----------
Fire onChanged events for Web Extension Storage API.
https://bugs.webkit.org/show_bug.cgi?id=267965
rdar://121474442
Reviewed by Timothy Hatcher.
This patch fires storage.onChanged and storageArea.onChanged events when new data is added or
old data is removed from storage. The onChanged data sent to the listener only contains data
for key value pairs where the value for that key has changed. If no data has changed, don't
fire the event.
* Source/WebKit/Platform/cocoa/CocoaHelpers.h:
* Source/WebKit/Platform/cocoa/CocoaHelpers.mm:
(WebKit::dictionaryWithKeys):
Helper method that returns a new dictionary based on the one provided, containing the specified keys.
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIStorageCocoa.mm:
(WebKit::WebExtensionContext::storageSet):
(WebKit::WebExtensionContext::storageRemove):
(WebKit::WebExtensionContext::storageClear):
(WebKit::WebExtensionContext::fireStorageChangedEventIfNeeded):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIStorageCocoa.mm:
(WebKit::WebExtensionAPIStorage::storageAreaForType):
(WebKit::WebExtensionContextProxy::dispatchStorageChangedEvent):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIStorage.h:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIStorage.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/273942@main
More information about the webkit-changes
mailing list