Labs/Jetpack/FlightDeck/Development Docs/AddonBuilderHelperIntegration: Difference between revisions

From MozillaWiki
< Labs‎ | Jetpack‎ | FlightDeck
Jump to navigation Jump to search
Line 20: Line 20:
     FD->displayWarning
     FD->displayWarning
     // listen for the event
     // listen for the event
     $(document.body).addEvent('addonbuilderhelperstart', FD->installAddOn);
     $(document.body).addEvent('addonbuilderhelperstart', function() {
      FD->displayNotification
      FD->installAddOn
    });
     // stop listening after some time
     // stop listening after some time
     (function() {
     (function() {

Revision as of 14:09, 11 August 2010

Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

FD needs to talk to Add-on Builder Helper extension. It uses its API to

  1. install add-on
  2. uninstall add-on
  3. check if Helper is installed
  4. listen to document.body.addonbuilderhelperstart

Installing Add-ons

If the Helper is installed hitting Test should simply install add-on

 if (window.mozFlightDeck) {
   FD->createAndDownloadXPI // using currently displayed content
   window.mozFlightDeck.send({cmd:"install",contents: downloadedXPI})
 }

Else display the warning with ability to install the Helper. Listen for the event fired after its installation and try to install add-on again. The listening for the event should be cancelled after some time or after certain action.

 if (!window.mozFlightDeck) {
   FD->displayWarning
   // listen for the event
   $(document.body).addEvent('addonbuilderhelperstart', function() {
     FD->displayNotification
     FD->installAddOn
   });
   // stop listening after some time
   (function() {
     $(document.body).removeEvents('addonbuilderhelperstart');
    }).delay(someTime);
 }