Esboço
Esta página está incompleta.
O Firefox 6, baseado no Gecko 6.0, será lançado no terceiro trimestre de 2011. Este artigo fornece links para informações sobre as mudanças que afetam os desenvolvedores desta versão. Nightly builds do que será o Firefox 6 estão atualmente disponíveis (en) no canal Aurora (isto é, mozilla-aurora).
Nota: Esta página está longe de estar completa. Muitas mudanças ainda não estão listadas, mas serão em breve.
Nota: Itens listados aqui estão previstos para estarem no Firefox 6; entretanto, eles podem ser adicionados em versões futuras se os testes mostrarem que não estão prontos para o lançamento do Firefox 6. Por favor, acompanhe esta página para atualizar-se sobre os planos para o Firefox 6.
Mudanças para desenvolvedores web
HTML
- WebSockets
- Os WebSockets foram atualizados para a versão do protocolo 07 para o Firefox 6.
- O elemento
<progress>
do HTML5, o qual permite a criação de barras de progresso, agora é suportado. - A análise do elemento
<track>
do HTML5, o qual especifica faixas de texto para elementos de mídia, é agora suportado. Este elemento deve aparecer no DOM agora, apesar disso, seu comportamento ainda não foi implementado. - O elemento
<iframe>
agora está corretamente associado ao seu receptáculo quando as bordas do receptáculo foram arredondadas utilizando-se a propriedadeborder-radius
. - Campos de texto
<input>
do elemento<form>
não são mais suportam a propriedademaxwidth
do XUL; isto nunca foi intencional, e está em desacordo com a especificação do HTML. Você deve ao invés, usar o atributosize
para configurar a largura máxima dos campos de entrada. - As propriedades
fillStyle
estrokeStyle
do<canvas>
CanvasRenderingContext2d
costumavam ignorar lixo incluído após a definição correta de cor; agora isto é corretamente tratado, como um erro. Por exemplo, "red blue" como uma cor, costumava ser tratado como "red", quando deveria ser ignorado. - A largura e altura dos elementos do
<canvas>
podem agora serem corretamente configuradas para 0px; anteriormente, elas estavam recebendo uma configuração arbirária de 300px quando essa configuração era testada - Foi adicionado suporte para custom data attributes (data-*). A propriedade
element.dataset
do DOM permite acessá-los. - Quando um elemento
<textarea>
recebe foco, o ponto de inserção de texto é agora indicado, por padrão, no início do texto, ao invés de no fim. Isto torna o comportamento do Firefox consistente com outros navegadores.
CSS
-
-moz-text-decoration-color
- Esta nova propriedade permite configurar a cor usada em decorações de texto, tais como sublinhados, sobrelinhados e rasurados.
-
-moz-text-decoration-line
- Esta nova propriedade permite configurar o tipo de decoração de texto adicionado a um elemento.
-
-moz-text-decoration-style
- Esta nova propriedade permite configurar o estilo das decorações de texto, tais como sublinhado, sobrelinhado e rasurado. Os estilos incluem simples tracejado, tracejado duplo, linha ondulada, linha pontilhada e assim por diante.
-
-moz-hyphens
- Esta nova propriedade permite controlar como é tratada a hifenização das palavras quando ocorre uma quebra de linha.
-
-moz-orient
-
Uma nova propriedade (atualmente específica da Mozilla) a qual permite controlar a orientação: vertical ou horizontal, de certos elementos (particularmente
<progress>
).
Outras mudanças
- A propriedade
@-moz-document
possui uma nova funçãoregexp()
, a qual permite comparar uma URL de documento com uma expressão regular (en). - A propriedade
azimuth
do CSS não é mais suportada, haja vista a remoção do pequeno código do grupo de mídiaaural
que tínhamos. A mesma nunca foi significantemente implementada, portanto fazia mais sentido remover uma implementação intrincada pelo tempo ao invés de tentar corrigí-la. - No passado, a pseudoclasse
:hover
não se aplicava a seletores de classe quando no modo quirks; por exemplo,.someclass:hover
não funcionava Este quirk foi removido. - A pseudoclasse
:indeterminate
pode ser aplicada a elementos<progress>
. Isto não é um padrão, mas esperamos que seja adotado por outros navegadores, pois é útil.
DOM
- Using media queries from code (en)
-
Agora é possível testar o resultado de uma sequência de consulta de mídia programaticamente usando o método
window.matchMedia()
e a interfaceMediaQueryList
.
navigator.securityPolicy
, o qual retornou uma string vazia por muito tempo, foi totalmente removido.document.height
edocument.width
foram removidos. bug 585877- As propriedades
entities
enotations
do objetoDocumentType
, as quais nunca foram implementadas e sempre retornaramnull
, foram removidas, uma vez que também foram removidas da especificação. - A interface
DOMConfiguration
e a propriedadedocument.domConfig
que a utilizava foram ambas removidas; elas nunca foram suportadas e já foram removidas da especificação do DOM. - O evento
hashchange
agora inclui corretamente os camposnewURL
eoldURL
(en). - O método
abort()
da interfaceFileReader
agora lança uma exceção quando usado, se nenhuma leitura de arquivo estiver em progresso. - Agora é possível detectar quando uma impressão foi iniciada e completada (en) observando os novos eventos
beforeprint
eafterprint
. - A propriedade
document.strictErrorChecking
foi removida, uma vez que nunca foi implementada e que foi removida da especificação do DOM. - A propriedade padrão
event.defaultPrevented
é agora suportada; deve-se usá-la ao invés do método não padrãogetPreventdefault()
para detectar seevent.preventDefault()
foi ou não chamado no evento. - A propriedade
window.top
é agora, corretamente, somente letura. - A visualização do DOM, a qual nunca foi documentada, foi removida. Isto era um pequeno detalhe de implementação que estava complicando as coisas desnecessariamente, então nos livramos disto. Se esta mudança for percebida, provavelmente se está fazendo alguma coisa errada.
- O parâmetro EventTarget da função useCapture do addEventListener() é agora opcional, assim como no WebKit. Embora não seja um comportamento padrão, isto melhora a compatibilidade.
- A propriedade
mozResponseArrayBuffer
do objetoXMLHttpRequest
foi substituida pelas propriedadesresponseType
eresponse
. - A propriedade
element.dataset
foi adicionada à interfaceHTMLElement
permitindo acesso aos atributos globais (en)data-*
de um elemento.Global attributes#attr-data-*
JavaScript
- No passado, era possível usar o operador
new
em várias funções embutidas (eval, parseInt, Date.parse...) que não deveriam permitir isto, de acordo com a especificação. Este comportamento não é mais suportado. O uso do operadornew
desta maneira nunca foi oficialmente suportado e não foi muito utilizado, desta forma é pouco provável que esta mudança o afete. - O ECMAScript Harmony WeakMaps foi adicionado como uma implementação em protótipos.
SVG
- O atributo
pathLength
é agora suportado. - Os padrões, gradientes e filtros do SVG agora trabalham corretamente quando carregados de
data:
URLs (en).
HTTP
- A análise do "Content-Disposition" do cabeçalho foi corrigida para interpretar corretamente escapes de contrabarras e caracteres ASCII assim como o próprio caractere. Anteriormente o caractere estava sendo substituido incorretamente por um sublinhado ("_").
- O cabecalho "Accept-Charset" não é mais enviado; sua utilidade é mínima agora que o suporte ao UTF-8 é quase universal e pode ser usado para obter informações (mínimas) sobre os usuários.
Cookies
- O valor do campo de caminho nos cabeçalhos
Set-Cookie
é agora interpretado corretamente quando são usadas aspas duplas; anteriormente elas estavam sendo tratadas como parte da string de caminhos ao invés de delimitadores. Esta mudança pode afetar a compatibilidade com alguns sites, os autores devem, desta forma, checar seu código.
Outras mudanças
- O suporte à microresumos foi removido; estes nunca foram amplamente utilizados, não sendo muito detectáveis. Continuar o suporte a isto estava dificultando a melhoria da arquitetura do Places (favoritos e histórico)
- O WebGL agora suporta a extensão
OES_texture_float
.
Mudanças para desenvolvedores Mozilla e de complementos
Nota: O Firefox 6 necessita que os componentes binários sejam recompilados, assim como todos os lançamentos maiores do Firefox. Veja Interfaces Binárias (en) para detalhes.
Módulos de código JavaScript
FileUtils.jsm
- O método
openSafeFileOutputStream()
agora abre arquivos com a flag de comportamento (en)DEFER_OPEN
ao invés de tentar abri-los imediatamente.
XPCOMUtils.jsm
- O novo método
importRelative()
permite carregar um módulo de código JavaScript de um caminho relativo de outro módulo JavaScript. Isto facilita a construção de módulos que dependam um do outro.
XPCOM
nsCOMArray<T>
agora possui o métodoRemoveObjectsAt()
para remoção de múltiplos objetos de uma só vez de uma ordenação.
Usando o DOM do chrome
- Using the DOM File API in chrome code
-
Embora sempre tenha sido possível utilizar a API File do DOM do código chrome, o construtor
File
agora suporta a especificação de uma string de nome de caminho local quando usada através do chrome. Adicionalmente, você também pode especificar o arquivo para acessar usando a API File do DOM usando um objetonsIFile
.
Mudanças de interface
nsINavHistoryQueryOptions
agora suporta classificação por ordem de frequência, usando as novas constantesSORT_BY_FRECENCY_ASCENDING
eSORT_BY_FRECENCY_DESCENDING
.nsIFilePicker
possui um novo atributonsIFilePicker.addToRecentDocs
, o qual permite indicar que o arquivo selecionado deve ser adicionado à lista de "documentos recentes" do usuário, se houver alguma. Este atributo não tem efeito no modo de navegação privativa.
Novas interfaces
- Adicionada
mozIAsyncFavicons
. - Adicionada
nsIEventSource
. - Adicionada
nsIGSettingsCollection
. - Adicionada
nsIGSettingsService
. - Adicionada
nsIHttpUpgradeListener
.
Interfaces removidas
- A interface
nsIDOMDocumentTraversal
foi removida. Foi um detalhe de implementação que expirou sua utilidade. - A interface
nsIDOMDocumentRange
foi removida. Foi um detalhe de implementação que expirou sua utilidade. - A interface
IWeaveCrypto
foi removida. Foi um detalhe de implementação que expirou sua utilidade. - A interface
nsIDOM3DocumentEvent
foi removida. Foi um detalhe de implementação que expirou sua utilidade. - A interface
nsIDOMAbstractView
foi removida. Foi um detalhe de implementação que expirou sua utilidade. - A interface
nsILiveTitleNotificationSubject
foi removida. Foi um detalhe de implementação que expirou sua utilidade.