Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 1123027 of Porting a legacy Firefox add-on

  • Revision slug: Mozilla/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on
  • Revision title: Porting a legacy Firefox add-on
  • Revision id: 1123027
  • Created:
  • Creator: wbamberg
  • Is current revision? Yes
  • Comment

Revision Content

If you have a Firefox add-on developed using a legacy technology, such as XUL/XPCOM or the Add-on SDK, here's a very quick guide to updating.

  1. Get an idea of the main things you'll have to change in your add-on:
  2. Rewrite your add-on's code. You can get find more resources and support in the Mozilla wiki. From Firefox 51 onwards, you can embed a WebExtension in a bootstrapped extension or an SDK add-on, and can thus port a legacy add-on a piece at a time, and have a working add-on at each step. See Embedded WebExtensions.
  3. When you're ready to update your old add-on, submit the new add-on to AMO as an update to the old one. That is, you can switch a legacy add-on to use WebExtensions, and keep the same add-on ID.

Note that this is a one-way conversion: you cannot update a WebExtension to use a legacy technology. This means that you must be sure that you are ready to commit to WebExtensions before you submit the updated add-on to AMO.

Revision Source

<p>If you have a Firefox add-on developed using a legacy technology, such as XUL/XPCOM or the Add-on SDK, here's a very quick guide to updating.</p>

<ol>
 <li>Get an idea of the main things you'll have to change in your add-on:
  <ul>
   <li>If your add-on is based on XUL and XPCOM, whether it's an <a href="https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions">overlay extension</a> or a <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Bootstrapped_extensions">bootstrapped extension</a>, see <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/Comparison_with_XUL_XPCOM_extensions">Comparison with XUL/XPCOM extensions</a>.</li>
   <li>If your add-on is based on the Add-on SDK, see <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK">Comparison with the Add-on SDK</a>.</li>
  </ul>
 </li>
 <li>Rewrite your add-on's code. You can get find more resources and support in the <a href="https://wiki.mozilla.org/Add-ons/developer/communication">Mozilla wiki</a>. From Firefox 51 onwards, you can embed a WebExtension in a bootstrapped extension or an SDK add-on, and can thus port a legacy add-on a piece at a time, and have a working add-on at each step. See <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/Embedded_WebExtensions">Embedded WebExtensions</a>.</li>
 <li>When you're ready to update your old add-on, submit the new add-on to AMO as an update to the old one. That is, you can switch a legacy add-on to use WebExtensions, and keep the same add-on ID.</li>
</ol>

<div class="note">
<p>Note that this is a one-way conversion: you <strong>cannot</strong> update a WebExtension to use a legacy technology. This means that you must be sure that you are ready to commit to WebExtensions before you submit the updated add-on to AMO.</p>
</div>
Revert to this revision