HOME





XPCOM
Cross Platform Component Object Model (XPCOM) is a cross-platform component model from Mozilla. It is similar to Component Object Model (COM), Common Object Request Broker Architecture (CORBA) and system object model (SOM). It features multiple language bindings and interface description language (IDL) descriptions, which allow programmers to plug their custom functions into the framework and connect them with other components. The most notable use of XPCOM is within the Firefox web browser, where many internal components interact through XPCOM interfaces. Furthermore, Firefox used to allow add-ons extensive XPCOM access, but this was removed in 2017 and replaced with the less-permissive WebExtensions API. Two forks of Firefox still support XPCOM add-on capability: Pale Moon and Basilisk. Model XPCOM is one of the main things making the Mozilla application environment an actual framework. It is a development environment that provides the following features for the cross-plat ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


XPConnect
Netscape Plugin Application Programming Interface (NPAPI) is a deprecated application programming interface (API) for web browser plugins, initially developed for Netscape Navigator 2.0 in 1995 and subsequently adopted by other browsers. In the NPAPI architecture, a plugin declares content types (e.g. "audio/mp3") that it can handle. When the browser encounters a content type it cannot handle natively, it loads the appropriate plugin, sets aside space within the browser context for the plugin to render and then streams data to it. The plugin is responsible for rendering the data. The plugin runs in-place within the page, as opposed to older browsers that had to launch an external application to handle unknown content types. NPAPI requires each plugin to implement and expose approximately 15 functions for initializing, creating, deleting and positioning plugin content. NPAPI also supports scripting, printing, full-screen plugins, windowless plugins and content streaming. NPAPI wa ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


