mozilla

Comparar revisiones

Actualizar extensiones para Firefox 3

Change Revisions

Revisión 143152:

Revisión 143152 de Rumont el

Revisión 143153:

Revisión 143153 de Dfier el

Título:
Actualizar extensiones para Firefox 3
Actualizar extensiones para Firefox 3
Enlace amigable (slug):
Actualizar_extensiones_para_Firefox_3
Actualizar_extensiones_para_Firefox_3
Etiquetas:
"Firefox 3"
"Firefox 3"
Contenido:

Revisión 143152
Revisión 143153
n13    <h3 name="Paso_1:_Actualiza_el_manifiesto_de_instalaci.C3.B3nn13    <h3 name="1er_paso:_Actualiza_el_manifiesto_de_instalaci.C3.B
>">>3n">
14      Paso 1: Actualiza el manifiesto de instalación14      1er paso: Actualiza el manifiesto de instalación
15    </h3>
16    <p>15    </h3>
17      El primer paso -- Y para la mayoría de las extensiones, el 16    <p>
>único que se necesitará -- es de actualizar el documento <a class 
>="external" href="http://developer.mozilla.org/es/docs/Instalar_e 
>l_manifest">manifiesto de instalación</a> <code>install.rdf</code 
>> , para indicar la compatibilidad con Firefox 3. 
17      El primer paso -- y para la mayoría de las extensiones, el 
 >único que se necesitará -- es de actualizar el fichero <a href="e
 >s/Manifiestos_de_instalaci%c3%b3n">manifiesto de instalación</a>,
 ><tt>install.rdf</tt>, para indicar la compatibilidad con Firefox 
 >3.
n46    <h3 name="A.C3.B1ade_descripciones_al_install_manifest">n46    <h4 name="A.C3.B1ade_descripciones_al_install_manifest">
n48    </h3>n48    </h4>
n52    <h3 name="Paso_2:_Aseg.C3.BArese_de_proveer_actualizaciones_sn52    <h3 name="2do_paso:_Aseg.C3.BArese_de_proveer_actualizaciones
>eguras">>_seguras">
53      Paso 2: Asegúrese de proveer actualizaciones seguras53      2do paso: Asegúrese de proveer actualizaciones seguras
n58    <h3 name="Paso_3:_Resolviendo_problemas_con_APIs_cambiados">n58    <h3 name="3er_paso:_Resolviendo_problemas_con_APIs_cambiados"
 >>
59      Paso 3: Resolviendo problemas con APIs cambiados59      3er paso: Resolviendo problemas con APIs cambiados
n64    <h3 name="DOM">n64    <h4 name="DOM">
n66    </h3>n66    </h4>
67    <h3 name="Historial_&amp;_Favoritos">67    <h4 name="Enlaces_e_Historia">
68      Historial &amp; Favoritos68      Enlaces e Historia
69    </h3>69    </h4>
n73    <h3 name="Ayudante_de_descargas">n73    <h4 name="Control_de_descargas">
74      Ayudante de descargas74      Control de descargas
75    </h3>75    </h4>
n79    <h3 name="Manejador_de_contrase.C3.B1a">n79    <h4 name="Control_de_contrase.C3.B1a">
80      Manejador de contraseña80      Control de contraseña
81    </h3>81    </h4>
tt85    <p>
86      ...
87    </p>
88    <h4 name="Popups_.28Menus.2C_Context_Menus.2C_Tooltips_and_Pa
 >nels.29">
