background preloader

Projects

Projects

Windows Build Prerequisites - MDC This page covers the steps needed to prepare your machine to build a bleeding-edge, development version of Firefox and/or Thunderbird on Windows. Hardware requirements Mozilla's software can take a long time to build, even on modern hardware. Minimal hardware required for Mozilla development is: At least 3 GB of RAM for recent Firefox builds; 4 GB or more is recommended. 20 GB free disk space (for Visual Studio 2010 Express, the SDKs, the MozillaBuild package, the source code and free space needed to compile.) Overview The Mozilla build process requires many tools that are not installed on most Windows systems. The Mozilla codebase works with Visual Studio 2010 (VC10) and Visual Studio 2012 (VC11) . Install build prerequisites Complete each of these steps, otherwise you may not be able to build successfully. Make sure your system is up-to-date through Windows Update. In some circumstances, the following problems can arise: If you are using Visual Studio 2010: Opening a build command prompt

Embedding the Editor - MDC Introduction This document describes the current state of editor embeddability, problems with the existing implementation, some possible embedding scenarios that we need to deal with, and an embedding solution that will fulfill them. Finally, steps towards that final solution are described. Embedding applications Here are some embedding scenarios that editor needs to deal with. Composer embedded in a XUL application Developers need to embed composer widgets in their XUL applications, by using the <editor> tag as we do today. Composer embedded in a native application In this application, the <iframe> on which the editor lives is embedded directly in the native application; this is equivalent to embedding the browser via nsIWebBrowser, but instead having an editable document. Composer embedded in a web page (<htmlarea>) IE 5 supports the <HTMLArea> element; if Mozilla is to support something similar, editor needs to be embeddable to the extent that this can be done. Current problems

Editor What is the editor? The Mozilla editor provides HTML and plain text editing functionality in Gecko-based applications. Internally, the editor code manipulates page content primarily using DOM calls, so it is a true DOM-savvy editor. The editor is currently used in three different ways in the Mozilla codebase, though each application shares the same underlying code: Composer -- a fully-fledged HTML editor, for writing web pages. See the developer docs below for more information about how the editor works. The editor code lives in mozilla/editor/, though we also rely on (and in some cases support) code in other areas, particularly DOM range and selection (DOM interfaces, range and selection implementation). Editor code is currently packaged into 3 XPCOM component DLLs: *note that names in debug builds may be different. Editor documentation Please feel free to comment on these documents in the editor newsgroup/mailing list; see the community page for details on how to subscribe. Behavior specs

Gecko Embedding Basics - MDC Given the ever-growing importance of the Web as a source of information, entertainment, and personal connectedness, the ability to access and view data stored in HTML format is becoming more and more important for a wide variety of otherwise highly divergent software applications. Whether it's a matter of a simple HTML page viewer or of a full-fledged web browser, the ability to parse and render HTML-based documents is an increasingly significant function in many, many situations. For the application developer, the problem becomes how to implement this crucial functionality in a way that minimizes development time yet results in an agile and robust product. Embedding Gecko, the rendering engine at the heart of the Netscape and Mozilla browsers, is an outstanding solution to this problem. Why Gecko Gecko is the smart embedding choice. It is Open Source. Because Gecko is associated with the Mozilla project, there are many resources available to assist the embedding effort. Getting the Code

Related: