Fune (船) is a Firefox ESR fork with the intent of bringing back the Firefox 2.0 look and overall decrapifying the browser.
Find a file
Niklas Baumgardner 83b479b588 Bug 1801957 - Create region with keyboard for screenshots. r=sfoster,firefox-desktop-core-reviewers ,accessibility-frontend-reviewers,Gijs,morgan
The problem I'm trying to solve: There is currently no way to create a selected region in the screenshots overlay with the keyboard.
I recently added support for resizing a selected region in bug 1801954, but a user still needs to create a region with the mouse before the keyboard can be used.

I tried to look at what other browsers are doing in this scenario. Unfortunately there isn't much to go off. Most browsers, I can't even take a screenshot and the only browser that I found to have keyboard support for screenshots is MS Edge. In Edge, when you open screenshots, if your mouse isn't over the content area it will immediately move your mouse to the center of the page. If your mouse is over the content, it remains in place. Then, arrow keys will move the cursor around and you can hit space/enter to start creating a region.

I didn't like that Edge moved the mouse immediately after opening screenshots so I took a different approach.

My approach:
Screenshots will not move the mouse until an arrow key is pressed.
How it works:
If your cursor is above the content and an arrow key is pressed, the cursor will move in the direction of the arrow key that was pressed.
If your cursor is not above the content and a arrow key is pressed, the cursor will be moved to the middle of the content. Screenshots will not move the cursor until an arrow key is pressed.

When moving around the overlay with the keyboard: only hitting an arrow key will move the cursor around by 1px. If shift + arrow key, the cursor will move around by 10px.
When space is clicked while moving the cursor, it will start a region. Moving the arrow keys allows the region to sized.
When the cursor is above an element and the hover element rect is visible, hitting enter will select that region. If no hover element region exists, enter will behave the same as space.

I am also keeping the screenshots UI focused in this patch. Tab/shift + tab will keep focus to screenshots UI. Shift + F6 will escape the focus loop I've made in this patch if needed. Although, if a user has entered screenshots, it makes sense that for the current time, only screenshots UI is focusable.

Differential Revision: https://phabricator.services.mozilla.com/D197703
2024-05-02 15:34:39 +00:00
.cargo Bug 1884879 - [css-syntax] Implement recent syntax spec change to avoid parsing custom properties that look like selectors. r=firefox-style-system-reviewers,zrhoffman,supply-chain-reviewers,glandium 2024-04-30 23:49:44 +00:00
.github/workflows
.vscode
accessible Bug 1878356: Remove nbsp trimming from acc names, r=Jamie 2024-04-30 00:35:45 +00:00
browser Bug 1801957 - Create region with keyboard for screenshots. r=sfoster,firefox-desktop-core-reviewers ,accessibility-frontend-reviewers,Gijs,morgan 2024-05-02 15:34:39 +00:00
build Bug 1893677 - Stop making some automation tiers print their own BUILDSTATUS. r=firefox-build-system-reviewers,ahochheiden 2024-05-01 03:50:06 +00:00
caps Bug 1892481 - More consistently enforce noscript and builtinclass in xpidl, r=xpcom-reviewers,necko-reviewers,valentin,media-playback-reviewers,mccr8,padenot 2024-04-22 18:19:58 +00:00
chrome
config Bug 1877926 - Make mach build --keep-going pass --keep-going to cargo. r=firefox-build-system-reviewers,nalexander 2024-05-02 04:20:41 +00:00
devtools Bug 1893644 - [devtools] Display ::backdrop rules for popover elements. r=devtools-reviewers,bomsy. 2024-05-02 14:17:13 +00:00
docs Bug 1893159 - add technical docs for phabricator to fx-source-docs, r=bgrins 2024-04-30 22:58:13 +00:00
docshell Bug 1677190 - Introduce SessionStoreFunctions for GeckoView package and move the existing SessionStoreFunctions from toolkit to the browser package. r=geckoview-reviewers,farre,nika,owlish 2024-04-30 11:17:55 +00:00
dom Bug 1878716: Copy the randomization key from the opener r=timhuang 2024-05-02 13:55:36 +00:00
editor Bug 1877513 - Make HTMLEditor deletes only preceding lines of right child block if the range starts from start of a line r=m_kato 2024-04-27 00:36:26 +00:00
extensions Bug 1893434 - Test, r=manuel,anti-tracking-reviewers 2024-04-30 09:30:33 +00:00
gfx Bug 1894551 - remove old win/aarch64 references in gtest moz.build files. r=RyanVM,necko-reviewers 2024-05-02 12:17:06 +00:00
gradle/wrapper
hal
image Bug 1806946 - Skip GTests which fail when run under TSAN. r=profiler-reviewers,dom-storage-reviewers,tnikkel,xpcom-reviewers,ipc-reviewers,mccr8,janv,webrtc-reviewers,pehrsons,canaltinova 2024-05-02 13:09:07 +00:00
intl Bug 1894551 - remove old win/aarch64 references in gtest moz.build files. r=RyanVM,necko-reviewers 2024-05-02 12:17:06 +00:00
ipc Bug 1806946 - Skip GTests which fail when run under TSAN. r=profiler-reviewers,dom-storage-reviewers,tnikkel,xpcom-reviewers,ipc-reviewers,mccr8,janv,webrtc-reviewers,pehrsons,canaltinova 2024-05-02 13:09:07 +00:00
js Bug 1894248 - Fixup all years < 100 r=arai 2024-05-02 06:41:50 +00:00
layout Bug 1894363 - Make min size of SVG match nsImageFrame. r=dholbert 2024-05-02 06:34:16 +00:00
media Bug 1894067 - Update opus to 20568812ae92bb148fe3fb0190b7629f1c4d0b96 r=kinetik DONTBUILD 2024-05-01 00:39:33 +00:00
memory Bug 1894551 - remove old win/aarch64 references in gtest moz.build files. r=RyanVM,necko-reviewers 2024-05-02 12:17:06 +00:00
mfbt Bug 1894147 - Fix C++20 std::memory_order build errors in MPSCQueue.h. r=xpcom-reviewers,emilio 2024-04-30 15:37:35 +00:00
mobile Bug 1888658 - Update search engines. r=android-reviewers,Roger 2024-05-02 14:06:09 +00:00
modules Bug 1888695 - Add a pref for the iframe XFO/CSP Open In New Window button. r=dveditz 2024-05-02 10:55:56 +00:00
mozglue Bug 1893532 - Improve error message of HTMLInputElement.stepUp/stepDown. r=dom-core,sefeng 2024-05-01 00:11:33 +00:00
netwerk Bug 1888227 - Fix cookie clearing in private browsing test on Android Fission r=valentin,timhuang,necko-reviewers 2024-05-02 15:04:38 +00:00
nsprpub
other-licenses
parser
python Bug 1894160: vendor-python: explicitly add the content of the .egg-info directory; r=ahochheiden 2024-05-01 14:54:58 +00:00
remote Bug 1894305 - [bidi] Add new trace log for Navigate:waitForInitialNavigationCompleted r=webdriver-reviewers,whimboo 2024-05-02 13:00:34 +00:00
security No Bug, mozilla-central repo-update HSTS HPKP - r=release-managers,RyanVM 2024-05-02 15:23:33 +00:00
services Bug 1552815: Use setFaviconForPage() instead of replaceFaviconDataFromDataURL() r=sync-reviewers,mak 2024-05-01 20:40:50 +00:00
servo Bug 1884879 - [css-syntax] [css-nesting] Implement recent spec change about blocks and custom / non-custom properties. r=firefox-style-system-reviewers,zrhoffman 2024-04-30 23:49:45 +00:00
startupcache
storage Bug 1806946 - Skip GTests which fail when run under TSAN. r=profiler-reviewers,dom-storage-reviewers,tnikkel,xpcom-reviewers,ipc-reviewers,mccr8,janv,webrtc-reviewers,pehrsons,canaltinova 2024-05-02 13:09:07 +00:00
supply-chain Bug 1894093 - Apply https://github.com/rust-lang/rust-bindgen/pull/2824 to vendored bindgen. r=emilio,supply-chain-reviewers 2024-05-02 12:17:47 +00:00
taskcluster Bug 1894673 - Update pdf.js revision for Talos tests r=marco 2024-05-02 13:12:33 +00:00
testing Bug 1856611 - Don't force the download of the wpt manifest. r=ahal,jgraham 2024-05-02 14:02:33 +00:00
third_party Bug 1894093 - Apply https://github.com/rust-lang/rust-bindgen/pull/2824 to vendored bindgen. r=emilio,supply-chain-reviewers 2024-05-02 12:17:47 +00:00
toolkit Backed out changeset 4d137dadab8f (bug 1845151) for causing bc failures in browser_parsable_css.js CLOSED TREE 2024-05-02 11:34:57 -04:00
tools Bug 1806946 - Skip GTests which fail when run under TSAN. r=profiler-reviewers,dom-storage-reviewers,tnikkel,xpcom-reviewers,ipc-reviewers,mccr8,janv,webrtc-reviewers,pehrsons,canaltinova 2024-05-02 13:09:07 +00:00
uriloader Backed out 2 changesets (bug 1883693) for causing xpc failures @ test_fetch-file.js CLOSED TREE 2024-05-01 04:08:52 +03:00
view Bug 1893357 - Drop |aRepaintExposedAreaOnly| argument from nsViewManager::ResizeView(). r=tnikkel 2024-04-25 02:37:26 +00:00
widget Bug 1844497 - Recompute input region when switching titlebar mode. r=stransky 2024-05-02 11:46:57 +00:00
xpcom Bug 1806946 - Skip GTests which fail when run under TSAN. r=profiler-reviewers,dom-storage-reviewers,tnikkel,xpcom-reviewers,ipc-reviewers,mccr8,janv,webrtc-reviewers,pehrsons,canaltinova 2024-05-02 13:09:07 +00:00
xpfe/appshell Bug 1893918 - A not-yet-loaded browser window shouldn't stop being an early blank window. r=win-reviewers,rkraesig 2024-04-30 08:39:59 +00:00
.arcconfig
.babel-eslint.rc.js
.clang-format
.clang-format-ignore Bug 1889978 - Vendor ffmpeg 7.0 headers. r=media-playback-reviewers,frontend-codestyle-reviewers,alwu 2024-04-30 14:21:45 +00:00
.cron.yml
.eslintignore Bug 1864255. Move crashtests that leave window(s) open to the very end. r=dholbert,frontend-codestyle-reviewers 2024-04-21 21:37:49 +00:00
.eslintrc-test-paths.js
.eslintrc.js Bug 1891982 - Part 1: Copy Top Sites Feed into the Top Sites component - r=dao,frontend-codestyle-reviewers,Standard8 2024-04-23 18:32:30 +00:00
.git-blame-ignore-revs
.gitattributes
.gitignore Bug 1894160: hgignore: simplify the egginfo pattern; r=sheehan 2024-05-01 14:54:59 +00:00
.hg-annotate-ignore-revs
.hg-format-source
.hgignore Bug 1894160: hgignore: simplify the egginfo pattern; r=sheehan 2024-05-01 14:54:59 +00:00
.hgtags
.lando.ini
.lldbinit
.mailmap Bug 1892339 - Add my name to .mailmap r=nika 2024-04-19 13:42:34 +00:00
.prettierignore Bug 1889978 - Vendor ffmpeg 7.0 headers. r=media-playback-reviewers,frontend-codestyle-reviewers,alwu 2024-04-30 14:21:45 +00:00
.prettierrc.js
.stylelintignore Bug 1864255. Move crashtests that leave window(s) open to the very end. r=dholbert,frontend-codestyle-reviewers 2024-04-21 21:37:49 +00:00
.stylelintrc.js
.taskcluster.yml
.trackerignore
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS
build.gradle Bug 1892641 - include timestamps in BUILDSTATUS lines from gradle, r=glandium. 2024-04-30 08:17:13 +00:00
Cargo.lock Bug 1894093 - Apply https://github.com/rust-lang/rust-bindgen/pull/2824 to vendored bindgen. r=emilio,supply-chain-reviewers 2024-05-02 12:17:47 +00:00
Cargo.toml Bug 1894093 - Apply https://github.com/rust-lang/rust-bindgen/pull/2824 to vendored bindgen. r=emilio,supply-chain-reviewers 2024-05-02 12:17:47 +00:00
client.mk
client.py
CLOBBER Bug 1889978 - Vendor ffmpeg master, after 7.0, update and reapply patch, remove old files, move bsf files into the bsf directory. r=media-playback-reviewers,alwu 2024-04-30 14:21:45 +00:00
configure
configure.py
GNUmakefile
gradle.properties
gradlew
gradlew.bat
LICENSE
mach
mach.cmd
mach.ps1
Makefile.in
mots.yaml
moz.build
moz.configure
mozilla-config.h.in
old-configure.in
package-lock.json
package.json
pyproject.toml
README.txt
settings.gradle
substitute-local-geckoview.gradle
test.mozbuild

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.