Vou incluir documentos abaixo na lista: -- Quer estar adiante da curva e certificar-se que suas extensões, web sites ou aplicações estão prontas para a próxima geração do Firefox? Verifique em nosso conteúdo especialmente organizado para suas necessidades: * Atualizando extensões para o Firefox 3 * Atualizando aplicações web para o Firefox 3
Novas características para desenvolvedores no Firefox 3
O Firefox 3 será liberado em breve, e já existe um número interessante de mudanças implementadas. Abaixo está uma lista de algumas das características.
Para desenvolvedores de aplicações e web sites
Veja também Mudanças no Gecko 1.9 que afetam websites.
Web Applications 1.0
Mark Finkle (mfinkle em #devmo) dirige o trabalho de documentação nas Web Applications 1.0
- Suporte a manipuladores de protocolos baseados na web
- Suporte experimental
<a ping>
(bug 319368, current spec) - WHATWG Eventos online e offline agora são suportados, permitindo a aplicações e extensões detectar se há uma conexão de internet disponível ou não.
- APIs para folhas de estilo alternativas (bug 200930, especificação atual)
- O método DOM
getElementsByClassName()
agora é suportado. - Suporte aos métodos
transform()
esetTransform()
do elemento<canvas>
(bug 357450, especificação atual) - Suporte a
contentEditable
(especificação atual)
Recursos offline
A implementação está em progresso - veja bug 367447 e dependências. Spec em progresso está em https://www.campd.org/stuff/Offline Cache.html.
CSS
Eric Shepherd (sheppy em #devmo) dirige a documentação CSS para o Firefox 3.
- Os valores das propriedades
inline-block
einline-table
dodisplay
estão agora implementadas. - A propriedade
font-size-adjust
agora trabalha em todas as plataformas; anteriormente era somente suportada no Windows. - Suporte a valores de cores
rgba()
ehsla()
(bug 147017) - Suporte a pseudo-classe
:default
(bug 302186) - Os valores
-moz-intrinsic
,-moz-min-intrinsic
,-moz-shrink-wrap
e-moz-fill
foram adicionados awidth
,min-width
emax-width
(bug 311415)
DOM
- As extensões DOM
clientTop
eclientLeft
do Internet Explorer são agora suportadas. - A propriedade
window.fullScreen
é agora sempre exata, não importa onde seja lida, mesmo no conteúdo. Anteriormente era necessário retornar incorretamentefalse
(bug 127013).
JavaScript
- O suporte para JavaScript 1.8 está em progresso (bug 380236). John Resig dirigirá o trabalho de documentação neste tópico.
- Tudo que foi implementado já está documentado na página JavaScript 1.8.
- Veja este blog post para alguma informação adicional.
XSLT/XPath
- Suporte ao
node-set
(bug 193678, spec) - Suporte a expressões regulares (bug 354886, spec)
SVG
- Suporte ao elemento
foreignObject
(bug 326966, spec, veja também). mfinkle - Suporte ao elemento
pattern
(spec) - Suporte ao elemento
mask
(spec) - Suporte a filtros SVG (spec)
filter
feBlend
feComponentTransfer
,feFuncR
,feFuncG
,feFuncB
,feFuncA
feComposite
feFlood
feGaussianBlur
feMerge
,feMergeNode
feMorphology
feOffset
feTurbulence
- O elemento
a
tornou-sensSVGAElement
em vez de XBL binding. - Várias funções do DOM para textos foram implementadas.
Para desenvolvedores de extensões e XUL
Novos elementos XUL
Mark Finkle (mfinkle in #devmo) dirige a documentação de novos elementos XUL.
O XUL no Firefox 3 suporta um número de novos elementos:
- O novo elemento
<scale>
permite a criação de escalas móveis que deixam o usuário selecionar qualquer valor em um alcance especificado. Esta bugiganga pode ser usada tipicamente, por exemplo, para criar um controle de volume. - Um novo valor,
number
, para o atributo de caixas de textotype
cria uma caixa de texto em que somente podem entrar números. Em adição, botões de flecha aparecem de um lado que pode ser usado como passo através de valores. Para mais informações sobre caixas de texto numéricas (bug 345510) - Um elemento
<dropmarker>
que foi adicionado é útil na criação de bugigangas como menus usando XBL bindings. (bug 348614) - Um elemento
<spinbuttons>
que foi adicionado pode ser usado na criação de bugigangas usando XBL bindings. (bug 155053) - Duas bugigangas,
<datepicker>
e<timepicker>
, podem ser usadas para permitir a entrada de datas e tempos. O datepicker está disponível em um número de estilos por configuração do atributotype
, para permitir a entrada com caixas de texto ou uma grade de calendário. Para mais informações sobre datepicker Referência do Datepicker Referência do Timepicker
Melhorias da árvore
- Árvores agora suportam rolagem horizontal. Uma barra de rolagem horizontal aparecerá se as colunas não couberem na largura disponível. Isto ocorrerá se as colunas tiverem larguras especificadas maiores do que o espaço disponível. (bug 212789)
- Uma nova seleção de estilos permite que as células sejam selecionadas individualmente, em vez de fileiras inteiras. Isto pode ser usado configurando-se o atributo
seltype
em uma árvore de'cell'
. (bug 296040) - Árvores agora suportam edição de células individuais. Um duplo-clique em uma célula editável exibirá um campo de texto em que o usuário pode editar o conteúdo de uma célula. Mais detalhes (bug 201499)
- Os elementos
<treecol>
agora suportam um atributooverflow
que pode ser configurado verdadeiro para permitir o texto de células dentro dessa coluna para expandir para expandir à células vizinhas vazias se o texto for muito grande para caber dentro de uma célula simples.
Melhorias do menu
Sérias melhorias nos elementos <menu>
e <menulist>
foram feitas (bug 333023):
- O atributo
image
é usado consistentemente para configurar imagens - Listas de menu despendem o evento selecionado quando selecionando um item
- As propriedades
inputField
eeditable
foram adicionadas a lista de menu - Os elementos
<menu>
,<menuitem>
e<menuseparator>
agora têm uma propriedadeselected
somente leitura que recupera se o item é selecionado em uma <menulist> - Os elementos
<menu>
,<menuitem>
e<menuseparator>
agora têm uma propriedadecontrol
somente leitura que retorna incluindo <menulist> - Os elementos
<menu>
,<menuitem>
e<menuseparator>
agora suportam as propriedadesaccessKey
,disabled
,crop
,image
elabel
que configuram o atributo correspondente. - O elemento
<menu>
agora tem métodos para anexar, inserir e remover itens do menu. (bug 372552) - Suporta uma propriedade
editor
para pegar um nsIEditor interno para o campo de texto de uma lista de menu editável. (bug 312867) - Menus podem agora ser feitos trasnlúcidos em plataformas que suportam isso. (bug 70798)
Melhorias da caixa de texto
- Configurando o atributo
spellcheck
para'true'
em uma caixa de texto habilitará a checagem gramatical em linha para esta caixa de texto. (bug 346787) - O
<textbox>
agora tem um métodoreset()
para restaurar o valor da caixa de texto para o valor padrão. A propriedadedefaultValue
pode ser usada para reaver e modificar o valor pardrão da caixa de texto. (bug 312867) - Suporta uma propriedade
editor
para pegar o interno nsIEditor para um campo de texto. (bug 312867) texbox
agora suporta um atributonewlines
que especifica como as quebras de linha em textos colados são manipuladas. (bug 253481) Valores possíveis são:pasteintact
- cola tudo como épastetofirst
- (valor padrão) cola somente até a primeira quebra de linhareplacewithspaces
- substitui as quebras de linha por espaços em brancoreplacewithcommas
- substitui as quebras de linha por vírgulastrip
- tira todas as quebras de linhastripsurroundingwhitespace
- tira todas as quebras de linha e espaço em branco adjacente
Melhorias para outros elementos
- O atributo
type
em um<button>
pode ser configurado para'repeat'
para criar botões que têm seus comandos de eventos repetidos enquanto o botão do mouse estiver pressionado. (bug 331055) - O atributo
buttondisabledaccept
pode agora ser usado no elemento<dialog>
para botões de aceitação (OK) inicialmente habilitados. (bug 247849) - O elemento
<titlebar>
agora suporta o atributoallowevents
para permitir eventos passarem às crianças da barra de título. (bug 361425) - O
<splitter>
agora suporta um valor adicional para o atributocollapse
de'both'
que indica que o divisor pode derrubar elementos em ambos os lados disso quando arrastado. O atributosubstate
configurará qualquer antes ou depois quando está derrubado. (bug 337955) - O elemento
<richlistbox>
agora suporta múltipla seleção. Configue o atributoseltype
para'multiple'
para habilitar isto.
Mudanças na disposição
A documentação de modelos está sendo dirigida por Mark Finkle (mfinkle em #devmo).
Os modelos tiveram significativas melhoras no Firefox 3. A melhora da chave permite o uso de processadores customizados inquirir para manipular outros tipos de códigos de dados adicionalmente ao RDF. Uma nova sintaxe de inquisição torna isto possível. Uma descrição completa das novas características disponíveis para modelos está disponível. (bug 285631)
Outras melhoras nos modelos:
- Condições relacionais foram adicionadas para permitir uma maior precisão no controle sobre que resultados formam uma regra. Estas permissões, por exemplo, tornam os resultados que começam ou terminam com certas strings, ou que estão antes ou depois de outros valores.
- Uma bandeira 'não recurso' foi adicionada para prevenir recursos que aconteçam somente em um nível de resultados que são gerados.
- APIs foram adicionadas ao construtor de modelos para recuperar um objeto resultado representando um item de saída.
- O seviço de tipos XUL está mais robusto e classifica ambos conteúdo e não conteúdo em melhores árvores. Isto também permite a classificação de não modelos que constroem conteúdo. (bug 335122)
Serviço inativo
Um novo serviço foi adicionado para determinar quanto tempo o usuário está inativo (que é, desde a última vez que ele pressionou uma tecla ou moveu seu mouse). Este serviço implementa a interface nsIIdleService
.
Erros notáveis reparados
- Se um erro ocorrer analisando graficamente uma sobreposição, a sobreposição não é aplicada. Erros de análise gramatical são registrados no console de erros. (bug 355755)
- Erro fixado onde os elementos de
<menupopup>
podem ser colocados dentro de um binding quando anexado a um elemento menu ou parecido com menu. (bug 345896) - A propriedade do botão
dlgType
agora trabalha adequadamente. (bug 308591) - O argumento
canBubble
para event.initEvent agora trabalha adequadamente então estes eventos podem ser usados que não daram problema. (bug 330190) - O evento
DOMAttrModified
agora funciona adequadamente com atributos de espaçamento nomeados manualmente. (bug 247095) - Instruções de processamento XML, como em
<?xml-stylesheet ?>
, foram agora adicionados a um documento XUL no DOM. Isto significa quedocument.firstChild
não é garantido como o elemento raiz, em vez disso usedocument.documentElement
. Também, as instruções de processamento<?xml-stylesheet ?>
e<?xul-overlay ?>
agora não tem nenhum efeito fora do documento prolog. (bug 319654) - As funções de
getElementsByAttributeNS
foram adicionadas aos elementos XUL e documentos. (bug 239976) - Ouvidores de eventos são mantidos quando movendo ou removendo um elemento de um documento XUL. (bug 286619)
- Eventos de mutação são agora voltados para documentos não-exibição. (bug 201238)
- Várias edições com elementos desenhados em ordem errada foram arrumados. (bug 317375)
Places
- Comparação da API de Histórico e Favoritos com Fx2
- Anotações
- Inquisições sobre Histórico, Favoritos e Anotações
- Eventos de Histórico e Favoritos
- Sincronização
- Lugares das Bugigangas
Gerenciador de download
- O Back-end convertido de RDF para mozStorage (resultou em uma mudança de API para nsIDownloadManager e nsIDownload). (bug 380250)
- Gerenciador de download pode agora suportar mais do que uma lista de progresso. (bug 289540)
- Veja esta página para informações adicionais.
Gerenciador de senha
- Reescrito, mudanças na API (veja Using_nsILoginManager para exemplos do uso de uma nova API).