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
Перейти к файлу
Daniel Holbert 54c1df0de9 Bug 1733465 part 3: Make nsPresContext::GetRootWidget() return an already_AddRefed pointer instead of a raw pointer. r=tnikkel
Also, make the same change to nsPresContext::GetTextInputHandlingWidget and
TextComposition::GetWidget, which are essentially aliases/wrappers for this
function.

This patch shouldn't change behavior at all, aside from:
* optimizing away some redundant reference counting and widget-lookups
* delaying some nsIWidget::Release() calls, which will now happen after we're
  actually done using the object, instead of happening when the getter
  completes. (It's unlikely this impacts behavior, because there are other
  objects that are keeping the nsIWidget instance alive.)

Motivation / "wins" from this patch:
* nsPresContext::GetRootWidget already works with a refcounted pointer
  internally. Before this patch, it drops the reference before returning the
  pointer.  This is a bit suspect and would cause security issues, in the
  unlikely event that this were the last strong reference to the object.  It
  can just as easily/efficiently transfer the strong reference to the caller,
  and let the caller determine when to release it.
* Many of the callers were already storing the return value in nsCOMPtr, which
  meant that they were incurring an additional AddRef/Release when
  populating/destructing that smart pointer. Now they can just take ownership
  of the already_AddRefed return value and avoid redundnat refcount-churn.
