Google ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡΠ° Chrome 104. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ Chromium, ΠΊΠΎΠΉΡΠΎ ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Chrome. ΠΡΠ°ΡΠ·ΡΡΡΡ Chrome ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ Chromium Π² ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π»ΠΎΠ³Π° Π½Π° Google, Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΡΠΈΠ², ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΎ ΠΎΡ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ (DRM), ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ° Π½Π° Sandbox , Π΄ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΊΡΠΌ Google API ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°ΠΉΠΊΠΈ RLZ- ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ. ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅, ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠ»ΠΎΠ½ΡΡ Extended Stable, ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Π½ ΠΎΡ 8 ΡΠ΅Π΄ΠΌΠΈΡΠΈ. Π‘Π»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Chrome 105 Π΅ Π½Π°ΡΡΠΎΡΠ΅Π½ΠΎ Π·Π° 30 Π°Π²Π³ΡΡΡ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Chrome 104:
- ΠΡΠ²Π΅Π΄Π΅Π½ΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈΡΠ΅ - Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΈ ΠΈΠ»ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΠΈ ΡΠ»Π΅Π΄ 400 Π΄Π½ΠΈ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅, Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ ΡΡΠ΅Π· Π°ΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Expires ΠΈ Max-Age, Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 400 Π΄Π½ΠΈ (Π·Π° ΡΠ°ΠΊΠΈΠ²Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ ΠΆΠΈΠ²ΠΎΡΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ Π΄ΠΎ 400 Π΄Π½ΠΈ). ΠΠΈΡΠΊΠ²ΠΈΡΠΊΠΈΡΠ΅, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ΅ Π·Π°ΠΏΠ°Π·ΡΡ ΠΆΠΈΠ²ΠΎΡΠ° ΡΠΈ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΡΠΎΠΉ Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 400 Π΄Π½ΠΈ, Π½ΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ, Π°ΠΊΠΎ ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ. ΠΡΠΎΠΌΡΠ½Π°ΡΠ° ΠΎΡΡΠ°Π·ΡΠ²Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ, ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° URL Π°Π΄ΡΠ΅ΡΠΈ Π½Π° iframe, ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°ΡΠΈ ΠΊΡΠΌ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° (βfilesystem://β).
- ΠΠ° Π΄Π° ΡΠ΅ ΡΡΠΊΠΎΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Ρ ΡΠ΅Π»Π΅Π²ΠΈΡ Ρ ΠΎΡΡ ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°, Π² ΠΊΠΎΠΉΡΠΎ ΡΡΠ°ΠΊΠ½Π΅ΡΠ΅ Π²ΡΡΡ Ρ Π²ΡΡΠ·ΠΊΠ°, Π±Π΅Π· Π΄Π° ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΡΠ½Π΅ΡΠ΅ Π±ΡΡΠΎΠ½Π° ΠΈΠ»ΠΈ Π΄Π° ΠΌΠ°Ρ Π½Π΅ΡΠ΅ ΠΏΡΡΡΡΠ° ΡΠΈ ΠΎΡ ΡΠ΅Π½Π·ΠΎΡΠ½ΠΈΡ Π΅ΠΊΡΠ°Π½.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° API βΠ’Π΅ΠΌΠΈ ΠΈ Π³ΡΡΠΏΠΈ ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈβ, ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠ·ΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π°ΡΠ° Privacy Sandbox, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π³ΡΡΠΏΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ, Π±Π΅Π· Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ . ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΈ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π²Π΅Π΄Π½ΡΠΆ, ΠΎΠ±ΡΡΠ½ΡΠ²Π°ΠΉΠΊΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΡΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΉΠΊΠΈ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Π½Π΅ΠΉΠ½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅.
- ΠΠΎΠ²ΠΈΡΠ΅Π½ΠΈ ΠΏΡΠ°Π³ΠΎΠ²Π΅ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π΄ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠΈ setTimeout ΠΈ setInterval, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΎΡ 4 ms ("setTimeout(..., <4ms)"). ΠΠ±ΡΠΈΡΡ Π»ΠΈΠΌΠΈΡ Π·Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΎΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡ Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ ΠΎΡ 5 Π½Π° 100, ΠΊΠΎΠ΅ΡΠΎ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° Π½Π΅ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ Π°Π³ΡΠ΅ΡΠΈΠ²Π½ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΠΎΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡ, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°.
- Enabled ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° CORS (Cross-Origin Resource Sharing) Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΡΡΠ²ΡΡ Π½Π° ΡΠ°ΠΉΡΠ° ΡΡΡ Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° βAccess-Control-Request-Private-Network: trueβ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΡΡΡ Π²ΡΠ² Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° (192.168.xx , 10. xxx, 172.16-31.xx) ΠΈΠ»ΠΈ ΠΊΡΠΌ localhost (127.xxx). ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π² ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ°, ΡΡΡΠ²ΡΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π²ΡΡΠ½Π΅ Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° βAccess-Control-Allow-Private-Network: trueβ. Π Chrome Π²Π΅ΡΡΠΈΡ 104 ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π·Π°ΡΡΠ³Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° - Π°ΠΊΠΎ Π½ΡΠΌΠ° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅, Π² ΡΠ΅Π± ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π½ΠΎ ΡΠ°ΠΌΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΏΠΎΠ΄ΡΠ΅ΡΡΡΡ Π½Π΅ ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ°. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π±Π΅Π· ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° Π΄ΠΎ Chrome 107. ΠΠ° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ΡΠΎ Π² ΠΏΠΎ-ΡΠ°Π½Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° βchrome://flags/#private-network-access-respect-preflight-resultsβ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΎΠΌΠΎΡΠΈΡΡΠ° ΠΎΡ ΡΡΡΠ²ΡΡΠ° Π±Π΅ΡΠ΅ Π²ΡΠ²Π΅Π΄Π΅Π½Π°, Π·Π° Π΄Π° ΡΠ΅ Π·Π°ΡΠΈΠ»ΠΈ Π·Π°ΡΠΈΡΠ°ΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ΅ΡΡΡΡΠΈ Π² Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ (localhost) ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΡΠΈ ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΡ. Π’Π°ΠΊΠΈΠ²Π° Π·Π°ΡΠ²ΠΊΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΡ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° CSRF Π°ΡΠ°ΠΊΠΈ ΡΡΠ΅ΡΡ ΡΡΡΠ΅ΡΠΈ, ΡΠΎΡΠΊΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ, ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈ ΡΠ°ΠΌΠΎ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠ°Π·ΠΈ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°ΡΠ°ΠΊΠΈ, Π°ΠΊΠΎ ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΡΡΡΠΈ Π²ΡΠ² Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°, Π±ΡΠ°ΡΠ·ΡΡΡΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈ ΠΈΠ·ΡΠΈΡΠ½Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΡΡΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ»Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅Π³ΠΈΠΎΠ½Π°, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΡΠ΅ΠΆΠ΅ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π·Π°ΡΠ½Π΅ΠΌΠ°Π½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ getDisplayMedia API, ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π° ΠΏΠΎΡΠΎΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·Π΄Π΅Π», Π° Region Capture Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΡΠ΅ΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡ ΠΎΡ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π° ΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Media Queries Level 4, ΠΊΠΎΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠ°ΡΠ° ΠΎΠ±Π»Π°ΡΡ (ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ). ΠΠΎΠ²ΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠ±ΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π·Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ ΠΊΠ°ΡΠΎ "Π½Π΅", "ΠΈΠ»ΠΈ" ΠΈ "ΠΈ". ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ β@media (min-width: 400px) { β¦ }β Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ β@media (width >= 400px) { β¦ }β.
- ΠΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΎΠ²ΠΈ API Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠ° Origin Trials (Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅). Origin Trial ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ API ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ ΠΎΡ localhost ΠΈΠ»ΠΈ 127.0.0.1, ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΠΎΠΊΠ΅Π½, ΠΊΠΎΠΉΡΠΎ Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ CSS ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ βfocusgroupβ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡΡΠ° ΠΏΡΠ΅Π· Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠ»Π°Π²ΠΈΡΠΈΡΠ΅ ΡΡΡ ΡΡΡΠ΅Π»ΠΊΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ°.
- API Π·Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΏΠ»Π°ΡΠ°Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΠΊΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΠΊΠ°ΡΡΠ°. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΊΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΠΊΠ°ΡΡΠ°, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡΡ PaymentRequest() ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ»Π°Π³Π° βshowOptOut: trueβ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ API Π·Π° ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΠ»Π°Π²Π΅Π½ ΠΏΡΠ΅Ρ ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π² ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π΅Π΄Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠΈ Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π½Π° Π°Π²ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½Π°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΈΠ΄Π΅. ΠΡΠ°ΡΠ·ΡΡΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°.
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π·Π° ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΡΠ΅ΡΡΡΡΠΈ Π² ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ Web Bundle Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΏΡΠΈΠ΄ΡΡΠΆΠ°Π²Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (CSS ΡΡΠΈΠ»ΠΎΠ²Π΅, JavaScript, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, iframes). ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°ΡΠ° Webpack, ΡΠΎΡΠΌΠ°ΡΡΡ Web Bundle ΠΈΠΌΠ° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°: Π½Π΅ ΡΠ°ΠΌΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π² HTTP ΠΊΠ΅ΡΠ°, Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΡΠ°Π²Π½ΠΈ ΡΠ°ΡΡΠΈ; ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° JavaScript Π·Π°ΠΏΠΎΡΠ²Π° Π±Π΅Π· ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ»Π½ΠΎΡΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°; Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΊΠ°ΡΠΎ CSS ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π² webpack ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° JavaScript Π½ΠΈΠ·ΠΎΠ²Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ CSS ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ object-view-box, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΡΠ°ΡΡ ΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π²ΠΌΠ΅ΡΡΠΎ Π΄Π°Π΄Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ°ΠΌΠΊΠ° ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½ API Π·Π° Π΄Π΅Π»Π΅Π³ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΡΠ» Π΅ΠΊΡΠ°Π½, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΠ±Π΅ΠΊΡ Window Π΄Π° Π΄Π΅Π»Π΅Π³ΠΈΡΠ° Π½Π° Π΄ΡΡΠ³ ΠΎΠ±Π΅ΠΊΡ Window ΠΏΡΠ°Π²ΠΎΡΠΎ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π° requestFullscreen().
- ΠΠΎΠ±Π°Π²Π΅Π½ API Π·Π° ΠΏΡΠΈΠ΄ΡΡΠΆΠ°Π²Π°Ρ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ Π½Π° ΡΡΠ» Π΅ΠΊΡΠ°Π½, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠ» Π΅ΠΊΡΠ°Π½ ΠΈ ΠΈΠ·ΡΠΊΠ°ΡΠ°ΡΠΈ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π½Π° Π΄ΡΡΠ³ Π΅ΠΊΡΠ°Π½ ΡΠ»Π΅Π΄ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π°ΡΡΠΈΠ±ΡΡ Π½Π° Π²ΠΈΠ·ΡΠ°Π»Π½Π° ΠΊΡΡΠΈΡ ΠΊΡΠΌ CSS ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ overflow-clip-margin, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΡΠ΄Π΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ ΠΈΠ·ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π½Π°Π΄Ρ Π²ΡΡΠ»Ρ Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΠΎΠ±Π»Π°ΡΡΡΠ° (ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ content-box, padding-box ΠΈ border- ΠΊΡΡΠΈΡ).
- API Π½Π° Async Clipboard Π΄ΠΎΠ±Π°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ ΡΡΠ΅Π· ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄Π°, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΊΡΡ Ρ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅.
- WebGL ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ²Π΅ΡΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π·Π° Π±ΡΡΠ΅ΡΠ° Π·Π° ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ ΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΠ΅ΠΊΡΡΡΡΠ°.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ OS X 10.11 ΠΈ macOS 10.12 Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°.
- U2F (Cryptotoken) API, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½. U2F API Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ ΠΎΡ API Π·Π° ΡΠ΅Π± ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅.
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ΅Π± ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ. ΠΠ΅Π±ΡΠ³Π΅ΡΡΡ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠΎΠ΄Π° ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»Π΅Π΄ Π΄ΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½ΡΠΊΡΠ΄Π΅ Π² ΡΡΠ»ΠΎΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ°. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΏΠ°Π½Π΅Π»Π° Recorder. ΠΡΠΌ ΠΏΠ°Π½Π΅Π»Π° Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Π² ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° performance.measure(). ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° JavaScript ΠΎΠ±Π΅ΠΊΡ. ΠΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° CSS ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ²Π΅ΡΠΎΠ²Π΅ΡΠ΅.
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈΡΠ΅ ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° 27 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π±ΡΡ
Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ΠΈ AFL. ΠΠ΅ ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΠΈΡ
Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΡ Π²ΡΠΈΡΠΊΠΈ Π½ΠΈΠ²Π° Π½Π° Π·Π°ΡΠΈΡΠ° Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ ΠΊΠΎΠ΄ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠ·Π²ΡΠ½ ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° ΠΏΡΡΡΡΠ½ΠΈΠΊΠ°. ΠΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΠΏΠ°ΡΠΈΡΠ½ΠΈ Π½Π°Π³ΡΠ°Π΄ΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π·Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ, Google ΠΈΠ·ΠΏΠ»Π°ΡΠΈ 22 Π½Π°Π³ΡΠ°Π΄ΠΈ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ $84 Ρ
ΠΈΠ»ΡΠ΄ΠΈ (Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $15000 10000, Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $8000 7000, Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $5000 4000, Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $3000 2000, ΡΠ΅ΡΠΈΡΠΈ Π½Π°Π³ΡΠ°Π΄ΠΈ ΠΎΡ $1000 XNUMX, Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° ΠΎΡ $XNUMX XNUMX, ΡΡΠΈ Π½Π°Π³ΡΠ°Π΄ΠΈ ΠΎΡ $XNUMX XNUMX , ΡΠ΅ΡΠΈΡΠΈ Π½Π°Π³ΡΠ°Π΄ΠΈ ΠΎΡ $XNUMX ΠΈ ΡΡΠΈ $XNUMX Π½Π°Π³ΡΠ°Π΄ΠΈ). Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π΅Π΄Π½Π° Π½Π°Π³ΡΠ°Π΄Π° Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru