Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Перейти к файлу
Dimi 6cabc3f465 Bug 1880450 - Do not use visiblity to filter out elements for autofilling, but use visibility check when classify sections r=credential-management-reviewers,jneuberger,issammani
We introduced visibility/focusability check to filter out invisible or unfocusable elements
to address the following issues:

1. Bug 1688209: The website's credit card form contains hidden credit card fields beneath the visible ones.

Example:
  <input id="cc-number" autocomplete="cc-number">
  <input id="hidden-cc-number" autocomplete="cc-number" hidden>.
  <input id="cc-name" autocomplete="cc-name">

The issue occurs because when our heuristic encounters consecutive fields that should not appear multiple times in a row,
we divide them and treat them as separate sections. In this example, the
visible cc-number and visible cc-name are put in different sections so we don't autofill both of the fields at the same time.

2. Bug 1822494: There is one hidden cc-exp-month field and one visible cc-exp field.

Example:
  <input id="cc-exp" autocomplete="cc-exp">
  <input id="hidden-cc-exp" autocomplete="cc-exp" hidden>.

When two cc-exp-* fields appear consecutively, our heuristic adjusts the first one to cc-exp-month and the second one to cc-exp-year.
However, in this bug, we should just honor the autocomplete attribute and do not change the field name

Bug 1753669: An invisible country field is located between tel-* fields.

Example:
  <input id="country" autocomplete="country">
  <input id="tel-area-code" autocomplete="tel-area-code">
  <input id="hidden-country" autocomplete="country" hidden>
  <input id="tel-local" autocomplete="tel-local">

When the heuristic sees the hidden country field, since it has already identified another country field previously,
our heuristic creates a new section upon encountering the invisible country field. This results that
we don't put tel-local field in the same section as the rest of the address fields.

---

However, introducing visibility and focusability checks also brings issues.

Some websites implement their own dropdowns for certain fields, like province, and include an invisible or unfocusable
field to store the value, as seen in Bug 1873202 and Bug 1836036.

We also see, in some cases, websites prefill certain address fields for users, and those fields are unfocusable.
For example, websites can use known-address data to determine the "state/province" field so users don't have to fill it.
But in these cases, we still want to identify this type of field so we can capture the data after users submit the form.

So, given the information collected so far, I think we should not filter out unfocusable or invisible elements before
running heuristics. Instead, we should adjust our heuristic to consider invisible elements in some cases. For example,
we should not create a new section upon encountering an invisible field, recognizing that it's common for websites to
place an invisible field near a visible field of the same type for various reasons.

