dpen2000 edited this page Apr 29, 2015 · 30 revisions

#PolyBrowser Wiki Welcome to the PolyBrowser Open-Source Repository.
Let's re-imagine web browsing, together.

Code Overview

PolyBrowser is compiled as a completely stand-alone browser. However, it is architected in the same manner as an extension of Mozilla Firefox, and is overlayed on a custom-branded version of Firefox. So to summarize, PolyBrowser comprises two layers:

Layer 1)
A compiled version of Firefox with all branding changed to PolyBrowser

Layer 2)
A set of extensions that modifies the compiled browser to create the PolyBrowser experience (Placed in a folder within the browser directory called /distribution/bundles/)

Why is set up in this way? This allows the code base of Firefox and PolyBrowser to remain loosely coupled and independent of each other. The benefit of this setup is that as the Firefox code evolves over time, PolyBrowser doesn't need to be constantly rebuilt with each version.

The architecture of Layer 1 vs. Layer 2
Most of PolyBrowser exists on Layer 2 in the PolyBrowser extension, which is literally a layer that covers that background Firefox-clone browser (Layer 1). PolyBrowser's tabs, browser views and scrollable browser container are custom-created components that exist on Layer 2 and typically, everything happens there. However, websites are sometimes loaded into Layer 1 (such as when clicking on a hyperlink from another application). In this case, the website from Layer 1 is trapped, and loaded into Layer 2 instead. See Source Code File Contents for more details.

##Getting Started The easiest way to get started with PolyBrowser is:
Step 1 Download and install PolyBrowser from PolyBrowser.com

Step 2 Open the /PolyBrowser/ folder that was installed and look for the folder /distribution/bundles/ (Note: It's located in /resources/ on the OSX version) You will see two folders:

  • The folder called /{a0108b30-8567-11e1-b0c4-0800200c9a66}/ contains PolyBrowser's main code
  • The folder called /superstart/ contains the code for PolyBrowser's New Tab page

Step 3 Download the source code from this repository (https://github.com/PolySuite/PolyBrowser/) and replace the contents of /{a0108b30-8567-11e1-b0c4-0800200c9a66}/ with it

That's it! You now have the latest PolyBrowser code, and can start playing around and modifying.

  • Hint: After making changes to the code, hold down the Shift key (or Option on OSX) to launch in Safe Mode. This clears the cache and ensures that you've loaded the latest code.

##Learning to Code PolyBrowser PolyBrowser is built using Firefox's extension technology. To learn more about how this works, refer to this guide on Developing Extensions for Firefox

  • Note: PolyBrowser uses XUL overlays, which Mozilla refers to as a "Legacy" type extension.

For PolyBrowser-sepecific code, see the rest of the pages in this wiki.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.