Download presentation
Presentation is loading. Please wait.
Published byConrad Lang Modified over 9 years ago
1
Conceptual Architecture of Mozilla Firefox (version 2.0.0.3) Jared Haines Iris Lai John,Chun-Hung,Chiu Josh Fairhead June 5, 2007
2
Introduction Discuss the conceptual architecture of Mozilla Firefox 2.0.0.3. Firefox is an open source cross-platform web browser developed by the Mozilla Corporation The Conceptual architecture for Mozilla Firefox is based on the reference architecture of Mozilla Browser Reference architecture of Mozilla browser includes User Interface, Browser Engine, Rendering Engine, Networking, XML Parser, JavaScript Interpreter, and Data Persistence. Conceptual Architecture of Mozilla Firefox includes User Interface, Gecko, Necko, XML Parser, JavaScript Interpreter, and Data Persistence.
3
Reference Architecture of Mozilla Browser
4
Conceptual Architecture of Mozilla Firefox User Interface Gecko Necko JavaScript Interpreter XPCOMXML Parser Data Persistence
5
User Interface Module(1)
6
User Interface Module(2) in between user and Gecko allow user inputs / requests, mainly interacts with Gecko, the rendering/browsing engine UI components built by XUL and HTML, decorated by CSS XPFE / XPToolkit is the development framework (based upon XUL language) that allows to build same UI components by using the same API in different platform. AOM defines objects and relationships that compose the UI and related services. Services performs the actual application- specific tasks.
7
Gecko Browser layout engine Components: HTML Parser Style System Image Loader Content Model Frame System Graphics Interface
8
Gecko XML Parser HTML Parser Content Model Ne cko Image Loader Style System CSS Parser Frame System Graphics Interface GDI X11/GTK Mac OS/X JavaScript Interpreter?
9
Data flow within Gecko
10
Necko Firefox Network Service Protocol Handler Protocol Connection File TransportSocket Transport URL
11
Necko Network Service- facilitates the construction and opening of URLs Protocol Handler – unique protocol handler for each protocol type Protocol Connection – any protocol-specific accessors required File/Socket Transport – represents the physical connection
12
Necko Threading application thread and a maximum number of transport threads most protocols utilize a background thread for I/O operations
13
Necko Evolution Started as a networking library known as netlib Design goals: Memory footprint Code maintainability Network performance
14
XML Parser XML Parser (Expat) XHTMLMathMLSVGRDFXUL The XML Parser is the component responsible for handling eXtensible Markup Language (XML) documents like XHTML, MathML, SVG, RDF, and XUL. The XML Parser subsystem parses XML documents into a Document Object Model (DOM) tree. Mozilla uses James Clark's expat parser.
15
XML Parser Architecture * The arrows represent C/Java/Javascript APIs.
16
JavaScript Interpreter The JavaScript Interpreter evaluates JavaScript (also known as ECMAScript) code, which may be embedded in web pages. JavaScript is an object-oriented scripting language developed by Netscape. JavaScript Interpreter SpiderMonkey
17
XPCOM Cross-Platform Component Object Model Manages creation, ownership, and deletion of objects Handles message passing between objects Similar to CORBA and Microsoft COM Components: Component, Service, and Category Managers XPConnect File/memory management, threads, data structures
18
XPCOM Conceptual Architecture XPCOM XPConnectJavaScript Interpreter
19
Data Persistence Session Storage Global Storage Gecko
20
Data Persistence DOM storage Session storage available for the page session Global storage maintains multiple public and private storage areas used to hold data over a long period of time References are accessed by the HTML code
21
Q & A Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.