Differential Revision: https://phabricator.services.mozilla.com/D202297
2024-02-26 11:43:58 +00:00
.cargo Bug 1874789 - Update cubeb-coreaudio-rs to d23ab55eab. r=cubeb-reviewers,supply-chain-reviewers,padenot 2024-02-23 15:30:51 +00:00
.github/workflows Bug 1853618 - address issue with GitHub PR closer, and optimise r=hwine DONTBUILD 2023-09-20 15:33:26 +00:00
.vscode Bug 1858932 - Skip bash and run mach directly on powershell for tasks.json r=tcampbell DONTBUILD 2023-10-17 19:49:17 +00:00
accessible Bug 1880504: Fire a state change (and thus update the RemoteAccessible cache) when the indeterminate state of an HTML checkbox changes. r=nlapre 2024-02-23 06:40:22 +00:00
browser Bug 1880450 - Do not use visiblity to filter out elements for autofilling, but use visibility check when classify sections r=credential-management-reviewers,jneuberger,issammani 2024-02-26 11:43:58 +00:00
build Bug 1879120 - Remove all python deprecation warning: invalid escape sequence r=ahochheiden,webdriver-reviewers,perftest-reviewers,afinder UPGRADE_NSPR_RELEASE 2024-02-26 08:26:38 +00:00
caps Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
chrome Bug 1859873 - batch 13 xpcshell.ini -> .toml. r=aryx,devtools-reviewers,profiler-reviewers 2023-11-21 12:32:50 +00:00
config Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2024-02-19 09:55:58 +00:00
devtools Bug 1881266 - Enable ESLint recommended rule no-constant-condition globally, warning for existing cases. r=mossop,devtools-reviewers,nchevobbe 2024-02-26 11:35:41 +00:00
docs Bug 1879254 - Verify .gitignore and .hgignore consistency. r=glandium 2024-02-22 04:48:27 +00:00
docshell Bug 761152 - Copy referrer info to new session history entry on history.pushState r=freddyb 2024-02-22 14:29:06 +00:00
dom Bug 1881265 - Enable ESLint recommended rule getter-return. r=mossop,extension-reviewers,devtools-reviewers,omc-reviewers,nchevobbe,aminomancer,robwu 2024-02-26 11:35:40 +00:00
editor Bug 1879538 - cleanup unnecessary and redundant reftest conditions. r=aryx,jgilbert 2024-02-22 23:04:45 +00:00
extensions Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
gfx Bug 1878308: chore(wgpu_bindings): run `cargo fmt` r=nical 2024-02-26 08:31:37 +00:00
gradle/wrapper Bug 1878410 - Update Gradle to version 8.6. r=geckoview-reviewers,mcarare,amejiamarmol 2024-02-05 16:01:14 +00:00
hal Bug 1875484 - Add missing null check in Hal code. r=gsvelto 2024-01-22 18:56:18 +00:00
image Bug 1880054. Simplify some imagelib event target code. r=gfx-reviewers,lsalzman 2024-02-25 04:54:33 +00:00
intl Bug 1881487 - Update unicode-bidi to pick up newly-added smallvec support. r=platform-i18n-reviewers,supply-chain-reviewers,nordzilla 2024-02-22 19:47:54 +00:00
ipc Backed out changeset dccf526bcc0a (bug 1878993) for causing build bustages at GeckoChildProcessHost.cpp. CLOSED TREE 2024-02-24 12:51:38 +02:00
js Bug 1881265 - Enable ESLint recommended rule getter-return. r=mossop,extension-reviewers,devtools-reviewers,omc-reviewers,nchevobbe,aminomancer,robwu 2024-02-26 11:35:40 +00:00
layout Bug 1879120 - Remove all python deprecation warning: invalid escape sequence r=ahochheiden,webdriver-reviewers,perftest-reviewers,afinder UPGRADE_NSPR_RELEASE 2024-02-26 08:26:38 +00:00
media Bug 1879120 - Remove all python deprecation warning: invalid escape sequence r=ahochheiden,webdriver-reviewers,perftest-reviewers,afinder UPGRADE_NSPR_RELEASE 2024-02-26 08:26:38 +00:00
memory Bug 1867190 - Add prefs for PHC probablities r=glandium 2024-01-30 05:33:38 +00:00
mfbt Bug 1037100 - Scoped.h removed because no outstanding uses. r=glandium,dom-storage-reviewers,jesup,janv 2024-02-14 06:41:58 +00:00
mobile Bug 1837601 - Indicate if location change was requested by user. r=owlish,amejiamarmol 2024-02-22 15:36:53 +00:00
modules Bug 1866993 - Enable popover by default. r=emilio 2024-02-26 10:08:16 +00:00
mozglue Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
netwerk Bug 1760077 - Fix racy test_channel_close.js r=necko-reviewers,kershaw 2024-02-26 10:34:20 +00:00
nsprpub Bug 1879120 - Remove all python deprecation warning: invalid escape sequence r=ahochheiden,webdriver-reviewers,perftest-reviewers,afinder UPGRADE_NSPR_RELEASE 2024-02-26 08:26:38 +00:00
other-licenses Bug 1840493 - doc/rst: fix some languages declaration r=firefox-source-docs-reviewers,webdriver-reviewers,necko-reviewers,geckoview-reviewers,devtools-reviewers,profiler-reviewers,championshuttler,whimboo,nchevobbe,julienw,amejiamarmol 2023-12-13 18:32:20 +00:00
parser Bug 1879538 - cleanup unnecessary and redundant reftest conditions. r=aryx,jgilbert 2024-02-22 23:04:45 +00:00
python Bug 1879120 - Remove all python deprecation warning: invalid escape sequence r=ahochheiden,webdriver-reviewers,perftest-reviewers,afinder UPGRADE_NSPR_RELEASE 2024-02-26 08:26:38 +00:00
remote Bug 1880160 - [bidi] Ignore file channels in BiDi network listener r=webdriver-reviewers,Sasha 2024-02-23 14:55:57 +00:00
security Bug 1881262 - Disable ESLint rule no-useless-escape across the code as it isn't very useful. r=mossop 2024-02-26 11:35:41 +00:00
services Bug 1869371 - Strip NS_ERROR_* codes from submitted telemetry r=markh,sync-reviewers 2024-02-23 18:25:33 +00:00
servo Bug 1879120 - Remove all python deprecation warning: invalid escape sequence r=ahochheiden,webdriver-reviewers,perftest-reviewers,afinder UPGRADE_NSPR_RELEASE 2024-02-26 08:26:38 +00:00
startupcache Bug 1874226 - Use unique_ptr not Scoped in xpcom/*. r=xpcom-reviewers,necko-reviewers,valentin,emilio 2024-02-07 18:30:22 +00:00
storage Bug 1869060 - Add SQLite Online Backup API support via mozIStorageAsyncConnection. r=mak 2024-01-22 14:26:53 +00:00
supply-chain Bug 1881370 - Upgrade ahash to 0.7.8. r=nika,supply-chain-reviewers 2024-02-22 21:27:09 +00:00
taskcluster Bug 1881262 - Disable ESLint rule no-useless-escape across the code as it isn't very useful. r=mossop 2024-02-26 11:35:41 +00:00
testing Bug 1879120 - Remove all python deprecation warning: invalid escape sequence r=ahochheiden,webdriver-reviewers,perftest-reviewers,afinder UPGRADE_NSPR_RELEASE 2024-02-26 08:26:38 +00:00
third_party Bug 1874789 - Update cubeb-coreaudio-rs to d23ab55eab. r=cubeb-reviewers,supply-chain-reviewers,padenot 2024-02-23 15:30:51 +00:00
toolkit Bug 1880450 - Do not use visiblity to filter out elements for autofilling, but use visibility check when classify sections r=credential-management-reviewers,jneuberger,issammani 2024-02-26 11:43:58 +00:00
tools Bug 1881262 - Disable ESLint rule no-useless-escape across the code as it isn't very useful. r=mossop 2024-02-26 11:35:41 +00:00
uriloader Backed out changeset 8e21fdfc60f0 (bug 1868001) for causing mochitest failures at dom/tests/mochitest/general/test_resource_timing_cross_origin.html CLOSED TREE 2024-02-20 20:36:30 +02:00
view Bug 1421651 - Remove obseleted timeline and TimelineMarker code r=canaltinova,webidl,devtools-reviewers,saschanaz,smaug,ochameau 2023-10-24 15:18:12 +00:00
widget Bug 1880605 - Wait for updating OOP frame position. r=masayuki 2024-02-26 01:36:34 +00:00
xpcom Bug 1790700 - Show <input type='number'> spin buttons only on hover/focus, also hide them on Android r=emilio r=reland CLOSED TREE 2024-02-25 03:14:08 +00:00
xpfe/appshell Bug 1878037 - Fix some regressions on alert windows. r=saschanaz,win-reviewers,rkraesig 2024-02-12 19:45:48 +00:00
.arcconfig
.babel-eslint.rc.js
.clang-format
.clang-format-ignore Bug 1877989 - [devtools] Add CodeMirror 6 in tree. r=devtools-reviewers,bomsy. 2024-02-08 14:39:41 +00:00
.cron.yml Bug 1873723 - Run browsertime tests on beta/release with a cron. r=perftest-reviewers,taskgraph-reviewers,kshampur,jcristau DONTBUILD 2024-02-12 18:29:00 +00:00
.eslintignore Bug 1877596 - Use original URL as base URL for internal scheme also in worker. r=jonco,dom-storage-reviewers,janv,dom-worker-reviewers,smaug 2024-02-05 01:12:24 +00:00
.eslintrc-test-paths.js Bug 1876988 - Enable ESLint rules no-undef and no-unused-vars. r=smaug 2024-01-29 11:23:59 +00:00
.eslintrc.js Bug 1881266 - Enable ESLint recommended rule no-case-declarations globally, warning for existing cases. r=mossop 2024-02-26 11:35:41 +00:00
.git-blame-ignore-revs
.gitattributes
.gitignore Bug 1879254 - Verify .gitignore and .hgignore consistency. r=glandium 2024-02-22 04:48:27 +00:00
.hg-annotate-ignore-revs
.hg-format-source
.hgignore Bug 1879254 - Verify .gitignore and .hgignore consistency. r=glandium 2024-02-22 04:48:27 +00:00
.hgtags No bug - tagging 3a789882861bf458a92ed529bdbe4ddc39bd9671 with FIREFOX_NIGHTLY_124_END a=release DONTBUILD CLOSED TREE 2024-02-19 09:55:46 +00:00
.lando.ini Bug 1871425: disable Lando autoformatting r=TYLin DONTBUILD 2024-01-09 17:59:10 +00:00
.lldbinit
.mailmap
.prettierignore Bug 1872918 - Collect .d.json typescript info from xpidl r=mossop,nika 2024-02-24 00:23:59 +00:00
.prettierrc.js
.stylelintignore Bug 1866802 - Move ASRouterAdmin tool to about:asrouter and its own component folder. r=pdahiya,Gijs,desktop-theme-reviewers,dao 2023-12-14 18:46:55 +00:00
.stylelintrc.js Bug 1866802 - Move ASRouterAdmin tool to about:asrouter and its own component folder. r=pdahiya,Gijs,desktop-theme-reviewers,dao 2023-12-14 18:46:55 +00:00
.taskcluster.yml
.trackerignore
.yamllint Bug 1858299 - moz.yaml file should not start with --- r=tjr 2023-10-13 11:56:37 +00:00
.ycm_extra_conf.py
AUTHORS
CLOBBER Bug 1878638 p3: Remove sandbox DuplicateHandle brokering. r=handyman 2024-02-22 19:03:56 +00:00
Cargo.lock Bug 1878308 - Move the render pass remoting logic into wgpu's bindings. r=webgpu-reviewers,ErichDonGubler 2024-02-26 08:31:37 +00:00
Cargo.toml Bug 1881487 - Update unicode-bidi to pick up newly-added smallvec support. r=platform-i18n-reviewers,supply-chain-reviewers,nordzilla 2024-02-22 19:47:54 +00:00
GNUmakefile
LICENSE
Makefile.in Bug 1873959 - Only force generation of buildid.h and source-repo.h during export phase r=glandium 2024-01-16 13:49:03 +00:00
README.txt
aclocal.m4
build.gradle Bug 1879857 - Update Glean to v57.0.0. r=chutten,supply-chain-reviewers,mach-reviewers 2024-02-13 20:47:02 +00:00
client.mk
client.py
configure
configure.py Bug 1861273 - Add some profile markers for sub-phases of configure. r=firefox-build-system-reviewers,ahochheiden 2023-10-26 00:49:31 +00:00
gradle.properties Bug 1873677 - Upgrade Gradle to 8.5 version r=geckoview-reviewers,calu 2024-01-23 14:50:12 +00:00
gradlew Bug 1873677 - Upgrade Gradle to 8.5 version r=geckoview-reviewers,calu 2024-01-23 14:50:12 +00:00
gradlew.bat Bug 1878410 - Update Gradle to version 8.6. r=geckoview-reviewers,mcarare,amejiamarmol 2024-02-05 16:01:14 +00:00
mach Bug 1843209 - Bump Mach's minimum Python version to `3.8` r=firefox-build-system-reviewers,glandium 2023-12-12 03:52:00 +00:00
mach.cmd
mach.ps1
mots.yaml Backed out 16 changesets (bug 1770944) as req by asuth. 2024-02-23 21:11:08 +02:00
moz.build Bug 1869204 - Batch 19.1 - migrate python/ mozbuild and mozbase .ini to toml. r=ahal,firefox-build-system-reviewers,ahochheiden 2023-12-15 20:59:46 +00:00
moz.configure Bug 1853564 - Look for install_name_tool in addition to install-name-tool and llvm-install-name-tool r=glandium 2024-01-24 06:54:58 +00:00
mozilla-config.h.in
old-configure.in Bug 1880929 - Drop support for VS 2017. r=firefox-build-system-reviewers,sergesanspaille 2024-02-22 00:53:52 +00:00
package-lock.json Bug 1878009 - Remove Babel from ESLint's node-modules. r=mossop 2024-02-02 18:45:09 +00:00
package.json Bug 1878009 - Remove Babel from ESLint's node-modules. r=mossop 2024-02-02 18:45:09 +00:00
pyproject.toml
settings.gradle
substitute-local-geckoview.gradle
test.mozbuild Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre 2023-12-08 04:26:45 +00:00

README.txt

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.