System Object Model
The System Object Model (SOM) is an object-oriented shared library technology developed by IBM that supports defining an interface to an object so that its interface is separate from its implementation. DSOM, a distributed variant based on CORBA, allowed objects on different computers to communicate. A SOM library can be updated without requiring client code to be rebuilt. If a library is changed to add new classes or methods, or to change the internal implementation of classes or methods, a consuming program can still use it without being rebuilt. In this way, SOM addresses the fragile binary interface problem that affects other library technology such as C++. SOM allows classes to be defined in one programming language and used in another. A client can create and use objects from the exposed classes and derive subclasses from the exposed classes even if the client language does not support class typing. SOM provides an application programming interface (API) that prov ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Interface Description Language
An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs are usually used to describe data types and interfaces in a language-independent way, for example, between those written in C++ and those written in Java. IDLs are commonly used in remote procedure call software. In these cases the machines at either end of the ''link'' may be using different operating systems and computer languages. IDLs offer a bridge between the two different systems. Software systems based on IDLs include Sun's ONC RPC, The Open Group's Distributed Computing Environment, IBM's System Object Model, the Object Management Group's CORBA (which implements OMG IDL, an IDL based on DCE/RPC) and Data Distribution Service, Mozilla's XPCOM, Microsoft's Microsoft RPC (which evolved into COM and DCOM), Facebook's Thrift and WSDL for W ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Add-on (Mozilla)
For Mozilla software, an add-on is a software component that extends the functionality of the Firefox web browser and related applications although most are browser extensions. Mozilla provides add-ons to users via its official add-on website. In 2017, Mozilla enacted major changes to the application programming interface (API) for extensions in Firefox, replacing the long-standing XPCOM-based add-on APIs with the WebExtensions API that is modeled after Google Chrome's API. Thus add-ons that remain compatible with Firefox are now largely compatible with Chrome as well. As of January 2024, there are more than 36,000 add-ons and over 495,000 themes available for Firefox. Add-ons categories Themes Early versions of Firefox supported themes that could greatly change the appearance of the browser, but this was scaled back over time. Current themes are limited to changing the background and text color of toolbars, formerly called ''personas'', now called ''Firefox Themes''. WebExten ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Pale Moon (web Browser)
Pale Moon is a free and open-source web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ... licensed under the MPL2.0, MPL-2.0 with an emphasis on customization. There are official releases for Microsoft Windows, FreeBSD, macOS, and Linux. Pale Moon originated as a fork (software development), fork of Firefox, but has subsequently diverged. The main differences are the user interface, Add-on (Mozilla), add-on support, and running in single-Process (computing), process mode. Pale Moon retains the user interface of Firefox from versions 4 to 28 and supports legacy Firefox add-ons. Its motto is "Your browser, Your way." Features Pale Moon's default user interface is the one that was used by Firefox from versions 4 to 28, known as Strata. It always runs in single process mode ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Browser Extension
A browser extension is a software module for customizing a web browser. Browsers typically allow users to install a variety of extensions, including user interface modifications, cookie management, ad blocking, and the custom scripting and styling of web pages. Browser plug-ins are a different type of module and no longer supported by the major browsers. One difference is that extensions are distributed as source code, while plug-ins are executables (i.e. object code). The most popular browser, Google Chrome, has over 100,000 extensions available but stopped supporting plug-ins in 2020. History Internet Explorer was the first major browser to support extensions, with the release of version 4 in 1997. Firefox has supported extensions since its launch in 2004. Opera and Chrome began supporting extensions in 2009, and Safari did so the following year. Microsoft Edge added extension support in 2016. API conformity In 2015, a community group formed under the W3C to create a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Mozilla
Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institutionally by the Nonprofit organization, non-profit Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation. List of Mozilla products, Mozilla's current products include the Firefox web browser, Mozilla Thunderbird, Thunderbird e-mail client (now through a subsidiary), the Bugzilla bug tracking system, the Gecko (software), Gecko layout engine, and the Pocket (service), Pocket "read-it-later-online" service. History On January 23, 1998, Netscape announced that its Netscape Communicator browser software would be free, and that its source code would also be free. One day later, Jamie Zawinski of Netscape registered . The project took its name, "Mozilla", from the original code name of the Netscape Navigator browser—a por ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Component Object Model
Component Object Model (COM) is a binary-interface technology for software components from Microsoft that enables using objects in a language-neutral way between different programming languages, programming contexts, processes and machines. COM is the basis for other Microsoft domain-specific component technologies including OLE, OLE Automation, ActiveX, COM+, and DCOM as well as implementations such as DirectX, Windows shell, UMDF, Windows Runtime, and Browser Helper Object. COM enables object use with only knowing its interface; not its internal implementation. The component implementer defines interfaces that are separate from the implementation. Support for multiple programming contexts is handled by relying on the object for aspects that would be challenging to implement as a facility. Supporting multiple uses of an object is handled by requiring each object to destroy itself via reference-counting. Access to an object's interfaces (similar to Type conver ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Common Object Request Broker Architecture
The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between systems on different operating systems, programming languages, and computing hardware. CORBA uses an object-oriented model although the systems that use the CORBA do not have to be object-oriented. CORBA is an example of the distributed object paradigm. While briefly popular in the mid to late 1990s, CORBA's complexity, inconsistency, and high licensing costs have relegated it to being a niche technology. Overview CORBA enables communication between software written in different languages and running on different computers. Implementation details from specific operating systems, programming languages, and hardware platforms are all removed from the responsibility of developers who use CORBA. CORBA normalizes the method-call semantics betwee ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Language Binding
In programming and software design, a binding is an application programming interface (API) that provides glue code specifically made to allow a programming language to use a foreign library or operating system service (one that is not native to that language). Characteristics Binding generally refers to a mapping of one thing to another. In the context of software libraries, bindings are wrapper libraries that bridge two programming languages, so that a library written for one language can be used in another language. Many software libraries are written in system programming languages such as C or C++. To use such libraries from another language, usually of higher-level, such as Java, Common Lisp, Scheme, Python, or Lua, a binding to the library must be created in that language, possibly requiring recompiling the language's code, depending on the amount of modification needed. However, most languages offer a foreign function interface, such as Python's and OCaml's cty ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and anticipated web standards. Firefox is available for Windows 10 or later versions of Windows, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems, including FreeBSD, OpenBSD, NetBSD, and other operating systems, such as ReactOS. Firefox is also available for Android and iOS. However, as with all other iOS web browsers, the iOS version uses the WebKit layout engine instead of Gecko due to platform requirements. An optimized version is also available on the Amazon Fire TV as one of the two main browsers available with Amazon's Silk Browser. Firefox is the spiritual successor of Netscape Navigator, as the Mozilla community was created by Netscape in 1998, before its acqui ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Basilisk (web Browser)
Basilisk is a free and open-source web browser available for Windows, Linux, and with experimental support for FreeBSD and macOS. Basilisk is an updated fork of Firefox designed to look and feel similar to versions before the underlying backend was changed in version 57. History Basilisk was first announced in 2017 by the developer behind Pale Moon, M.C. Straver, as a fork of Mozilla Firefox in order to serve as a basis for the Unified XUL Platform, with the developer calling it a "reference application for development of the XUL platform." The Unified XUL Platform is a fork of the backend of Firefox before version 57, which the developer forked because it dropped support for classic Firefox extensions, XUL, and XPCOM. Because of this, it uses the same rendering engine as Pale Moon, Goanna, which is a fork of Firefox's Gecko rendering engine. The browser was later released on December 17, 2018. The browser was able to use WebExtensions and classic Firefox addons, but the s ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]