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

Firefox 3.6 para desenvolvedores

Firefox 3.6 oferece suporte para padrões web novos e em desenvolvimento, performance melhorada e uma boa experiência para usuários web e desenvolvedores. Está página proporciona links para artigos cobrindo as novas capacidades do Firefox 3.6.

Para desenvolvedores de websites e aplicações

CSS

Using gradients
Firefox 3.6 adicionou o suporte às propriedades sugeridas -moz-linear-gradient e -moz-radial-gradient para background.
Multiple backgrounds
A propriedade background (assim como background-color, background-image, background-position, background-repeat e background-attachment) agora suporta múltiplos fundos de tela. Isto permite a especificação de múltiplos fundos de tela que são renderizados um sobre o outro, em camadas.
Mozilla-specific media features
Características de mídia foram adicionadas para o sistema de métricas específico da Mozilla, então consultas de mídia podem ser usadas para checar mais seguramente a disponibilidade de características como o suporte a toque.
Scaling background images
A propriedade background-size do CSS 3 Backgrounds and Borders draft é agora suportada sob o nome -moz-background-size.
WOFF font support
@font-face agora suporta arquivos de fonte baixáveis no formato WOFF.
Pointer events
A propriedade pointer-events permite ao conteúdo especificar quando um elemento pode ser o alvo ou não de eventos com o ponteiro do mouse.

Miscelânea de mudanças no CSS

  • A unidade de comprimento rem do CSS3 Values and Units é agora suportada. bug 472195
  • image-rendering é suportada para imagens, imagens de fundo, vídeos e canvas. bug 423756
  • text-align:end é agora suportada. bug 299837
  • Mudanças no DOM para elementos usando os tipos display de tabela agora funcionam muito melhor.
  • Adicionado :-moz-locale-dir(ltr) e :-moz-locale-dir(rtl) para facilitar a customização de layouts baseados na interface de usuário que está sendo exibida, usando uma localidade da esquerda para a direita ou da direita para a esquerda. bug 478416
  • Adicionado suporte para a pseudo-classe :indeterminate, que combina com elementos checkbox input aos quais o atributo indeterminate é true.
  • Plugins em janelas não são mais exibidos em CSS transforms, pois eles não podem ser transformados corretamente pelo compositor.

HTML 

Using files from web applications
Suporte para a nova API de Arquivos HTML5 foi adicionada ao Gecko, tornando possível para aplicações web acessar arquivos locais selecionados pelo usuário. Isto inclui suporte para a seleção de múltiplos arquivos usando o novo atributo multiple do elemento HTML input type="file".
HTML5 vídeo suporta quadros poster
O atributo poster é agora suportado pelo elemento video, permitindo ao conteúdo especificar um quadro poster a ser exibido até que o vídeo comece a tocar.
Checkboxes e radio buttons suportam a propriedade indeterminate
Os elementos HTML input dos tipos checkbox e radio agora suportam a propriedade indeterminate, que permite um terceiro estado "indeterminado".
A suavização de imagens em canvas pode ser controlada
A nova propriedade mozImageSmoothingEnabled pode ser usada para ativar e desativar a suavização de imagens quando mudando a escala em elementos canvas.
Execução de script assíncrona
Configurando o atributo async no elemento script, o script não bloqueará o carregamento ou exibição do resto da página. Ao invés, o script executa assim que for baixado.

JavaScript

O Gecko 1.9.2 introduz o JavaScript 1.8.2, o qual adiciona algumas características da linguagem do ECMAScript 5 standard:

  • Date.parse() agora pode analizar datas ISO 8601 como YYYY-MM-DD.
  • A propriedade prototype das funções de instâncias não são mais enumeráveis.

DOM

Miscelânea de mudanças no DOM

  • O método getBoxObjectFor() foi removido, pois não era um padrão e expunha ainda mais coisas fora do padrão na web. Veja bug 340571. Também afeta MooTools a qual usa esta chamada para a detecção do Gecko; isto foi resolvido na última versão de MooTools, então, certifique-se de atualizar.
  • As novas propriedades mozInnerScreenX e mozInnerScreenY nas janelas do DOM foram adicionadas; estas retornam coordenadas da tela do canto superior esquerdo do visor da janela.
  • A nova propriedade mozScreenPixelsPerCSSPixel, acessível somente ao chrome, proporciona um fator de conversão entre pixels CSS e pixels da tela; este valor pode variar baseado no nível de zoom do conteúdo.
  • Quando o identificador de fragmentos de documentos URI's da página (a parte após o caractere "#" (hash)) muda, um novo evento hashchange é enviado à página. Veja window.onhashchange para mais informações. bug 385434
  • O atributo document.readyState é agora suportado. bug 347174
  • Suporte ao element.classList HTML5 para permitir a fácil manibulação do atributo class. bug 501257
  • localName e namespaceURI em documentos HTML agora comportam-se agora assim como nos documentos XHTML: localName retorna em minúsculas e namespaceURI para elementos HTML é "https://www.w3.org/1999/xhtml".
  • element.getElementsByTagNameNS não mais suporta minúsculas em seus argumentos, então letras maiúsculas ASCII no argumento evitam a falha de elementos HTML. O mesmo é verdadeiro para document.getElementsByTagNameNS.
  • O suporte foi adicionado para endereços em geolocalização pela interface nsIDOMGeoPositionAddress e um novo campo adicionado a nsIDOMGeoPosition.
  • A função window.getComputedStyle agora retorna dentro de aspas os valores (URL).
