LLMpediaThe first transparent, open encyclopedia generated by LLMs

Gecko (layout engine)

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Mozilla Firefox Hop 3
Expansion Funnel Raw 78 → Dedup 8 → NER 8 → Enqueued 6
1. Extracted78
2. After dedup8 (None)
3. After NER8 (None)
4. Enqueued6 (None)
Similarity rejected: 4
Gecko (layout engine)
NameGecko
DeveloperMozilla Foundation
Released1997
Latest release version(varies by product)
Programming languageC++, JavaScript, Rust
Operating systemWindows, macOS, Linux, Android
LicenseMPL, GPL, LGPL

Gecko (layout engine)

Gecko is a web layout engine developed by the Mozilla Foundation and originally by Netscape Communications Corporation for rendering HTML, CSS, SVG, and XML content. It provides document parsing, style computation, layout, painting, and scripting integration for applications such as Mozilla Firefox, Thunderbird (software), SeaMonkey, and embedded clients. Gecko competes with engines like Blink (software) and WebKit while participating in standards driven by organizations such as the World Wide Web Consortium and the WHATWG.

Overview

Gecko implements rendering pipelines used by browsers and mail clients including Mozilla Firefox, Thunderbird (software), SeaMonkey, and earlier products from Netscape Communications Corporation and AOL. It integrates with graphics backends like Skia (graphics library), Cairo (graphics) and platform APIs provided by Microsoft Windows, macOS, and Linux. Gecko includes a JavaScript engine originally known as SpiderMonkey and later integrations with technologies associated with Rust (programming language) and Servo (browser engine project). Its feature set spans accessibility APIs such as IAccessible2 and AT-SPI, internationalization work from Unicode Consortium protocols, and networking stacks compatible with HTTP/1.1 and HTTP/2 concepts standardized by the Internet Engineering Task Force.

History and Development

Gecko's lineage traces to projects at Netscape Communications Corporation in the 1990s and was later stewarded by the Mozilla Foundation after the release of the Mozilla Application Suite. Major milestones include integration into Mozilla Firefox after the split from the Mozilla Suite, performance initiatives inspired by research from Google and collaborations with academic groups such as University of California, Berkeley. The project has evolved with contributions from companies like IBM, Red Hat, Intel, and Apple Inc. in shared standards work at the World Wide Web Consortium and the WHATWG. Initiatives like the Electrolysis (multi-process) project, work with Rust (programming language), and cross-project collaboration with Servo (browser engine project) influenced architectural shifts and security hardening.

Architecture and Components

Gecko's architecture includes components for parsing, layout, painting, and script execution. The parsing layer processes HTML, XML, and SVG with tokenizer and tree builder influenced by specifications from the WHATWG and World Wide Web Consortium. The style system implements CSS Level 2 and later modules from Cascading Style Sheets drafts, with layout managers for flow, grid, and flexbox models reflecting work by the W3C CSS Working Group. Rendering uses compositing layers, GPU acceleration through APIs like OpenGL, Direct3D, and interactions with Skia (graphics library) and Cairo (graphics). The JavaScript engine SpiderMonkey and just-in-time compilation techniques were influenced by research at Mozilla Research and academia such as MIT and Stanford University. Accessibility, networking, and security subsystems interface with platform services at Microsoft Windows, macOS, and desktop environments like GNOME and KDE.

Standards Compliance and Features

Gecko implements standards ratified by the World Wide Web Consortium and proposals stewarded by the WHATWG, including HTML5, CSS3, SVG 1.1, DOM Level 3, and ECMAScript editions developed by ECMA International. It supports multimedia APIs developed through collaboration with groups like the Moving Picture Experts Group and codecs standardized by bodies such as the IETF. Features like responsive images, WebRTC, WebSockets, and IndexedDB were implemented in alignment with working groups and drafts from W3C and IETF. Gecko also integrates security standards like Transport Layer Security developed by the IETF and content security policies influenced by W3C discussions.

Performance and Security

Performance optimizations in Gecko have been guided by studies and engineering contributions from Mozilla Research, companies like Google, and academic partners including Carnegie Mellon University and University of California, Berkeley. Projects such as multi-process architecture, JIT improvements in SpiderMonkey, and off-main-thread composition reduced latency in browsers like Firefox. Security hardening drew on efforts by organizations such as Open Web Application Security Project and collaborations with vendors like Microsoft and Red Hat for platform mitigations. Bug bounty programs, coordinated vulnerability disclosure with CERT Coordination Center, and standards-driven sandboxing advanced Gecko's threat model and memory safety, with incremental adoption of Rust (programming language) code from Servo (browser engine project) to reduce use-after-free and buffer overflow classes of bugs.

Usage and Integration

Gecko is used in desktop and mobile applications including Mozilla Firefox, Thunderbird (software), SeaMonkey, and embedded products from organizations such as KDE and companies like Canonical (company) and Red Hat. Integration points include embedding APIs for applications, plugin interfaces historically used by Adobe Flash, and WebExtensions compatible with Chrome (web browser) extensions through cross-project standards work with Google. Gecko has been ported to operating systems and platforms such as Windows, macOS, Linux, Android, and specialized environments maintained by organizations like ARM Holdings for mobile silicon.

Licensing and Community Contributions

Gecko's source code is released under tri-license terms historically including the Mozilla Public License, the GNU General Public License, and the GNU Lesser General Public License, facilitating contributions from corporations and volunteers. The open development model involves contribution workflows through repositories, code review practices with participation from entities like Mozilla Corporation, independent contributors, and academic partners such as MIT and Stanford University. Community initiatives, outreach at conferences like FOSDEM, Mozilla Festival, and collaboration with standards bodies such as the W3C and WHATWG drive feature development and interoperability testing with other engines including Blink (software) and WebKit.

Category:Mozilla