Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7833f1f216eb8dd59c03ed213fc49f105f6f94a2
https://github.com/WebKit/WebKit/commit/7833f1f216eb8dd59c03ed213fc49f105f6f94a2
Author: Sihui Liu <[email protected]>
Date: 2023-02-07 (Tue, 07 Feb 2023)
Changed paths:
M Source/WebCore/platform/sql/SQLiteTransaction.h
M Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp
Log Message:
-----------
SQLiteStorageArea should start new transaction when the previous one is
rolled back by sqlite
https://bugs.webkit.org/show_bug.cgi?id=251764
rdar://105061923
Reviewed by Chris Dumez.
When debugging storage_local_setitem_quotaexceedederr.window.html failure, I
found SQLiteStorageArea does not start new
transaction after SQLITE_FULL error, which means it would create an implicit
transaction for each statement. To fix
this, this patch makes startTransactionIfNecessary() check whether existing
transaction is already rolled back. If the
transaction is rolled back, it should start a new transaction.
* Source/WebCore/platform/sql/SQLiteTransaction.h:
* Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp:
(WebKit::SQLiteStorageArea::startTransactionIfNecessary):
Canonical link: https://commits.webkit.org/259966@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes