Open scottohara opened 13 years ago
In Safari 13 (iOS 13), -webkit-overflow-scrolling: touch
will no longer be necessary.
We will be able to remove this from the ul, #dialog
rule.
Pointer events are now supported in iOS 13
-webkit-overflow-scrolling: touch
removed in 046a6f0035728879510ecf6ce32e7f5e5f9edca2
Although it was expected to be a no-op as of Safari 13, it still had the effect of creating a new CSS stacking context.
This started causing scrolling issues in iOS 13.4.x, where lists could not be scrolled without first rotating to landscape and back to portrait.
Generating UUIDs in the browser (without a 3rd party dependency): https://medium.com/teads-engineering/generating-uuids-at-scale-on-the-web-2877f529d2a2
Generating a 128-bit (16 bytes) random number with the Crypto API is as simple as:
crypto.getRandomValues(new Uint8Array(16))
To turn these random bytes into a RFC-compliant version 4 UUID, one needs to set the variant and version bits, and then convert the bytes to hexadecimal digits separated by dashes.
Another possibility is to use the File API in combination with the URL.createObjectURL function to obtain a Blob URL containing a UUID. Support for URL.createObjectURL is similar to Crypto at 99.9%.
const url = URL.createObjectURL(new Blob())
url.substring(url.lastIndexOf('/') + 1)
The File API does not specify which version of UUID should be used or how it should be generated. In practice, Chromium-based browsers (Chrome and Edge) and WebKit reuse their Crypto implementation to generate random bytes, and then set/clear bits to create a v4 UUID. Firefox calls OS-level functions when they exist (CoCreateGuid on Windows, CFUUIDCreate on macOS), and otherwise falls back to using Crypto like Chromium and WebKit.
Finally, browsers implement Crypto.getRandomValues by relying on the OS either to provide random numbers directly or to gather entropy and then regularly feed it to a PRNG, making it cryptographically secure (CSPRNG).
https://developer.mozilla.org/en-US/docs/Web/API/Crypto/randomUUID
crypto.randomUUID()
Awaiting implementation in Safari
-webkit-appearance
is now unprefixed
crypto.randomUUID()
is now in Safari
Badging API (experimental, in Safari 16.4)
https://developer.mozilla.org/en-US/docs/Web/API/Badging_API
uuid.v4()
has been replaced with crypto.randomUUID()
in https://github.com/scottohara/tvmanager/commit/df65c633d8dcf0216bbd75c574f507d2dd6ef2fe
-webkit-device-pixel-ratio: 2
can now be replaced by either resolution: 2dppx
or min-resolution: 2dppx
in Safari 16.x
Need to check if there is any guidance on which to use for apple-touch-startup-image
links.
Browser Features
navigator.connection.type
(for auto-sync over wifi only)Vendor prefixes
-webkit-user-select
-webkit-text-size-adjust
-webkit-device-pixel-ratio
resolution: 2dppx
==-webkit-device-pixel-ratio: 2
)