* For the callers that weren't storing the return value in nsCOMPtr, some of
  them were calling this getter twice in a row (once to test for truthiness and
  once to use the known-truthy value).  This was wasteful, both from the
  repeated lookup-work (since the function isn't a trivial getter), and from
  repeated refcount-churn.  This patch collapses these repeat-calls to a single
  call, avoiding those inefficiencies.

Differential Revision: https://phabricator.services.mozilla.com/D127180
2021-10-01 14:37:06 +00:00
.cargo Bug 1732147 - Bump jsparagus for bug 1718635 and bug 1718952. r=nbp 2021-09-23 10:42:35 +00:00
.vscode Bug 1701913 - Documentation regarding Remote Development over SSH using VS Code. r=marco 2021-03-30 14:44:51 +00:00
accessible Bug 1733465 part 3: Make nsPresContext::GetRootWidget() return an already_AddRefed pointer instead of a raw pointer. r=tnikkel 2021-10-01 14:37:06 +00:00
browser Bug 1678623: Apply bookmark-title-changed event. r=mak 2021-10-01 12:01:29 +00:00
build Backed out changeset 894fc83e19a0 (bug 1717051) for causing busting macth commands. a=backout 2021-09-30 10:36:36 +03:00
caps Bug 1731645 - Fix non-unified build errors in caps/. r=ckerschb 2021-09-21 15:42:01 +00:00
chrome Bug 1602940 - Automated replacements to use Services.uuid. r=Gijs,necko-reviewers,preferences-reviewers,kershaw 2021-09-06 09:53:52 +00:00
config Bug 1733545 - Remove REQUIRES_UNIFIED_BUILD from third-party directories that don't need it. r=firefox-build-system-reviewers,andi 2021-10-01 09:01:27 +00:00
devtools Bug 1733333: Update tests within devtools/shared/ to work with https-first enabled r=jdescottes 2021-10-01 13:46:10 +00:00
docs Bug 1732592: Create in-tree accessibility documentation and add Document Accessibility Lifecycle as our first page. r=eeejay 2021-09-30 21:52:54 +00:00
docshell Backed out changeset d25df1c9e0e2 (bug 1729662) for causing wpt failures in overlapping-navigations-and-traversals 2021-09-30 14:31:50 +03:00
dom Bug 1733465 part 3: Make nsPresContext::GetRootWidget() return an already_AddRefed pointer instead of a raw pointer. r=tnikkel 2021-10-01 14:37:06 +00:00
editor Bug 1732234 - Fix non-unified build errors in editor/. r=masayuki 2021-09-28 04:26:52 +00:00
extensions Bug 1731994: part 6) Update `sPermissionsMap`'s documentation. r=baku DONTBUILD 2021-09-30 13:11:52 +00:00
gfx Bug 1730856 - Part 2: Add test. r=mstange 2021-10-01 14:01:52 +00:00
gradle/wrapper Bug 1727438 - Upgrade to Gradle 6.9.1. r=nalexander,owlish 2021-08-31 20:53:09 +00:00
hal Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
image Bug 1727943 - Part 2: Migrate mochitest, reftest and crashtest Windows 10 ccov suites from AWS to Azure r=jmaher 2021-09-28 15:27:39 +00:00
intl Bug 1733053 - Part 1: Update tzdata in ICU data files to 2021a1. r=platform-i18n-reviewers,dminor 2021-09-30 08:32:45 +00:00
ipc Bug 1732325 - SharedMemory::FindFreeAddressSpace should use MAP_NORESERVE r=glandium 2021-10-01 08:16:37 +00:00
js Bug 1733545 - Remove REQUIRES_UNIFIED_BUILD from third-party directories that don't need it. r=firefox-build-system-reviewers,andi 2021-10-01 09:01:27 +00:00
layout Bug 1733465 part 3: Make nsPresContext::GetRootWidget() return an already_AddRefed pointer instead of a raw pointer. r=tnikkel 2021-10-01 14:37:06 +00:00
media Bug 1733545 -Fix Bp bustages a=fix. CLOSED TREE 2021-10-01 06:40:59 -04:00
memory Bug 1733034 - Fix unused*-variable warnings due to missing ifdefs. r=andi 2021-09-29 21:44:49 +00:00
mfbt Bug 1730534 - Part 1: Assert state of SegmentedVector iterator is valid r=mccr8 2021-09-27 16:41:51 +00:00
mobile Bug 1582606 - Allow data: url on GVE. r=geckoview-reviewers,agi 2021-10-01 04:34:10 +00:00
modules Bug 1718520 - Disable early-data if a SSL_ERROR_PROTOCOL_VERSION_ALERT is received r=mt 2021-10-01 12:14:21 +00:00
mozglue Bug 1732208 - Silence the unused-but-set-variable warning in platform-linux-android.cpp. r=gerald 2021-09-28 00:02:47 +00:00
netwerk No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM 2021-10-01 12:44:02 +00:00
nsprpub Bug 1715584 - Update to NSPR_4_32_RTM (no code change). r=bbeurdouche UPGRADE_NSPR_RELEASE DONTBUILD 2021-07-01 09:07:04 +00:00
other-licenses Bug 1733545 - Remove REQUIRES_UNIFIED_BUILD from third-party directories that don't need it. r=firefox-build-system-reviewers,andi 2021-10-01 09:01:27 +00:00
parser Bug 1724243 - Make text/plain and MediaDocuments use the Standards Mode. r=smaug,emilio 2021-10-01 12:55:28 +00:00
python Bug 1733308 - Forbid sources files with the same base name. r=firefox-build-system-reviewers,andi 2021-10-01 01:49:16 +00:00
remote Bug 1691954 - [marionette] Avoid MarionetteEvents JSErrors using shared process state r=webdriver-reviewers,whimboo 2021-09-30 09:13:07 +00:00
security No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM 2021-10-01 12:44:02 +00:00
services No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM 2021-10-01 12:44:02 +00:00
servo Bug 1733339 - Remove NS_AUTHOR_SPECIFIED_PADDING. r=mstange 2021-10-01 11:48:17 +00:00
startupcache Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
storage Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium 2021-08-25 10:46:17 +00:00
taskcluster Bug 1713815 - Run the cnn-nav responsiveness test in mozilla-central. r=perftest-reviewers,AlexandruIonescu 2021-10-01 13:23:21 +00:00
testing Bug 1713815 - Run the cnn-nav responsiveness test in mozilla-central. r=perftest-reviewers,AlexandruIonescu 2021-10-01 13:23:21 +00:00
third_party Backed out 4 changesets (bug 1728934) for causing Mochitest failures. CLOSED TREE 2021-10-01 11:49:44 +03:00
toolkit Bug 1733563 - Style the profile selection window's checkboxes as native ones r=mossop 2021-10-01 14:17:16 +00:00
tools Bug 1678623: Implement a mechanism to fire bookmark-title-changed event. r=mak 2021-10-01 12:01:29 +00:00
uriloader Bug 1727943 - Part 2: Migrate mochitest, reftest and crashtest Windows 10 ccov suites from AWS to Azure r=jmaher 2021-09-28 15:27:39 +00:00
view Bug 1733465 part 2: Modernize nsViewManager::GetWidget() to use already_AddRefed return value, instead of requiring getter_AddRefs at callsite. r=tnikkel 2021-10-01 14:37:05 +00:00
widget Bug 1733465 part 3: Make nsPresContext::GetRootWidget() return an already_AddRefed pointer instead of a raw pointer. r=tnikkel 2021-10-01 14:37:06 +00:00
xpcom Bug 1733308 - Allow to disable unified builds in xpcom/tests/windows. r=firefox-build-system-reviewers,andi 2021-10-01 01:49:19 +00:00
xpfe/appshell Bug 1695822 - Track mHasRemoteContent for windows created using nsAppShellService. r=hiro 2021-09-17 21:42:15 +00:00
.arcconfig
.babel-eslint.rc.js Bug 1725934 - Remove unnecessary babel plugin, and update node modules to the latest versions. r=Mardak 2021-08-18 07:44:47 +00:00
.clang-format
.clang-format-ignore Bug 1726626 - Move gfx/wgpu into a 3rd party dependency r=jgilbert,bholley 2021-09-03 16:52:08 +00:00
.cron.yml Bug 1729797 - Enable Searchfox indexing of Elm;r=asuth DONTBUILD 2021-09-09 17:14:57 +00:00
.eslintignore Bug 1723729 - Remove old Talos XPI generation scripts and documents. r=jmaher,perftest-reviewers,alexandru.irimovici 2021-08-12 13:56:51 +00:00
.eslintrc.js Bug 1727591 - Enable remaining ESLint rule on remaining docshell/ xhtml files. r=smaug 2021-08-25 18:42:19 +00:00
.flake8 Bug 1731542 - remove `infer` from our static-analysis pipeline. r=static-analysis-reviewers,marco 2021-09-20 12:47:44 +00:00
.git-blame-ignore-revs
.gitattributes
.gitignore Bug 1731145: Don't ignore vendored package `*.egg-info` directories r=ahal 2021-09-28 14:59:27 +00:00
.hg-annotate-ignore-revs
.hg-format-source
.hgignore Bug 1731145: Don't ignore vendored package `*.egg-info` directories r=ahal 2021-09-28 14:59:27 +00:00
.hgtags No bug - tagging 63d82db58e2ced524acb4dab5687b273ca57f153 with FIREFOX_NIGHTLY_93_END a=release DONTBUILD CLOSED TREE 2021-09-06 13:14:42 +00:00
.lando.ini Bug 1714470: add `.lando.ini` file r=zeid DONTBUILD 2021-06-08 12:52:25 +00:00
.lldbinit
.mailmap
.prettierignore Bug 1667276 - Part 3: Load a custom prefs file when running a background task. r=mossop,KrisWright 2021-01-27 22:54:25 +00:00
.prettierrc
.taskcluster.yml Bug 1725404 - [taskgraph] Re-use 'decision' args from main.py, r=bhearsum 2021-08-16 14:56:26 +00:00
.trackerignore
.yamllint
.ycm_extra_conf.py
AUTHORS
CLOBBER Bug 1731524: Updating ANGLE requires a clobber r=jgilbert 2021-09-21 18:10:35 +00:00
Cargo.lock Bug 1733152 - Upgrade to Glean v41.1.1. r=chutten 2021-09-29 16:06:32 +00:00
Cargo.toml Bug 1730397 - Update packed_simd to a version that supports rustc >= 1.56. r=hsivonen 2021-09-17 08:55:04 +00:00
GNUmakefile
LICENSE
Makefile.in
README.txt
aclocal.m4
build.gradle Bug 1557796 - Custom mozconfig for gradle build. r=nalexander,owlish 2021-09-29 17:54:57 +00:00
client.mk Bug 1729383 - Simplify the parallel build setup. r=firefox-build-system-reviewers,mhentges 2021-09-08 00:10:22 +00:00
client.py No bug - fix client.py update_nss on python3. r=firefox-build-system-reviewers,mhentges,bbeurdouche 2021-05-05 16:59:09 +00:00
configure.in
configure.py Bug 1723031: Allow flexible dependency-specification in the Mach venv r=ahal 2021-09-28 14:59:29 +00:00
gradle.properties Bug 1727438 - Increase java max heap to 32G. r=nalexander,owlish 2021-08-31 20:53:08 +00:00
gradlew
gradlew.bat
mach Bug 1717051: Rename "mach_bootstrap.py" to "mach_initialize.py" r=firefox-build-system-reviewers,glandium 2021-09-03 20:46:22 +00:00
mach.ps1
moz.build Bug 1705403 - Replace FOG's Glean autodocs with link to Glean Dictionary r=janerik DONTBUILD 2021-05-10 13:33:09 +00:00
moz.configure Bug 1731223 - Move wine detection to toolkit/moz.configure. r=firefox-build-system-reviewers,andi 2021-09-22 23:54:26 +00:00
mozilla-config.h.in
old-configure.in Bug 1729760 - Set -stdlib=libc++ for mac builds at the toolchain level. r=firefox-build-system-reviewers,nalexander 2021-09-21 04:45:34 +00:00
package-lock.json Bug 1726413 - Use mach npm install rather than plain npm when updating node_modules. r=Mardak 2021-08-20 07:33:33 +00:00
package.json Bug 1725934 - Remove unnecessary babel plugin, and update node modules to the latest versions. r=Mardak 2021-08-18 07:44:47 +00:00
settings.gradle Bug 1557796 - Custom mozconfig for gradle build. r=nalexander,owlish 2021-09-29 17:54:57 +00:00
substitute-local-geckoview.gradle Bug 1557796 - Custom mozconfig for gradle build. r=nalexander,owlish 2021-09-29 17:54:57 +00:00
test.mozbuild

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.