Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ff1c5f882081ba26030d9e273fc0dabec87aceff
      
https://github.com/WebKit/WebKit/commit/ff1c5f882081ba26030d9e273fc0dabec87aceff
  Author: Kiara Rose <[email protected]>
  Date:   2024-04-03 (Wed, 03 Apr 2024)

  Changed paths:
    M Source/WebKit/Shared/Extensions/_WKWebExtensionSQLiteStore.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecord.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecord.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecordInternal.h
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm
    A Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionDataRecordCocoa.mm
    M 
Source/WebKit/UIProcess/Extensions/Cocoa/_WKWebExtensionStorageSQLiteStore.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionController.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionDataRecord.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Update methods used to fetch web extension data records to set an error if an 
issue occurred.
https://bugs.webkit.org/show_bug.cgi?id=271998
rdar://124625910

Reviewed by Timothy Hatcher.

We should notify apps if there was an issue in deleting or calculating 
extension storage.
If an error occurs, apps can decide to show an alert to their users. We add a 
test for this
unfortunately because I tested manually by forcing an error (e.g. result = 
makeUnexpected("error"))
and I verified _WKWebExtensionDataRecord.errors was populated in Safari.

* Source/WebKit/Shared/Extensions/_WKWebExtensionSQLiteStore.mm:
(-[_WKWebExtensionSQLiteStore _deleteDatabase]):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecord.h:
(NS_ERROR_ENUM):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecord.mm:
(WebKit::createDataRecordError):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecordInternal.h:
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm:
(WebKit::WebExtensionController::getDataRecords):
(WebKit::WebExtensionController::getDataRecord):
(WebKit::WebExtensionController::removeData):
(WebKit::WebExtensionController::calculateStorageSize):
(WebKit::WebExtensionController::removeStorage):

* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionDataRecordCocoa.mm:
Copied from 
Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionDataRecordInternal.h.
(WebKit::WebExtensionDataRecord::setError):
Sets an error on the corresponding _WKWebExtensionDataRecord.

* Source/WebKit/UIProcess/Extensions/Cocoa/_WKWebExtensionStorageSQLiteStore.mm:
(-[_WKWebExtensionStorageSQLiteStore getValuesForKeys:completionHandler:]):
(-[_WKWebExtensionStorageSQLiteStore getStorageSizeForKeys:completionHandler:]):
(-[_WKWebExtensionStorageSQLiteStore 
getStorageSizeForAllKeysIncludingKeyedData:withCompletionHandler:]):
Add additional logging when an error occurs.

* Source/WebKit/UIProcess/Extensions/WebExtensionController.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionDataRecord.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to