Difference between revisions of "CSS Checker JetPack Extension"
Knovichikhi (talk | contribs) (→Project Details) |
Knovichikhi (talk | contribs) (→How to Launch Add-on) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 35: | Line 35: | ||
* [[User:David.humphrey|Dave Humphrey]] | * [[User:David.humphrey|Dave Humphrey]] | ||
+ | |||
+ | == How to Launch Add-on == | ||
+ | # Get [https://jetpack.mozillalabs.com/ Add-on SDK] | ||
+ | # Get [https://github.com/manoutoftime/cssChecker/ the code] | ||
+ | # Put the code under <code>jetpack_folder/packages/</code> | ||
+ | # Execute <code>cfx run -b /path/to/minefield/firefox.exe</code> under <code>jetpack_folder/packages/css-checker/</code> folder | ||
+ | # Try it out with on the examples in <code>css-checker/example/</code> folder | ||
== Project Details == | == Project Details == | ||
Line 70: | Line 77: | ||
* [https://github.com/manoutoftime/cssChecker/blob/master/data/panel.js panel.js] - a script that modifies and sends status information to the add-on. | * [https://github.com/manoutoftime/cssChecker/blob/master/data/panel.js panel.js] - a script that modifies and sends status information to the add-on. | ||
+ | |||
+ | '''UI Component''' | ||
+ | * [https://github.com/manoutoftime/cssChecker/blob/master/data/panel.html panel.html] - UI elements that is displayed on widget click. | ||
+ | |||
+ | == Releases == | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | ! Release !! Notes !! Status | ||
+ | |- | ||
+ | | 0.1 || rewritten as of 0.3 || Done | ||
+ | |- | ||
+ | | 0.2 || rewritten as of 0.3 || Done | ||
+ | |- | ||
+ | | 0.3 || Added UI, Page-mods, content scripts, XMLHttpRequest. Removed: a lot of useless code. || Done | ||
+ | |- | ||
+ | | 0.4 || Write tests for funcs.parseCss and funcs.cssToXPath. Fix bugs if any come up. Release add-on on AMO. || In progress | ||
+ | |} | ||
== Project News == | == Project News == |
Latest revision as of 12:31, 16 December 2010
Contents
Project Name
CSS Checker Add-on SDK Extension 0.3
Project Description
CSS as a standard evolves more slowly than browser vendor implementations, and as such, browser extensions are created. For example: -moz-box-shadow (Mozilla only), -webkit-box-shadow (Chrome/Safari), box-shadow (CSS standard). This extension will allow the user to tell when a a -webkit-* extension is being used for which there is also a -moz-* version. This will help with finding compatibility issues on websites that appear to work in one browser and not another.
Resources
- Vendor Specific Extensions:
- JetPack SDK
- https://jetpack.mozillalabs.com/
- IRC in #jetpack on irc.mozilla.org
- Gecko Layout Engine
- Mozilla CSS Extensions
- WebKit Layout Engine
- Webkit CSS Extensions
Project Leader(s)
Project Contributor(s)
How to Launch Add-on
- Get Add-on SDK
- Get the code
- Put the code under
jetpack_folder/packages/
- Execute
cfx run -b /path/to/minefield/firefox.exe
underjetpack_folder/packages/css-checker/
folder - Try it out with on the examples in
css-checker/example/
folder
Project Details
Add-on SDK Code
- main.js - executed upon launch; connects UI, pagemods and utility functions together.
- Populates UI
- Attaches pagemod.js to loading web pages
- Downloads external files
- funcs.js - a library with utility functions.
-
parseCSS(css)
- parses CSS
- Arguments: CSS Style Sheet in String format
- Returns: Array of Objects with selector, property and value properties
-
cssToXPath(rule)
- converts CSS Selector to XPath
- Arguments: CSS Selector in String format
- Returns: CSS Selector in XPath format
- Note: stolen from Firebug project
-
- ui.js - a library that deals with User Interface.
-
populateUI()
- populates widget
- Arguments: None
- Returns: None
- Dependencies: panel.html, panel.js
-
getStatus()
- returns status of whether or not to modify web pages
- Arguments: None
- Returns: status, possible values: "Enabled", "Disabled".
-
Content Scripts
- pagemod.js - a script that is attached to all loading webpages.
- Sends CSS either as clear text or as a link to the add-on.
- Receives a list of styles to be applied and XPath to apply styles to.
- panel.js - a script that modifies and sends status information to the add-on.
UI Component
- panel.html - UI elements that is displayed on widget click.
Releases
Release | Notes | Status |
---|---|---|
0.1 | rewritten as of 0.3 | Done |
0.2 | rewritten as of 0.3 | Done |
0.3 | Added UI, Page-mods, content scripts, XMLHttpRequest. Removed: a lot of useless code. | Done |
0.4 | Write tests for funcs.parseCss and funcs.cssToXPath. Fix bugs if any come up. Release add-on on AMO. | In progress |