LibWeb: Add basic non-blocking Web-Locks #3913
Open
+633
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a basic non-blocking Web-locks.
No locking mechanism has been implemented, so acquiring a lock always immediately allows access to the exclusive zone. Leaving the actual locking mechanism and queue as future work.
Tests:
web-locks/acquire.https.any.html passes 10 out of its 11 tests
.request
with a wrong number of arguments and expects the promise to reject, but the generated prototype throws a synchronus TypeError instead. Don't know how to handle that.web-locks/acquire.https.any.worker.html cannot run
web-locks/lock-attributes.https.any.html passes 2 out of its 2 tests