• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Firefox Add-Ons
 

Firefox Add-Ons

on

  • 2,142 views

These are the slides for my fine minute overview of Firefox add-ons.

These are the slides for my fine minute overview of Firefox add-ons.

Statistics

Views

Total Views
2,142
Views on SlideShare
2,139
Embed Views
3

Actions

Likes
0
Downloads
16
Comments
0

1 Embed 3

http://www.slideshare.net 3

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Firefox Add-Ons Firefox Add-Ons Presentation Transcript

    • 4 Types of Add-Ons Themes
    • 4 Types of Add-Ons Themes Stylesheets
    • 4 Types of Add-Ons Themes Stylesheets Images
    • 4 Types of Add-Ons Themes Stylesheets Images Locales
    • 4 Types of Add-Ons Themes Stylesheets Images Locales Translated strings
    • 4 Types of Add-Ons Themes Stylesheets Images Locales Translated strings Plug-ins
    • 4 Types of Add-Ons Themes Stylesheets Images Locales Translated strings Plug-ins Native code
    • 4 Types of Add-Ons Themes Stylesheets Images Locales Translated strings Plug-ins Native code Extensions
    • 4 Types of Add-Ons Themes Stylesheets Images Locales Translated strings Plug-ins Native code Extensions New or modified UI Elements
    • 4 Types of Add-Ons Themes Stylesheets Images Locales Translated strings Plug-ins Native code Extensions New or modified UI Elements New or modified behaviors
    • Add-ons Consist Of... ZIP file
    • Add-ons Consist Of... ZIP file with .xpi extension
    • install.rdf Identifier
    • install.rdf Identifier <em:id>e4a8a97b-f2ed-450b-b12d-ee082ba24781</em:id>
    • install.rdf Identifier <em:id>e4a8a97b-f2ed-450b-b12d-ee082ba24781</em:id> <em:id>zotero@chnm.gmu.edu</em:id>
    • install.rdf Identifier <em:id>e4a8a97b-f2ed-450b-b12d-ee082ba24781</em:id> <em:id>zotero@chnm.gmu.edu</em:id> Products can be installed in
    • install.rdf Identifier <em:id>e4a8a97b-f2ed-450b-b12d-ee082ba24781</em:id> <em:id>zotero@chnm.gmu.edu</em:id> Products can be installed in <em:targetApplication><Description><em:id>...
    • install.rdf Identifier <em:id>e4a8a97b-f2ed-450b-b12d-ee082ba24781</em:id> <em:id>zotero@chnm.gmu.edu</em:id> Products can be installed in <em:targetApplication><Description><em:id>... Min and Max Versions
    • install.rdf Identifier <em:id>e4a8a97b-f2ed-450b-b12d-ee082ba24781</em:id> <em:id>zotero@chnm.gmu.edu</em:id> Products can be installed in <em:targetApplication><Description><em:id>... Min and Max Versions <em:minVersion>2.0</em:minVersion> <em:maxVersion>2.0.*</em:maxVersion>
    • install.rdf Identifier <em:id>e4a8a97b-f2ed-450b-b12d-ee082ba24781</em:id> <em:id>zotero@chnm.gmu.edu</em:id> Products can be installed in <em:targetApplication><Description><em:id>... Min and Max Versions <em:minVersion>2.0</em:minVersion> <em:maxVersion>2.0.*</em:maxVersion> Type
    • install.rdf Identifier <em:id>e4a8a97b-f2ed-450b-b12d-ee082ba24781</em:id> <em:id>zotero@chnm.gmu.edu</em:id> Products can be installed in <em:targetApplication><Description><em:id>... Min and Max Versions <em:minVersion>2.0</em:minVersion> <em:maxVersion>2.0.*</em:maxVersion> Type Other metadata
    • chrome.manifest Paths
    • chrome.manifest Paths chrome/content
    • chrome.manifest Paths chrome/content To chrome URLs
    • chrome.manifest Paths chrome/content To chrome URLs chrome:///superduper/content
    • Three Types of Chrome Content
    • Three Types of Chrome Content .xul
    • Three Types of Chrome Content .xul .js
    • Three Types of Chrome Content .xul .js Skin
    • Three Types of Chrome Content .xul .js Skin .css
    • Three Types of Chrome Content .xul .js Skin .css .png
    • Three Types of Chrome Content .xul .js Skin .css .png Locale
    • Three Types of Chrome Content .xul .js Skin .css .png Locale .properties
    • Three Types of Chrome Content .xul .js Skin .css .png Locale .properties .dtd
    • For Skin... chrome.manifest can have multiple entries
    • For Skin... chrome.manifest can have multiple entries skin superduper default chrome/skin/default/
    • For Skin... chrome.manifest can have multiple entries skin superduper default chrome/skin/default/ skin superduper somepretty chrome/skin/somepretty/
    • For Skin... chrome.manifest can have multiple entries skin superduper default chrome/skin/default/ skin superduper somepretty chrome/skin/somepretty/ maps one to...
    • For Skin... chrome.manifest can have multiple entries skin superduper default chrome/skin/default/ skin superduper somepretty chrome/skin/somepretty/ maps one to... chrome://superduper/theme
    • For Locale... chrome.manifest can have multiple entries
    • For Locale... chrome.manifest can have multiple entries locale superduper en-US chrome/locale/en-US/
    • For Locale... chrome.manifest can have multiple entries locale superduper en-US chrome/locale/en-US/ locale superduper en-UK chrome/locale/en-UK/
    • For Locale... chrome.manifest can have multiple entries locale superduper en-US chrome/locale/en-US/ locale superduper en-UK chrome/locale/en-UK/ maps one to...
    • For Locale... chrome.manifest can have multiple entries locale superduper en-US chrome/locale/en-US/ locale superduper en-UK chrome/locale/en-UK/ maps one to... chrome://superduper/locale
    • .properties and .dtd Both are key-value
    • .properties and .dtd Both are key-value .properties
    • .properties and .dtd Both are key-value .properties greetz.0=Huzzah!
    • .properties and .dtd Both are key-value .properties greetz.0=Huzzah! used by JS
    • .properties and .dtd Both are key-value .properties greetz.0=Huzzah! used by JS bundle.getString("greetz")
    • .properties and .dtd Both are key-value .properties greetz.0=Huzzah! used by JS bundle.getString("greetz") .dtd
    • .properties and .dtd Both are key-value .properties greetz.0=Huzzah! used by JS bundle.getString("greetz") .dtd <!ENTITY manage.label.grpIncluded "Included Pages">
    • .properties and .dtd Both are key-value .properties greetz.0=Huzzah! used by JS bundle.getString("greetz") .dtd <!ENTITY manage.label.grpIncluded "Included Pages"> used by XML-things (HTML, XUL, etc.)
    • .properties and .dtd Both are key-value .properties greetz.0=Huzzah! used by JS bundle.getString("greetz") .dtd <!ENTITY manage.label.grpIncluded "Included Pages"> used by XML-things (HTML, XUL, etc.) &manage.label.grpIncluded;
    • XUL XML for UIs
    • XUL XML for UIs <hbox><button label="push me" /></hbox>
    • 3 Types of XUL Documents Window
    • 3 Types of XUL Documents Window Dialog
    • 3 Types of XUL Documents Window Dialog Overlay
    • Overlays Use id Attribute
    • Overlays Use id Attribute <window>...<menu id="foo"><menuitem label="Hey" />
    • Overlays Use id Attribute <window>...<menu id="foo"><menuitem label="Hey" /> <overlay>...<menu id="foo"><menuitem label="whoa" />
    • Overlays Use id Attribute <window>...<menu id="foo"><menuitem label="Hey" /> <overlay>...<menu id="foo"><menuitem label="whoa" /> <window>...<menu id="foo"><menuitem label="Hey" /><menuitem label="whoa" />
    • What to Overlay? chrome.manifest maps
    • What to Overlay? chrome.manifest maps overlay chrome://browser/content/browser.xul chrome://superduper/content/browser.xul
    • XPCOM Inter-language
    • XPCOM Inter-language C++
    • XPCOM Inter-language C++ JS
    • XPCOM Inter-language C++ JS Python
    • XPCOM Inter-language C++ JS Python Cross-Platform
    • XPCOM Inter-language C++ JS Python Cross-Platform Windows 9x to 7
    • XPCOM Inter-language C++ JS Python Cross-Platform Windows 9x to 7 OS 10.0 to 10.6
    • XPCOM Inter-language C++ JS Python Cross-Platform Windows 9x to 7 OS 10.0 to 10.6 Linux, etc.
    • XPCOM Inter-language C++ JS Python Cross-Platform Windows 9x to 7 OS 10.0 to 10.6 Linux, etc. Object and Exception System
    • Components.classes Classes
    • Components.classes Classes @mozilla.org/process/util;1
    • Components.classes Classes @mozilla.org/process/util;1 .createInstance(interf)
    • Components.classes Classes @mozilla.org/process/util;1 .createInstance(interf) Services
    • Components.classes Classes @mozilla.org/process/util;1 .createInstance(interf) Services @mozilla.org/network/io-service;1
    • Components.classes Classes @mozilla.org/process/util;1 .createInstance(interf) Services @mozilla.org/network/io-service;1 .getService()
    • Components.interfaces Interface definitions
    • Components.interfaces Interface definitions attributes
    • Components.interfaces Interface definitions attributes methods
    • Components.interfaces Interface definitions attributes methods nsIFile
    • Components.interfaces Interface definitions attributes methods nsIFile leafName
    • Components.interfaces Interface definitions attributes methods nsIFile leafName isDirectory()
    • Where to Start? Inspect
    • Where to Start? Inspect DOM Inspector
    • Where to Start? Inspect DOM Inspector Chromebug
    • Where to Start? Inspect DOM Inspector Chromebug Chrome List
    • Where to Start? Inspect DOM Inspector Chromebug Chrome List XPCOM Viewer
    • Where to Start? Inspect DOM Inspector Chromebug Chrome List XPCOM Viewer Read Code
    • Where to Start? Inspect DOM Inspector Chromebug Chrome List XPCOM Viewer Read Code MXR