Firefox Add-Ons
Upcoming SlideShare
Loading in...5
×
 

Firefox Add-Ons

on

  • 2,193 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,193
Views on SlideShare
2,189
Embed Views
4

Actions

Likes
0
Downloads
16
Comments
0

2 Embeds 4

http://www.slideshare.net 3
https://tasks.crowdflower.com 1

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