В Mozilla есть исправление для Flash, из-за которого окно Firefox теряет фокус
В середине 2012 года была обнаружена ошибка, из-за которой окно браузера Firefox теряло фокус при определенных обстоятельствах, когда в нем воспроизводилось содержимое Flash.
Это означало, что пользователи Firefox должны были щелкнуть окно браузера, чтобы снова сделать его активным окном в системе, даже если раньше это было активное окно. Ошибка несколько проблем, включая то, что сочетания клавиш, такие как Ctrl-T для открытия новой вкладки в браузере, больше не регистрируются.
Система, на которой была обнаружена ошибка, изначально представляла собой операционную систему x86 Windows 7 с Flash 11.3, но, по сообщениям пользователей, она также затрагивает другие системы, такие как Windows 8.1.
Согласно Mozilla, это ошибка во Flash, а не в Firefox, которая вызывает проблему у пользователей браузера.
Проблема была быстро связана с защищенным режимом Flash. Пользователи, которые отключили режим или запустили операционные системы, когда он был недоступен, не столкнулись с проблемой.
Воспроизвести проблему
Чтобы воспроизвести проблему, вам необходимо посетить веб-страницу, на которой выполняется содержимое Flash, например http://www.adobe.com/software/flash/about.
Вы заметите, что процессы Flash загружаются, когда вы открываете диспетчер задач системы с помощью Ctrl-Shift-Esc.
Затем необходимо закрыть все окна, которые воспроизводят содержимое Flash, и дождаться автоматического завершения процесса Flash.
Когда вы снова откроете веб-страницу с помощью Flash, Firefox потеряет фокус.
Другие ошибки могут быть связаны с проблемой, например, что новые окна открываются в фоновом режиме, а не на переднем плане в системе.
Устранение проблемы
Mozilla сотрудничала с Adobe в устранении ошибки, но решения не было видно.
Вчера, Аарон Клотц опубликовал комментарий к Bugzilla, но отчет, подтверждающий, что найден возможный патч для этой проблемы.
Возможный патч с использованием LockSetForegroundWindow
Этот патч завершает вызовы процесса NP_Initialize с помощью LockSetForegroundWindow. Кажется, это правильно.
Реализация в настоящее время тестируется, но пока выглядит многообещающей. Если во время тестирования проблем не обнаружено, он может быстро найти свой путь в Firefox Nightly, а оттуда вплоть до стабильной версии браузера.
Обновить : Похоже, что Adobe исправила ошибку и в Flash Player 15.
Firefox теперь будет сохранять фокус при запуске процессов Flash Player (3223393)