-
Notifications
You must be signed in to change notification settings - Fork 113
Home
Activity Stream is a Firefox add-on implemented using the Addon SDK to replace the about:newtab page in Firefox.
The Activity Stream content process(es) are implemented using JavaScript and the React UI Framework, and is therefore very similar to a 'normal' JS based web application. Firefox Electrolysis may create multiple content processes for any given session so that separate Firefox newtab pages running Activity Stream may be in separate processes.
The Activity Stream content processes uses message passing to communicate with Activity Stream's add-on process.
The Activity Stream add-on process is responsible for interfacing with underlying Firefox data and sub-systems, as well as providing the core functionality of the add-on. It contains several sub-systems. The PlacesProvider queries the Places Database in order to fetch and format user's history and bookmarks. The PreviewProvider processes web sites the user visits to gather and store site summary data. The SearchProvider interfaces to Firefox search sub-systems to support the Search interface. The Recommender implements an algorithm to surface the most relevant 'highlights' of your history and bookmarks.
To facilitate sharing state across open tabs within the browser, the Activity Stream add-on uses a Page Worker mechanism to perform various (possibly expensive) tasks which store results in local storage. This allows multiple open tabs to share the same Activity Stream resources and gives a single point of update.