Firefox Chrome
The core of Firefox does the job of a typical browser that can communicate with servers spilled over in the internet world. What adds more strength is the extensions of Firefox that give more value add. So how do these extensions work? Firefox extensions are nothing but combination of XUL (XML UI Language), CSS (Cascading Style Sheets) and JavaScript that can override the default behavior of Firefox in the form of toolbars, buttons and any UI outside of the main window in Firefox. The default layer that can handle these extensions is called Chrome. Any extension that sits in the chrome folder of the Firefox installation directory modifies or adds new behavior to the Firefox UI and performs additional functions. By default the extensions that you install on Firefox gets installed for your user id on your desktop. For example take the Selenium IDE extension that is used to automate web application tests. If you have installed this extension you can find out where the Selenium chrome is installed, by following the below steps in Windows.
- Right click on the Start button and select Explore. This will open up your windows explorer with your start menu folder under home folder open. In your home folder (c:\documents and settings\) you will find a folder called “Application Data”.
- Under that select Mozilla -> Firefox -> Profiles.
- Right click on that folder and select search. In the search window type “Selenium” and click Search.
- In the results you will find Selenium.jar. Look under the “In folder” column and you will know where the code for Selenium IDE is located. This will be in some random folder number, under the chrome directory.
- Double click on the jar file or open it in WinZip and you can see XUL, CSS and js (JavaScript) files.
Any Firefox extension can be triggered not only by any visible toolbar buttons or menu items but also by a special URL syntax that starts with chrome://. The Selenium IDE invoked from Firefox has a button that says “Play with Selenium TestRunner”. When you click on that button, the test runner is opened up in the Firefox browser instance. Look at the URL that gets loaded. You must be seeing an URL that is prefixed with chrome://. And Chrome itself is like an extension and does lot of built in capabilities of Firefox. And these can be invoked with the Chrome URL’s. “Firefox Chrome URL’s” lists all implicit XUL’s of Firefox and how they can be invoked through Chrome.