Web workers podem agora se auto-terminar
Workers agora suportam o método nsIWorkerScope.close(), que permite a eles, terminá-los eles mesmos.
Arrastar e soltar (drag and drop) agora suportam arquivos
O objeto DataTransfer previsto para arrastar listeners agora inclui uma lista de arquivos que foram arrastados.
Checando para ver se um elemento combina com um seletor CSS especificado
O novo método element.mozMatchesSelector permite a determinação se um elemento combina ou não com um seletor CSS especificado. Veja bug 518003.
Detecting device orientation
 
O conteúdo pode agora detectar a orientação do dispositivo se ele possuir um acelerômetro suportado, usando o evento MozOrientation; veja window.onmozorientation para detalhes. O Firefox 3.6 suporta o acelerômetro em laptops Mac.
Detecting document width and height changes
O novo evento MozScrollAreaChanged  é despachado sempre que as propriedades scrollWidth e/ou scrollHeight do documento mudam.
 

XPath

O método choose() do XPath é agora suportado
O método choose() é agora suportado pela nossa implementação do XPath.

Para desenvolvedores XUL e de complementos

Se você é um desenvolvedor de extensões, deveria começar lendo Updating extensions for Firefox 3.6, o qual oferece uma introdução útil de que mudanças podem afetar sua extensão. Desenvolvedores de plug-ins deveriam ler Updating plug-ins for Firefox 3.6.

Novas Características

Detecting device orientation
O conteúdo pode agora detectar a orientação do dispositivo se ele possuir um acelerômetro suportado, usando o evento MozOrientation; veja window.onmozorientation para detalhes. O Firefox 3.6 suporta o acelerômetro em laptops Mac.
Monitoring HTTP activity
É possível agora monitorar transações HTTP para observar requisições e respostas em tempo real.
Working with the Windows taskbar
É possível agora customizar a aparência das janelas na barra de tarefas no Windows 7 ou mais recentes.

Places

Storage

Locale-aware collation of data is now supported by the Storage API
O Gecko 1.9.2 adicionou várias novos métodos de agrupamento para proporcionar o agrupamento otimizado (classificação) de resultados usando técnicas de localização-consciente.
Properties on a statement can now be enumerated
Você pode agora usar a enumeração for..in para enumerar todas as propriedades de uma declaração.
mozIStorageStatement's getParameterIndex teve o comportamento alterado entre 3.5 e 3.6.
Veja bug 528166 para detalhes.
Ligar vários conjuntos de parâmetros assincronamente para executar uma declaração.
Veja bug 490085 para detalhes. A documentação virá em breve.

Preferências

Temas

Veja Updating themes for Firefox 3.6 para detalhes.

Lightweight themes
O Firefox 3.6 suporta temas leves; estes são temas fáceis de criar que simplesmente aplicam uma imagem de fundo ao topo (barra de endereços e barra de botões) e inferior (barra de estado (status)) das janelas do navegador. Esta é uma integração à arquitetura de temas existente Personas no Firefox.

 

