Changes between Version 2 and Version 3 of Browser_Directory_Overview

Jun 16, 2019 9:41:25 PM (8 months ago)


  • Browser_Directory_Overview

    v2 v3  
    168168Implementations of classes like WeakPtr. Multi-platform assertions etc. More on MFBT
    170 # mobile ====
     170==== mobile ====
    171171==== mobile/android
    172172Firefox for Android
    228228==== security ====
    229229Contains NSS and PSM, to support cryptographic functions in mozilla (like S/MIME, SSL, etc). See Network Security Services (NSS) and Personal Security Manager (PSM).
     232==== services ====
     233Firefox accounts and sync (history, preferences, tabs, bookmarks, telemetry, startup time, which addons are installed, etc). See here.
     235==== servo ====
     236Servo, the parallel browser engine project.
     238==== startupcache ====
     239XXX this needs a description.
     241==== storage ====
     242Storage: XPCOM wrapper for sqlite. Wants to unify storage of all profile-related data. Supersedes mork. See also Unified Storage.
     244==== taskcluster ====
     245Scripts and code to automatically build and test Mozilla trees for the continuous integration and release process.
     247==== testing ====
     248Common testing tools for mozilla codebase projects, test suite definitions for automated test runs, tests that don't fit anywhere else, and other fun stuff.
     250==== third_party ====
     251Vendored dependencies maintained outside of Mozilla.
     253==== toolkit ====
     254The "new toolkit" used by Thunderbird, Firefox, etc. This contains numerous front-end components shared between applications as well as most of the XBL-implemented parts of the XUL language (most of which was originally forked from versions in xpfe/).
     256==== toolkit/mozapps/extensions/test/xpinstall ====
     257The installer, which contains code for installing Mozilla and for installing XPIs/extensions. This directory also contains code needed to build installer packages. See XPInstall and the XPInstall project page.
     259==== tools ====
     260Some tools which are optionally built during the mozilla build process, mostly used for debugging.
     262==== uriloader ====
     263XXX this needs a description.
     265==== uriloader/base ====
     266Content dispatch in Mozilla. Used to load uris and find an appropriate content listener for the data. Also manages web progress notifications. See Document Loading: From Load Start to Finding a Handler and The Life Of An HTML HTTP Request.
     268==== uriloader/exthandler ====
     269Used to handle content that Mozilla can't handle itself. Responsible for showing the helper app dialog, and generally for finding information about helper applications.
     271==== uriloader/prefetch ====
     272Service to prefetch documents in order to have them cached for faster loading.
     274==== view ====
     275View manager. Contains cross-platform code used for painting, scrolling, event handling, z-ordering, and opacity. Soon to become obsolete, gradually.
     277==== widget ====
     278A cross-platform API, with implementations on each platform, for dealing with operating system/environment widgets, i.e., code related to creation and handling of windows, popups, and other native widgets and to converting the system's messages related to painting and events into the messages used by other parts of Mozilla (e.g., view/ and content/, the latter of which converts many of the messages to yet another API, the DOM event API).
     280==== xpcom ====
     281Cross-Platform Component Object Model. Also contains data structures used by the rest of the mozilla code. See also XPCOM Project.
     283==== xpfe ====
     284XPFE (Cross Platform Front End) is the SeaMonkey frontend. It contains the XUL files for the browser interface, common files used by the other parts of the mozilla suite, and the XBL files for the parts of the XUL language that are implemented in XBL. Much of this code has been copied to browser/ and toolkit/ for use in Firefox, Thunderbird, etc.
     286==== xpfe/components ====
     287Components used by the Mozilla frontend, as well as implementations of interfaces that other parts of mozilla expect.
     289==== content ====
     290The data structures that represent the structure of Web pages (HTML, SVG, XML documents, elements, text nodes, etc.) These objects contain the implementation of many DOM interfaces and also implement some behaviors associated with those objects, such as link handling, form control behavior, and form submission.
     292This directory also contains the code for XUL, XBL, XTF, <canvas>, as well as the code implementing XSLT and event handling.
     294==== extensions ====
     296==v== extensions/content-packs ==v==
     297Content- and locale-pack switching user interface.
     299===== extensions/cview =====
     300Component viewer, which allows to view the currently registered components and interfaces.
     302===== extensions/datetime ====
     303Support for the datetime provtocol.
     305===== extensions/finger =====
     306Support for the finger protocol.
     308===== extensions/gnomevfs =====
     309Interface to gnome-vfs to allow using all protocols supported by gnome-vfs inside of mozilla.
     311===== extensions/help =====
     312Help viewer and help content. See Mozilla Help Viewer Project.
     314===== extensions/irc =====
     315This is ChatZilla, the IRC (Internet Relay Chat) component. See ChatZilla.
     317===== extensions/java =====
     318XPCOM<->Java bridge ("JavaXPCOM", formerly known as Javaconnect). Unrelated to the code in java/.
     320===== extensions/layout-debug =====
     321Layout debugger. Intended as replacement for "viewer". Can be used to run layout regression tests and has support for other layout debugging features.
     323===== extensions/lightning =====
     324The Lightning project, "an extension to tightly integrate calendar functionality (scheduling, tasks, etc.) into Thunderbird." See Lightning.
     326===== extensions/mono =====
     327A two-way bridge between the CLR/.NET/Mono/C#/etc. world and XPCOM.
     329===== extensions/p3p =====
     330Implementation of W3C's Platform for Privacy Preferences standard. See Platform for Privacy Preferences (P3P).
     332===== extensions/python =====
     333Support for implementing XPCOM components in python. See PyXPCOM.
     335===== extensions/reporter =====
     336An extension to report problems with web pages. Client-side part. See Mozilla Reporter.
     338===== extension/schema-validation =====
     339Allows to validate XML trees according to specified XML Schemas.
     341===== extension/spatialnavigation =====
     342Spatial navigation, navigating between links of a document according to their on-screen position. See Spatial Navigation.
     344===== extensions/sql =====
     345Support for accessing SQL databases from XUL applications. See SQL Support in Mozilla.
     347===== extensions/sroaming =====
     348Session roaming, i.e. support for storing a profile on a remote server.
     350===== extensions/transformiix =====
     351XSLT support. XSL Transformations is a language used to transform XML documents into other XML documents. See XSL Transformations.
     353===== extensions/tridentprofile =====
     354Support for importing profiles from MSIE.
     356===== extensions/typeaheadfind =====
     357Find As You Type allows quick web page navigation when you type a succession of characters in the body of the displayed page. See Find As You Type.
     359===== extensions/universalchardet =====
     360Universal character set detector.
     362===== extensions/venkman =====
     363The JavaScript Debugger.
     365===== extensions/wallet =====
     366Password and Form Manager.
     368===== extensions/webdav =====
     369WebDAV code; exposes special APIs for accessing WebDAV servers. Used by the Calendar project.
     371===== extensions/webservices =====
     372Support for Webservices. See Web Services.
     374===== extensions/xforms =====
     375Code for the XForms extension. See XForms.
     377===== extensions/xmlextras =====
     378Several XML-related extensions. See XML Extras.
     380===== extensions/xml-rpc =====
     381XML Remote Procedure Calls. Unowned these days. See XML-RPC in Mozilla.
     383===== extensions/xmlterm =====
     384XMLTerm, a terminal implemented using mozilla technology. Only available on GTK builds.
     388==== intl ====
     390===== intl/ctl =====
     391Code for dealing with Complex Text Layout, related to shaping of south Asian languages (not built by default, needs --enable-ctl).
     393==== profile ====
     394Code for profile handling, the profile manager backend and frontend.
     396==== xulrunner ====
     397Code for XULRunner. See also XULRunner.