89      Popups (Menus, Context Menus, Tooltips and Panels)
90    </h4>
91    <p>
92      The XUL Popup system was heavily modified in Firefox 3. The
 > Popup system includes main menus, context menus and popup panels
 >. A guide to <a href="es/XUL/PopupGuide">using Popups</a> has bee
 >n created, detailing how the system works. One thing to note is t
 >hat <code>popup.{{template.XULMeth("showPopup")}}</code> has been
 > deprecated in favor of new <code>popup.{{template.XULMeth("openP
 >opup")}}</code> and <code>popup.{{template.XULMeth("openPopupAtSc
 >reen")}}</code>.
93    </p>
94    <h4 name="Llenado_autom.C3.A1tico">
95      Llenado automático
96    </h4>
97    <p>
98      The {{template.Interface("nsIAutoCompleteController")}} int
 >erface's <code><a href="es/NsIAutoCompleteController#handleEnter.
 >28.29">handleEnter()</a></code> method has been changed to accept
 > an argument that indicates whether the text was selected from th
 >e autocomplete popup or by the user pressing enter after typing t
 >ext.
99    </p>
100    <h4 name="DOMParser">
101      DOMParser
102    </h4>
103    <ul>
104      <li>When a <code>DOMParser</code> is instantiated, it inher
 >its the calling code's principal and the <code>documentURI</code>
 > and <code>baseURI</code> of the window the constructor came from
 >.
105      </li>
106      <li>If the caller has UniversalXPConnect privileges, it can
 > pass parameters to <code>new DOMParser()</code>. If fewer than t
 >hree parameters are passed, the remaining parameters will default
 > to <code>null</code>.
107        <ul>
108          <li>The first parameter is the principal to use; this o
 >verrides the default principal normally inherited.
109          </li>
110          <li>The second parameter is the <code>documentURI</code
 >> to use.
111          </li>
112          <li>The third parameter is the <code>baseURI</code> to 
 >use.
113          </li>
114        </ul>
115      </li>
116      <li>If you initialize a <code>DOMParser</code> using a cont
 >ract, such as by calling <code>createInstance()</code>, and you d
 >on't call the <code>DOMParser</code>'s <code>init()</code> method
 >, attempting to initiate a parsing operation will automatically c
 >reate and initialize the <code>DOMParser</code> with a null princ
 >ipal and <code>null</code> pointers for <code>documentURI</code> 
 >and <code>baseURI</code>.
117      </li>
118    </ul>
119    <h4 name="Interfaces_removidas">
120      Interfaces removidas
121    </h4>
122    <p>
123      The following interfaces were removed from Gecko 1.9, which
 > drives Firefox 3. If your extension makes use of any of these, y
 >ou'll need to update your code:
124    </p>
125    <ul>
126      <li>
127        <code>nsIDOMPaintListener</code>
128      </li>
129      <li>
130        <code>nsIDOMScrollListener</code>
131      </li>
132      <li>
133        <code>nsIDOMMutationListener</code>
134      </li>
135      <li>
136        <code>nsIDOMPageTransitionListener</code>
137      </li>
138      <li>
139        <code>nsICloseAllWindows</code> (see {{template.Bug(38620
 >0)}})
140      </li>
141    </ul>
142    <h3 name="4to_paso:_Buscar_cambios_importantes_a_chrome">
143      4to paso: Buscar cambios importantes a chrome
144    </h3>
145    <p>
146      There has been a minor change to the chrome that may requir
 >e changes in your code. A new <code>vbox</code> has been added, c
 >alled "browser-bottombox", which encloses the find bar and status
 > bar at the bottom of the browser window. Although this doesn't a
 >ffect the appearance of the display, it may affect your extension
 > if it overlays chrome relative to these elements.
147    </p>
148    <p>
149      For example, if you previously overlaid some chrome before 
 >the status bar, like this:
150    </p>
151    <pre>
152&lt;window id="main-window"&gt;
153  &lt;something insertbefore="status-bar" /&gt;
154&lt;/window&gt;
155</pre>
156    <p>
157      You should now overlay it like this:
158    </p>
159    <pre>
160&lt;vbox id="browser-bottombox"&gt;
161  &lt;something insertbefore="status-bar" /&gt;
162&lt;/vbox&gt;
163</pre>
164    <p>
165      Or use the following technique to make your overlay work on
 > both Firefox 2 and Firefox 3:
166    </p>
167    <pre>
168&lt;window id="main-window"&gt;
169  &lt;vbox id="browser-bottombox" insertbefore="status-bar"&gt;
170    &lt;something insertbefore="status-bar" /&gt;
171  &lt;vbox&gt;
172&lt;/window&gt;
173</pre>
174    <p>
175      {{template.Note("This change is effective for Firefox 3 bet
 >a 4 and the pre-beta 4 nightlies.")}}
176    </p>
177    <h4 name="Otros_cambios">
178      Otros cambios
179    </h4>
180    <p>
181      <i>Add simple changes you had to make while updating your e
 >xtension to work with Firefox 3 here.</i>
182    </p>
183    <ul>
184      <li>
185        <tt>chrome://browser/base/utilityOverlay.js</tt> is no lo
 >nger supported for security reasons. If you were previously using
 > this, you should switch to <tt>chrome://browser/content/utilityO
 >verlay.js</tt>.
186      </li>
187      <li>{{template.Interface("nsIAboutModule")}} implementation
 >s are now required to support the <code>getURIFlags</code> method
 >. See {{template.Source("netwerk/protocol/about/public/nsIAboutMo
 >dule.idl", "nsIAboutModule.idl")}} for documentation. This affect
 >s extensions that provide new <tt>about:</tt> URIs. ({{template.B
 >ug(337746)}})
188      </li>
189      <li>The {{template.XULElem("tabbrowser")}} element is no lo
 >nger part of "toolkit" ({{template.Bug(339964)}}). This means thi
 >s element is no longer available to XUL applications and extensio
 >ns. It continues to be used in the main Firefox window (browser.x
 >ul).
190      </li>
191      <li>Changes to <a href="es/NsISupports_proxies">nsISupports
 > proxies</a> <a class="external" href="http://groups.google.com/g
 >roup/mozilla.dev.platform/browse_thread/thread/78236a4b312a2de4/9
 >39240fc3f5123a8?lnk=st&amp;rnum=1#939240fc3f5123a8">and possibly 
 >to threading-related interfaces need to be documented.</a>
192      </li>
193      <li>
194        <a class="external" href="http://groups.google.com/group/
 >mozilla.dev.platform/browse_thread/thread/78236a4b312a2de4/939240
 >fc3f5123a8?lnk=st&amp;rnum=1#939240fc3f5123a8">If you use XML pro
 >cessing instructions, such as <code>&lt;?xml-stylesheet&nbsp;?&gt
 >;</code> in your XUL files, be aware of the changes made in {{tem
 >plate.Bug(319654)}}:</a>
195        <ol>
196          <li>XML PIs are now added to a XUL document's DOM. This
 > means {{template.Domxref("document.firstChild")}} is no longer g
 >uaranteed to be the root element. If you need to get the root doc
 >ument in your script, use {{template.Domxref("document.documentEl
 >ement")}} instead.
197          </li>
198          <li>
199            <code>&lt;?xml-stylesheet&nbsp;?&gt;</code> and <code
 >>&lt;?xul-overlay&nbsp;?&gt;</code> processing instructions now h
 >ave no effect outside the document prolog.
200          </li>
201        </ol>
202      </li>
203      <li>
204        <a class="external" href="http://groups.google.com/group/
 >mozilla.dev.platform/browse_thread/thread/78236a4b312a2de4/939240
 >fc3f5123a8?lnk=st&amp;rnum=1#939240fc3f5123a8"><code>window.addEv
 >entListener("load", myFunc, true)</code> is not fired when loadin
 >g web content (browser page loads). This is due to {{template.Bug
 >(296639)}} which changes the way inner and outer windows communic
 >ate. The simple fix here is to use <code>gBrowser.addEventListene
 >r("load", myFunc, true)</code> as described</a> <a href="es/Code_
 >snippets/Tabbed_browser#Detecting_page_load">here</a> and works i
 >n Firefox 2 as well.
205      </li>
206      <li>
207        <code>content.window.getSelection()</code> gives an objec
 >t (which can be converted to a string by <code>toString()</code>)
 >, unlike the now deprecated <code>content.document.getSelection()
 ></code> which returns a string
208      </li>
209      <li>
210        <code>event.preventBubble()</code> was deprecated in Fire
 >fox 2 and has been removed in Firefox 3. Use <a href="es/DOM/even
 >t.stopPropagation"><code>event.stopPropagation()</code></a>, whic
 >h works in Firefox 2 as well.
211      </li>
212      <li>Timers that are initiated using <code>setTimeout()</cod
 >e> are now blocked by modal windows due to the fix made for {{tem
 >plate.Bug(52209)}}. You may use <code>nsITimer</code> instead.
213      </li>
214      <li>If your extension needs to allow an untrusted source (e
 >.g., a web site) to access the extension's chrome, then you must 
 >use the new <a href="es/Chrome_Registration#contentaccessible"><c
 >ode>contentaccessible</code> flag</a>.
215      </li>
216    </ul>

Volver al historial