mozilla
Los resultados de tu búsqueda

    Firefox 4 para desarrolladores

    Borrador
    Esta página no está completa.

    Firefox 4, que entró en beta a fines de junio del 2010, mejora el rendimiento, agrega una mayor compatibilidad para HTML5 y otras tecnologías Web en desarrollo, y otras mejoras en la seguridad. Este artículo provee información inicial sobre esta futura versión y qué características estarán disponibles para los desarrolladores Web, desarrolladores de extensiones y desarrolladores sobre la plataforma Gecko.

    Muchas de estas funcionalidades pueden ser probadas actualmente en las versiones de Firefox 4 beta o, si tienes espíritu aventurero, en las versiones nocturnas.

    Nota: Este artículo está en proceso, así como todos los artículos enlazados desde esta página. Algunos nombres de artículos son marcadores de posición y algunos temas podrán dividirse en muchos artículos. En general, ten cuidado a la hora de enlazar a esos artículos, al menos de momento.

    Funcionalidades para desarrolladores web

    Gecko usa ahora un parseador o analizador HTML5, que arregla algunos problemas, mejora la interoperabilidad y el rendimiento. También permite incrustar contenido en SVG y MathML directamente en el marcado HTML.

    HTML

    Conoce el analizador de HTML5
    Una mirada a lo que significa para ti el analizador HTML5 y cómo incrustar SVG y MathML dentro de tu contenido.
    Formularios en HTML5
    Una mirada a las mejoras en los formularios web en HTML5. Entre los cambios se encuentran los tipos de entrada agregados en el elemento <input> , validación de datos y muchos más.
    Secciones y esquema de un documento HTML5
    Gecko ya admite los nuevos elementos de HTML5 relacionados a secciones en un documento: <article>, <section>, <nav>, <aside>, <hgroup>, <header> y <footer>.
    Atributo hidden de HTML5
    Este atributo, común a todos los elementos, se utiliza para ocultar contenido de una página web que no es relevante actualmente para el usuario.
    Otros elementos de HTML5
    Gecko ya admite el uso de los siguientes nuevos elementos en HTML5: <mark>, <figure><figcaption>.
    WebSockets
    Una guía para usar la nueva API de WebSockets para comunicación en tiempo real entre una aplicación web y un servidor.

    Diversos cambios en HTML

    • Los elementos <textarea> ahora son de tamaño variable por defecto; puedes usar la propiedad CSS resize para desabilitarlos.
    • canvas.getContext y canvas.toDataURL no lanzan una excepción cuando se invocan con argumentos no reconocidos.
    • El elemento <canvas> ya admite el método específico de Mozilla mozGetAsFile(), que te permite obtener un archivo basado en memoria que contiene una imagen de los contenidos de canvas. Consulta HTMLCanvasElement si deseas tener más detalles.
    • canvas2dcontext.lineCap y canvas2dcontext.lineJoin ya no lanzan una excepción cuando se les asigna una valor no reconocido.
    • canvas2dcontext.globalCompositeOperation no lanza una excepción cuando se les asigna un valor no reconocido ni tampoco admite el valor no estándar darker.

     

    • Se ha eliminado la compatibilidad para el elemento obsoleto <spacer>, que estaba ausente en el resto de navegadores.
    • El elemento <isindex> es creado como un elemento simple sin propiedades ni métodos cuando se invoca a document.createElement(),
    • Gecko ya admite invocar a click()en elementos <input>  para abrir el selector de archivos. Mira el ejemplo del artículo Usar archivos desde aplicaciones web.
    • El elemento <input>  admite un nuevo atributo mozactionhint, que te permite especificar la etiqueta para la tecla enter de los teclados virtuales.
    • Los elementos <script> dentro de los elementos <iframe>, <noembed> y <noframe> ahora se ejecutan, lo que en anteriores versiones de Firefox no hacían. Esto cumple con la especificación y coincide con el comportamiento de otros navegadores.

     

    CSS

    Transiciones CSS
    Está disponible en Firefox 4 una nueva compatibilidad para las transiciones CSS.
    Valores calculados en CSS
    Se ha agregado la compatibilidad para -moz-calc , lo que te permite especificar valores <length> como expresiones matemáticas.
    Agrupación de selectores
    Compatibilidad para :-moz-any para agrupar selectores y descomponer elementos de combinación en factores.
    Compatibilidad background image subrectangle
    La función -moz-image-rect hace que sea posible utilizar subrectángulos de imágenes como background-image (imágenes de fondo).
    Propiedades CSS touch
    Se agrega la compatibilidad para propiedades touch. Más adelante se aportarán más detalles y nombres reales de los artículos.
     Uso de elementos arbitrarios como fondos CSS
    Puedes utilizar la función CSS -moz-element y la función DOM domxref document.mozSetImageElement() para usar elementos HTML arbitrarios como fondo.
    Privacidad y el selector :visited
    Se han hecho cambios en la información que se puede obtener sobre el estilo de los enlaces visitados usando selectores CSS, lo puede afectar a algunas aplicaciones web.

    Nuevas propiedades CSS

    Propiedad Descripción
    -moz-font-feature-settings Te permite personalizar las funciones avanzadas de las fuentes OpenType.
    -moz-tab-size Especifica el ancho en caracteres de espacio de un carácter de tabulación (U 0009) al representar el texto.
    resize Te permite controlar las dimensiones a las que se puede adaptar un elemento.

    Nuevas  seudoclases CSS

    Seudoclase Descripción
    :-moz-handler-crashed Se utiliza para aplicar estilo a los elementos cuyos plugins se han caído.
    :-moz-placeholder Aplicado al texto de marcador de posición en los campos de formulario.
    :-moz-submit-invalid Aplicado al botón de enviar de los formularios cuando uno o más de los campos del formulario no se valida.
    :-moz-window-inactive Aplicado a los elementos de las ventanas inactivas.
    :invalid Aplicado de manera automática a los campos <input> cuando su contenido no es válido.
    :optional Aplicado automáticamente a los campos<input> que no especifican el atributo required.
    :required Aplicado automáticamente a los campos<input> que especifican el atributo required.
    :valid Aplicado de manera automática a los campos <input> cuando su contenido se valida con éxito.

    Nuevos seudoselectores CSS

    Seudoselector Descripción
    :-moz-focusring Te permite especificar el aspecto de un elemento cuando Gecko cree que debería tener representada una indicación del foco .

    Nuevas funciones CSS

    Función Descripción
    :-moz-any Te permite agrupar selectores y descomponer en factores los elementos de combinación.
    -moz-calc Te permite especificar valores <length> como expresiones matemáticas.
    -moz-element Te permite utilizar un elemento arbitrario como fondo de background-image y background.
    -moz-image-rect Te permite utilizar un subrectángulo de una imagen como background-image o background.

    Propiedades CSS renombradas

    Nombre anterior Nuevo nombre Notas
    -moz-background-size background-size El nombre -moz-background-size ya no es compatible.
    -moz-border-radius border-radius El nombre anterior es admitido por un tiempo limitado para que puedas actualizar tus sitios. Los cambios de representación también se han hecho para que coincida con la última versión de la especificación.
    -moz-box-shadow box-shadow  

    Varios cambios en CSS

    • La propiedad text-shadow ahora limita el radio de desenfoque a 300px por razones de integridad y rendimiento.
    • La propiedad overflow ya no se aplica a los elementos agrupados en tablas ( <thead> , <tbody> y <tfoot> ).
    • La propiedad -moz-appearance ahora es compatible con el valor -moz-win-borderless-glass, que aplica a un elemento un aspecto sin márgenes Aero Glass.
    • Se ha agregado la función multimedia -moz-device-pixel-ratio, que permite que se usen los píxeles del dispositivo por ratio de píxel CSS para las Consultas a medios .
    • El control de Gecko sobre las unidades CSS ha sido revisado para adaptarse mejor a otros navegadores y para traducir con mayor precisión las longitudes absolutas en cálculos de píxeles de pantalla basados en los ppp del dispositivo.

    Gráficos y video

     
    WebGL
    El estándar WebGL en desarrollo ya es admitido por Firefox.
    Optimizar el rendimiento de los gráficos
    Consejos y trucos para sacarle el máximo partido a los gráficos y al rendimiento del video en Firefox 4.
    Compatibilidad para video WebM
    El nuevo formato de video abierto WebM es compatible con Gecko 2.0.
    Animación SVG con SMIL
    La compatibilidad para la animación SMIL de SVG ya está disponible.
    Utilizar SVG como imágenes y como fondos CSS
    Ahora puedes utilizar SVG con el elemento <img>, así como un background-image CSS.
    Compatibilidad con el atributo multimedia buffered
    El atributo buffered de los elementos <video> y <audio> es admitido ya, lo que te permite determinar qué rangos de un archivo multimedia se han almacenado en el búfer. La interfaz DOM TimeRanges ha sido implementada para admitirlo.
    Atributo multimedia preload
    Se ha implementado el atributo preload de la especificación HTML 5, en sustitución del atributo autobuffer, que se aplicaba anteriormente y que ya no se admite. Esto afecta a los elementos <video> y <audio>, así como a la interfaz de nsIDOMHTMLMediaElement.
    Mejoras SVG en la posición de texto
    Ahora puedes especificar listas para los valores de las propiedades x , y , dx y dy en elementos <text> y <tspan> SVG. Esto te permite controlar de forma individual la posición de cada carácter en una cadena.

    DOM

    Matrices de tipo JavaScript
    Se ha añadido la compatibilidad para las matrices de tipo JavaScript, lo que te permite manipular los búferes que contienen datos sin procesar utilizando tipos de datos nativos. Varias APIs hacen uso de ello, incluyendo la API de archivos , WebGL y WebSockets .
    Obtener rectángulos límite para rangos
    El objeto Range ahora tiene los métodos range.getClientRects() y range.getBoundingClientRect().
    Capturar eventos del ratón sobre elementos arbitrarios
    Se ha agregado la compatibilidad para las APIs de Internet Explorer setCapture() y releaseCapture(). Mira bug 503943.
    Manipular el historial del navegador
    El objeto historial del documento existente, disponible a través del objeto window.history, ahora es compatible con los nuevos métodos HTML5 pushState() y replaceState().
    Animaciones con MozBeforePaint
    Un nuevo evento se ha añadido que, en concertación con el método window.mozRequestAnimationFrame() y la propiedad window.mozAnimationStartTime, proporciona una manera de crear animaciones que se sincronizan entre sí.
    Eventos touch y multi-touch
    Se ha añadido la compatibilidad para los eventos touch y multi-touch.

    Han cambiado las interfaces DOM de los elementos HTML

    Varios elementos HTML han incorporado cambios en sus interfaces DOM para adaptarlas a los requisitos de la especificación de HTML 5, como se muestra a continuación.

    Interfaz de Firefox 3.6 Interfaz en Firefox 4 Elemento HTML
    HTMLSpanElementHTMLSpanElement HTMLElement <abbr>, <acronym>, <address>, <b>, <bdo>, <big>, <blink>, <center>, <cite>, <code>, <dd>, <dfn>, <dt>, <em>, <i>, <kbd>, <listing>, <nobr>, <plaintext>, <s>, <samp>, <small>, <strike>, <strong>, <sub>, <sup>, , <tt>, <u>, <var>, <xmp>
    HTMLDivElement HTMLElement <noembed>, <noframes>, <noscript>
    HTMLWBRElement HTMLElement <wbr>

    Varios cambios DOM

    • El ajuste de un elemento <textarea> ahora se puede controlar a través del DOM, gracias al atributo DOM wrap. bug 41464
    • Los elementos <script> creados por medio de document.createElement() e insertados en un documento ahora se comportan por defecto de acuerdo a la especificación HTML 5. Las secuencias de comandos con el atributo src se ejecutan en cuanto están disponibles (sin guardar el orden) y las secuencias de comandos sin el atributo src se ejecutan de forma sincrónica. Para insertar scripts dentro de otros scripts que ejecuten el atributo src en el orden de inserción, ajusta en ellos .async=false.
    • Los objetos DOM file ahora ofrecen una propiedad url.
    • Compatibilidad de FormData para XMLHttpRequest.
    • Se ha implementado la propiedad element.isContentEditable.
    • La propiedad document.currentScript le permite determinar qué script del elemento <script> se está ejecutando actualmente. Los nuevos eventos element.onbeforescriptexecute y element.onafterscriptexecute se activan antes y después de que se ejecute un elemento script.
    • Se agregó la propiedad mozSourceNode al objeto DragTransfer.
    • Se agregó el método selection.modify() para el objeto Selection, lo que te permite modificar fácilmente la selección de texto o la posición actual del cursor en una ventana del navegador.
    • Se ha eliminado la compatibilidad para el objeto window.directories y la función directories para window.open, que no son compatibles con ningún otro navegador. Utiliza personalbar en su lugar. bug 474058
    • Se ha añadido la propiedad event.mozInputSource a los eventos DOM de interfaz de usuario. Esta propiedad no estándar te permite determinar el tipo de dispositivo que generó un evento.
    • Se ha implementado el evento document.onreadystatechange.
    • El método document.createElement ya no acepta en modo "quirks" < y > alrededor del nombre de la etiqueta.
    • Se han agregado los métodos element.setCapture() y document.releaseCapture(), que permiten a los elementos que continúen el seguimiento de los eventos del ratón, incluso cuando el ratón está fuera de su zona normal de seguimiento después de que haya ocurrido un evento mousedown.
    • Se ha agregado la propiedad window.mozPaintCount, que te permite determinar cuántas veces ha sido pintado un documento. Esto puede ser útil cuando se esté comprobando el rendimiento de tu aplicación web.
    • El token de idioma se ha quitado de window.navigator.appVersion y window.navigator.userAgent . Usa window.navigator.language o el encabezado Accept-Language en su lugar.  bug 572656
    • El objeto XMLHttpRequest ahora expone la respuesta como una matriz de tipo JavaScript, así como una cadena, usando la propiedad específica de Gecko mozResponseArrayBuffer.
    • Los eventos del ratón ahora incluyen una propiedad mozPressure que indica la cantidad de presión sobre los dispositivos de entrada sensibles a la presión compatibles.
    • Los métodos window.URL.createObjectURL() y window.URL.revokeObjectURL() te permiten crear URLs objeto que hacen referencia a archivos locales.
    • El método DOMImplementation.createHTMLDocument() te permite crear un nuevo documento HTML.
    • Node.mozMatchesSelector() ahora lanza una excepción SYNTAX_ERR si la cadena de selector especificada no es válida, en lugar de devolver incorrectamente false .
    • Ahora puedes establecer los valores de las propiedades SVG de un elemento utilizando la sintaxis abreviada lo mismo que con CSS. Por ejemplo, element.style.fill = 'lime' . Consulta element.style para tener más detalles.
    • La raíz del documento tiene ahora un atributo privatebrowsingmode que describe el estado del modo de navegación privada, incluyendo una indicación sobre si la navegación privada es temporal o permanente para la sesión.
    • El segundo parámetro del método window.getComputedStyle() ahora es opcional, como lo es en todos los navegadores importantes.
    • El objeto DOM StorageEvent coincide ahora con la última versión de la especificación.
    • El retraso mínimo permitido para el método window.setTimeout() es ahora una preferencia, dom.min_timeout_value .
    • El evento MozAfterPaint ya no se envía de forma predeterminada, debido a un problema de seguridad potencial. Se puede volver a habilitar mediante el establecimiento de una preferencia.

    Seguridad

    Política de Seguridad sobre Contenidos (Content Security Policy, CSP)
    La Política de Seguridad sobre Contenidos (CSP) es una propuesta de Mozilla diseñada para ayudar a los diseñadores y administradores de servidores a especificar cómo interactúa el contenido de sus sitios web. El objetivo es ayudar a detectar y mitigar ataques como secuencias de comandos entre sitios e inyección de datos.
    Seguridad Estricta de Transporte HTTP
    La Seguridad Estricta de Transporte HTTP es una característica de seguridad que permite a un sitio web decirle a los navegadores que sólo deben comunicarse por medio de HTTPS, en lugar de HTTP.
    El encabezado de respuesta X-FRAME-OPTIONS
    El encabezado de respuesta HTTP X-FRAME-OPTIONS introducido en Internet Explorer 8 ya es compatible con Firefox. Esto permite que los sitios indiquen si sus páginas se pueden o no utilizar en los marcos y, de ser así, restringirlo o no al mismo origen.
    Cambios en la cadena del agente de usuario
    Como medio para reducir la cantidad de datos enviados y la entropía en las peticiones HTTP (ver bug 572650 ), los tokens de idioma y de intensidad criptográficos han sido eliminados de la cadena del agente de usuario.

    JavaScript

    Para una visión general de los cambios implementados en JavaScript 1.8.5, consulta Novedades en JavaScript 1.8.5 . JavaScript en Firefox 4 tendrá la adhesión adicional al estándar ECMAScript 5.

    Herramientas para desarrolladores

    Uso de la Consola Web
    La herramienta Consola Web es una ayuda de depuración útil para los desarrolladores web y desarrolladores de extensiones por igual.

    Gecko 2.0 note
    (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)

    La Consola de errores está desactivada por defecto a partir de Firefox 4. Puedes volver a habilitarla cambiando la preferencia devtools.errorconsole.enabled a true y reiniciando el navegador.

    Cambios para desarrolladores de Mozilla y de complementos/agregados

    Para obtener consejos útiles sobre la actualización de las extensiones existentes para Firefox 4, puedes ver Actualizar extensiones para Firefox 4 . Hay varios cambios claves que rompen la compatibilidad con los complementos existentes, así que asegúrate de leer este artículo.

    Si eres un desarrollador de temas, es aconsejable que leas Cambios en los temas de Firefox 4 para entender algunos cambios fundamentales que tendrás que tener en cuenta.

    Módulos de código JavaScript

    Medición del rendimiento con el módulo de código PerfMeasurement.jsm
    El módulo de código PerfMeasurement.jsm proporciona una API para medir los datos del rendimiento a nivel de la CPU en código JavaScript.

    Distintos cambios en módulos de código

    Cambios en DOM

    ChromeWorker
    Un nuevo tipo de worker para código privilegiado, lo que te permite utilizar cosas como js-ctypes de workers en las extensiones y en el código de aplicación.
    Eventos touch
    Se ha añadido la compatibilidad para eventos touch (no estándar), los cuales permiten realizar el seguimiento de varios dedos en movimiento sobre una pantalla táctil al mismo tiempo.

    XUL

    Cambios en el elemento tabbrowser

    Se hicieron varios cambios en el elemento tabbrowser que afectan directamente a las extensiones que interactúan con pestañas. Además de ser compatibles con las pestañas de aplicaciones, estos cambios también transforman la barra de pestañas en una barra de herramientas estándar, lo cual permite al usuario arrastrar botones de la barra de herramientas hasta la misma.

    • Los eventos TabClose, TabSelect y TabOpen ya no se propagarán al elemento tabbrowser ( gBrowser ). Es recomendable que los detectores de eventos para dichos eventos se agreguen a gBrowser.tabContainer en lugar de gBrowser directamente.
    • El menú contextual de pestañas ha dejado de ser un niño anónimo de tabbrowser. Por lo tanto, pueden ser superpuestos directamente con superposiciones XUL . También se puede acceder de forma más directa en JavaScript a través de gBrowser.tabContextMenu . Puedes ver esta entrada de blog para tener más detalles.
    • Se ha agregado la nueva propiedad visibleTabs, que te permite obtener una matriz de las pestañas actualmente visibles y, por tanto, determinar qué pestañas son visibles en el conjunto de pestañas actual. Esto es utilizado por Firefox Panorama, por ejemplo.
    • Añadido el nuevo método showOnlyTheseTabs, utilizado por Firefox Panorama.
    • Añadido el nuevo método getIcon, que te permite obtener el favicon de una pestaña sin tener que tirar del elemento browser.
    • Añadida la nueva propiedad tabbrowser.tabs, que te permite fácilmente obtener una lista de las pestañas en un elemento tabbrowser.
    • Los nuevos métodos pinTab y unpinTab permiten fijar y eliminar pestañas fijas (es decir, intercambiarlas entre las pestañas de aplicaciones y las pestañas normales).
    • Añadidos el método getTabModalPromptBox y el atributo tabmodalPromptShowing para admitir alertas modales sobre pestañas.

    Cambios en elementos emergentes

    • El elemento popup ha dejado de ser compatible, así que se recomienda usar menupopup en su lugar. (Si continúas utilizando popup , te encontrarás con problemas técnicos, ya que el elemento no tiene ningún significado especial. Por ejemplo, menuseparator puede aparecer transparente cuando se utiliza en un popup.)
    • El elemento XUL menupopuptiene ahora una propiedad triggerNode, que indica el nodo en el que ocurrió el evento que hizo que el elemento emergente se abriera. Esto también requiere agregar un parámetro de evento desencadenante al método openPopup. Se ha agregado, además, la propiedad anchorNode, que devuelve el anclaje que se especificó cuando se creó el elemento emergente.
    • El elemento panel ofrece ahora los atributos fade y flip, que se utilizan para configurar el comportamiento de los nuevos paneles de notificación en estilo "flecha".

    Compatibilidad de XUL remotos eliminada

    XUL remotos ya no es compatible, lo que afecta a los documentos XUL que se sirven a través de HTTP. Del mismo modo, ya no se pueden cargar documentos XUL con file:// URLs a menos que se cree la preferencia dom.allow_XUL_XBL_for_file y se establezca en true . Hay, sin embargo, una característica de la lista blanca que se puede utilizar para permitir a dominios específicos para cargar XUL remotos. La extensión Administrador de XUL remotos te permite administrar esta lista blanca.

    Distintos cambios en XUL

    • El atributo readonly ahora funciona correctamente para los campos.
    • El elemento resizer ahora te permite utilizar el atributo element especificar un elemento para cambiar el tamaño, en lugar de cambiar el tamaño de la ventana.
    • El elemento resizer tiene ahora un atributo type que te permite especificar que el cambio de tamaño es para una ventana en vez de un elemento, para evitar así que el cambio de tamaño de la ventana se dibuje dos veces.
    • El atributo "activo" ya no se establece en ventanas XUL activas. En su lugar, puede utilizar la nueva pseudoclase :-moz-window-inactive con el fin de asignar distintos estilos a las ventanas de fondo.
    • El atributo emptytext se considera obsoleto, así que se debería usar placeholder en su lugar.
    • El elemento window ahora ofrece un atributo accelerated que cuando se establece en true, permite al administrador de capas de hardware acelerar la ventana.
    • El elemento stack ahora es compatible con los atributos bottom y right.
    • Los eventos son ahora lanzados durante la personalización toolbox, lo que te permite detectar cambios en las barras de herramientas .
    • El atributo alternatingbackground para los elementos tree ya no se admite. Se puede usar la seudoclase :-moz-tree-row en su lugar.
    • El botón de desbordamiento de la Barra de marcadores con chevronPopup anonid ya no es anónimo, sino que tiene un id. del cliente de "PlacesChevron".
    • El elemento tabs tiene ahora una propiedad tabbox, en sustitución de la antigua _tabbox, que ha quedado obsoleta (y nunca fue documentada).
    • Los elementos XUL window ahora tienen el atributo drawintitlebar. Si está establecido en true , el área de contenido de la ventana incluye la barra de título, lo que permite dibujar en ella.
    • Nuevos eventos TabPinned y TabUnpinned están disponibles, lo que te permite detectar cuándo se fijan o se eliminan las pestñas fijas .
    • El nuevo evento TabAttrModified es enviado cuando cambian los atributos de una pestaña label, crop, busy, image, o selected.
    • Los elementos tab ahora tienen un atributo pinned, lo que te permite determinar si una pestaña se encuentra fija actualmente.
    • La clase setDirectionIndicator en los elementos tree no ha hecho nada desde hace algún tiempo, por lo que ha dejado de usarse.
    • El elemento window tiene ahora un atributo chromemargin que te permite establecer el margen entre chrome y contenido en cada lado de una ventana. Se puede utilizar para dibujar en la barra de título, por ejemplo.
    • El elemento window tiene ahora un atributo disablechrome que se utiliza para ocultar la mayor parte del cromo en una ventana cuando éste se está utilizando para mostrar la interfaz de usuario en el navegador, como about:addons .
    • El elemento window tiene ahora un atributo disablefastfind, que te permite desactivar la barra de búsqueda en una ventana cuando el contenido no lo admite. Se utiliza, por ejemplo, por el panel de complementos/agregados.
    • Las barras de herramientas ahora pueden ser externas a la caja de herramientas, sin dejar de ser considerada un miembro del toolbox, estableciendo la propiedad toolboxid del toolbox. Además, el elemento toolbox tiene ahora una propiedad externalToolbars, que enumera todas las barras de herramientas que se consideran miembros de la caja de herramientas.
    • Se ha añadido la compatibilidad para el registro de plantillas de XUL para fines de depuración.

    Cambios en la IU que afectan a los desarrolladores

    La barra de complementos/agregados
    La barra de estado ha sido eliminada en favor de la barra de complementos/agregados. Tienes que actualizar tu extensión para usarla si has agregado anteriormente la IU a la barra de estado.

    Almacenamiento

    Distintos cambios en la API de almacenamiento

    XPCOM

    Además de los cambios específicos a los que se hace referencia a continuación, es importante tener en cuenta que ya no hay ninguna interfaz inmovilizada. Ninguna de las interfaces está inmovilizada, sin importar lo que la documentación puede decir. Vamos a ir actualizando la documentación con el tiempo.

    Cambios XPCOM en Gecko 2.0
    Detalles sobre los cambios en XPCOM que afectan a la compatibilidad en Firefox 4.
    Components.utils.getGlobalForObject ()
    Este nuevo método devuelve el objeto global con el que se asocia un objeto, lo que sustituye a un caso de uso común del ahora eliminado __parent__ .

    Lugares

    Cambios en la interfaz

    Administración de la memoria

    Asignación de memoria infalible
    Mozilla proporciona ahora asignadores de memoria infalibles que están garantizados para no devolver null. Es recomendable leer este artículo para saber cómo funcionan y cómo solicitar explícitamente la asignación de memoria falible frente a infalible.

    Otros cambios

    • La mayor parte de los recursos contenidos dentro de Firefox se han combinado en un único archivo JAR, omni.jar , lo que mejora el rendimiento de inicio mediante la reducción de E / S. Para obtener más información, lee Acerca de omni.jar.
    • La preferencia accessibility.disablecache ya no es compatible. Se expuso sólo para fines de depuración y ya no se utiliza.
    • Los complementos/agregados cuyo GUID (Identificador Exclusivo Global) cambia de una versión a otra ya se pueden actualizar correctamente.
    • Como efecto secundario de la eliminación de directorios específicos de la plataforma en los paquetes de complementos/agregados, ya no se pueden ofrecer diferentes preferencias por defecto para cada plataforma.
    • De manera predeterminada, las extensiones ya no se desempaquetan al ser instaladas, sino que se ejecutan directamente desde el archivo XPI. Pueden usar la propiedad unpack del install manifest para elegir el comportamiento anterior. Asimismo, las extensiones que usan componentes binarios, DLLs cargadas con ctypes, plugins de búsqueda, diccionarios e iconos de ventana deben especificar que tienen que ser desempaquetadas. 

    Otros cambios

    Eliminada la compatibilidad para Gopher
    El protocolo Gopher ya no se admite de forma nativa. Con la extensión OverbiteFF podrás continuar la compatibilidad.
    Control de eventos de proceso de contenido
    A fin de hacer compatibles los plugins fuera de proceso y otras funciones de procesos múltiples, se ha introducido una nueva API para admitir el envío de mensajes a través de los procesos.
    Extensiones de arranque
    Ahora puedes crear extensiones que pueden instalarse, desinstalarse y actualizarse (o instalar la versión anterior) sin necesidad de reiniciar el explorador.
    Eliminado el plugin predeterminado
    Se ha eliminado el plugin por defecto. Asimismo, se ha eliminado de manera predeterminada la carpeta de plugins de aplicaciones. La carpeta de plugins de aplicaciones también ha sido eliminada por defecto, sin embargo la compatibilidad para la instalación de plugins a través de esta carpeta continúa. Mira bug 533891.
    El Administrador de complementos/agregados sustituye al Administrador de extensiones
    nsIExtensionManager ha sido sustituido por AddonManager .
    Ya no se utilizan los HWNDs secundarios
    Firefox ya no crea HWNDs secundarios para su uso interno en Windows. Si has escrito una extensión que utiliza código nativo para manipular estos HWNDs, no te funcionará en Firefox 4. Tendrás que dejar de usar HWNDs o ajustar el código que se basa en HWNDs a un plugin NPAPI. Eso es mucho trabajo, por lo que si puedes evitar el uso de HWNDs directamente, hazlo.
    Cambios de gestos
    Los tres gestos de pasar los dedos por los trackpads se han sustituido, de manera predeterminada, por abrir y cerrar la vista Firefox Panorama (TabCandy). Para volver a cambiar a los comandos anteriores de desplazamiento hacia arriba y desplazamiento hacia abajo, abre about: config y ajusta browser.gesture.swipe.down a cmd_scrollBottom y browser.gesture.swipe.up a cmd_scrollTop .

    Consulta también

    Etiquetas y colaboradores del documento

    Contributors to this page: deimidis, inma_610, Izel, teoli
    Última actualización por: teoli,