Edgar Chen 243a21b18c Bug 1641171 - Have a better way to handle keyboard shortcut for user activation; r=masayuki,media-playback-reviewers,alwu
We used to filter out all non-printable keys and printable keys combined with
other modifier keys to prevent web content from being activated when users used
certain shortcuts to interact with the browser. However, this was too strict,
as most key combinations are not used for browser shortcuts.

In this patch, we check whether a key handler is registered to execute command
for the key combination. If no handler is found, the key event is considered user
input for interacting with web content, and user activiation is generated.

Note that we cannot reuse the `mWantReplyFromContentProcess` event flag directly
because user activation is generated only on the keydown event, whereas key handlers
are ususally registered for the keypress event.

Differential Revision: https://phabricator.services.mozilla.com/D240006
2025-03-12 17:03:48 +00:00

An explanation of the Firefox Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://firefox-source-docs.mozilla.org/contributing/directory_structure.html

For information on how to build Firefox from the source code and create the patch see:

    https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html

If you have a question about developing Firefox, and can't find the solution
on https://firefox-source-docs.mozilla.org/, you can try asking your question on Matrix at chat.mozilla.org in `Introduction` (https://chat.mozilla.org/#/room/#introduction:mozilla.org) channel.


Nightly development builds can be downloaded from:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly

Keep in mind that nightly builds, which are used by Firefox developers for
testing, may be buggy.
Description
Preconfigured browser for YouTube's TV interface
Readme 5.5 GiB
Languages
JavaScript 32.6%
C++ 25.1%
HTML 20.9%
C 10.6%
Python 2.8%
Other 7.6%