Comments 7
The change is only applicable to async clipboard APIs, and not the DataTransfer APIs or execCommands. User gesture was never a requirement for read/write, readText/writeText methods, so this isn't technically a regression. In my change, I added transient user activation to read/write because we allow custom clipboard formats to be read/written via these APIs(https://chromestatus.com/feature/5649558757441536). I didn't add it for readText/writeText because some sites (like the doodle share) rely on this behavior. We need to send a breaking change first to the blink-dev before we add this restriction to these methods. Reducing the priority of this bug since its technically not a regression. This behavior has been there since we shipped async clipboard APIs (version 66) chromestatus.com/feature/5861289330999296
Ясен красен, объяснил. Неохота обзавестись павианьим задом, вот и выкручивается, как может.
Правда, лично с моей колокольни за фразу "это не регресс потому, что уже было в версии ххх" надо заставлять мыть рот с мылом.
Потому, что по такой логике в широком смысле ничто не регресс. Ведь дефективный код/логика же ВСЕГДА был в какой-то закоммиченной версии.
Вообще, автор бага - странный кекс. Нашкодить и слинять циклов у него хватило - а откатить либо переписать набело не хватило...
Возможно, это не является регрессией, но сама ситуация когда браузер может по факту захода на страницу переписать буфер обмена, является проблемой.
Уже приоритет 1
Интересно, что кто-то выложил пример как это работает, но в Chrome оно не заменяет в буфере обмена ничего почему-то. Или у меня установки по-умолчанию другие?
Все эти ограничения действий вне user-gesture события изначально довольно костыльные. Нельзя запустить при заходе на сайт, но можно при клике в любом месте - не велика разница.
Они хорошо работают, когда, например, нужно пресечь открытие дополнительных окон или другое бесячее поведение. Но с буфером особо разницы нет - не сразу запишет, так когда попап какой-нибудь закроешь.
Разработчики Chrome снизили приоритет критической уязвимости в Chrome. Вы можете с этим помочь