Miscelânea

  • O Firefox não carregará mais componentes de terceiros instalados em seu diretório interno de componentes. Isto ajuda a assegurar estabilidade, prevenindo componentes defeituosos de terceiros de serem executados. Desenvolvedores que instalarem componentes desta maneira devem re-empacotar seus componentes como pacotes XPI (en) para então poderem ser instalados como complementos padrão.
  • contents.rdf não é mais suportado para o registro do chrome nas extensões. Ao invés disso, deve-se agora usar o arquivo chrome.manifest. Veja bug 492008.
  • Adicionado suporte para ocultar a barra de menus automaticamente. Veja bug 477256.
  • Adicionado suporte para o atributo container-live-role para objetos. Veja bug 391829.
  • O obrigatório tabs-closebutton foi removido. Veja bug 500971.
  • Adicionado suporte a nsISound para tocar sons baseados em eventos que tenham ocorrido. Veja bug 502799.
  • A sintaxe para os métodos nsITreeView.canDrop() e nsITreeView.drop() de nsITreeView foi mudada para suportar a nova API de arrastar e soltar (drag & drop) introduzida no Gecko 1.9. Veja bug 455590.
  • Adicionado suporte para trocar o cursor do mouse para o botão padrão de diálogo ou assistente no Windows, veja bug 76053. Isto é processdo automaticamente pelo elemento de diálogo ou assistente, mas se uma aplicação XUL cria uma janela usando o  elemento window e ele possui um botão padrão, é necessário chamar nsIDOMChromeWindow.notifyDefaultButtonLoaded() durante o evento manipulador onload da janela.
  • A interface nsILocalFileMac teve dos elementos removidos: setFileTypeAndCreatorFromMIMEType() e setFileTypeAndCreatorFromExtension().
  • O novo módulo de código NetUtils.jsm proporciona um método fácil de usar para a cópia de dados assíncrona de um fluxo de entrada para um fluxo de saída.
  • O novo módulo de código openLocationLastURL.jsm permite a facilidade para ler e mudar o valor de "Open Location" das URLs lembradas pela caixa de diálogo adequadamente enquanto no modo de navegação privativa.
  • No Windows, a interface nsIScreen agora reporta profundidades de cor de 24 bits por pixel quando o driver gráfico solicita 32 bits, uma vez que 24 representa mais acuradamente o número atual de pixels de cor em uso.
  • Barras de menu podem agora ser ocultadas no Windows, usando o novo atributo autohide no elemento XUL toolbar.
  • Os métodos loadOneTab e addTab agora aceitam um novo parâmetro relatedToCurrent e, em adição, permitem aos parâmetros serem especificados pelo nome, uma vez que quase todos os parâmetros são opcionais.
  • A propriedade "hidden" não é mais suportada em manifestos de instalação; não é mais possível evitar que o usuário veja complementos na janela do gerenciador de complementos.
  • O componente @mozilla.org/webshell;1 não existe mais; é necessário usar @mozilla.org/docshell;1 ao invés.
  • É possível agora registrar com a categoria update-timer para agendar eventos de tempo sem precisar instanciar o objeto que o contador eventualmente chamará; ao invés disso, ele será instanciado quando for necessário. Veja nsIUpdateTimerManager.registerTimer() para detalhes.
  • A função NPN_GetValue() não mais provê acesso ao XPCOM através dos valores das variáveis NPNVserviceManagerNPNVDOMelement e NPNVDOMWindow. Isto é parte do trabalho de fazer com que os plugins rodem processos separados em uma versão futura do Gecko.
  • Os plugins não são mais scriptable através das interfaces do XPCOM (IDL), NPRuntime é a API a ser usada para tornar estes plugins scriptable, e NPP_GetValue() não é mais chamado com o valor de NPPVpluginScriptableInstance ou NPPVpluginScriptableIID. Isto é parte do trabalho de fazer com que os plugins rodem processos separados em uma versão futura do Gecko.

Para desenvolvedores Firefox/Gecko

Algumas mudanças são interessantes somente se você trabalha internamente no próprio Firefox.

Interfaces mescladas

As seguintes interfaces foram unidas:

  • nsIPluginTagInfo2 foi mesclada em nsIPluginTagInfo.
  • nsIPluginInstanceInternalnsIPPluginInstancePeernsIPluginInstancePeer1nsIPluginInstancePeer2 e nsIPluginInstancePeer3 foram todas mescladas em nsIPluginInstance.
  • nsIWindowlessPlugInstPeer foi mesclada em nsIPluginInstance.
  • nsIPluginManager nsIPluginManager2 foram mescladas em nsIPluginHost.

Interfaces removidas

As seguintes interfaces foram removidas inteiramente porque eram obsoletas, não utilizadas ou não implementadas:

  • nsIFullScreen
  • nsIDOMSVGListener
  • nsIDOMSVGZoomListener
  • nsIInternetConfigService
  • nsIDKey
  • nsIEventHandler
  • nsIJRILiveConnectPIPeer
  • nsIJRILiveConnectPlugin
  • nsIScriptablePlugin
  • nsIClassicPluginFactory
  • nsIFileUtilities

Interfaces movidas

As seguintes interfaces foram realocadas de seus arquivos IDL anteriores em novos:

  • nsIDOMNSCSS2Properties está agora localizada em seu próprio arquivo IDL (dom/interfaces/css/nsIDOMCSS2Properties.idl).
  • nsIUpdateTimerManager está agora localizada em seu próprio arquivo IDL.

Um grande número de interfaces foram movidas. Veja Interfaces moved in Firefox 3.6 para uma lista completa.

Outras mudanças na interface

As seguintes alterações foram feitas:

  • A interface nsIPlugin agora herda de nsISupports ao invés de nsIFactory.
  • A interface nsIPluginHost agora herda de nsISupports ao invés de nsIFactory.
  • A interface nsIFrame agora herda de nsQueryFrame ao invés de nsISupports.
  • O método getPaletteInfo() de nsIDeviceContext foi removido, haja vista que ele nunca foi implementado.
  • O método reportPendingException() de nsIScriptContext foi removido, já que ele não estava mais sendo usado.

 

Mudanças na acessibilidade do código

Veja também

Etiquetas do documento e colaboradores

 Colaboradores para esta página: teoli, Verruckt, Leandro Mercês Xavier
 Última atualização por: teoli,