Firefox 3 para desenvolvedores

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

Aplicações Web 1.0 (HTML5, XHTML5) é ainda um esboço sendo trabalhado, não final.

Recursos offline

A implementação está em progresso - veja bug 367447 e dependências. Spec em progresso está em http://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 e inline-table do display 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() e hsla() (bug 147017)
  • Suporte a pseudo-classe :default (bug 302186)
  • Os valores -moz-intrinsic, -moz-min-intrinsic, -moz-shrink-wrap e -moz-fill foram adicionados a width, min-width e max-width (bug 311415)

DOM

  • As extensões DOM clientTop e clientLeft 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 incorretamente false (bug 127013).

JavaScript

XSLT/XPath

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-se nsSVGAElement 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 texto type 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 atributo type, 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 atributo overflow 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 e editable foram adicionadas a lista de menu
  • Os elementos <menu>, <menuitem> e <menuseparator> agora têm uma propriedade selected somente leitura que recupera se o item é selecionado em uma <menulist>
  • Os elementos <menu>, <menuitem> e <menuseparator> agora têm uma propriedade control somente leitura que retorna incluindo <menulist>
  • Os elementos <menu>, <menuitem> e <menuseparator> agora suportam as propriedades accessKey, disabled, crop, image e label 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étodo reset() para restaurar o valor da caixa de texto para o valor padrão. A propriedade defaultValue 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 atributo newlines 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 linha
    • replacewithspaces - substitui as quebras de linha por espaços em branco
    • replacewithcommas - substitui as quebras de linha por vírgula
    • strip - tira todas as quebras de linha
    • stripsurroundingwhitespace - 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 atributo allowevents para permitir eventos passarem às crianças da barra de título. (bug 361425)
  • O <splitter> agora suporta um valor adicional para o atributo collapse de 'both' que indica que o divisor pode derrubar elementos em ambos os lados disso quando arrastado. O atributo substate configurará qualquer antes ou depois quando está derrubado. (bug 337955)
  • O elemento <richlistbox> agora suporta múltipla seleção. Configue o atributo seltype 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 que document.firstChild não é garantido como o elemento raiz, em vez disso use document.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

Coletor do ciclo de XPCOM

Veja também

*Updating extensions for Firefox 3

Etiquetas do documento e colaboradores

Última atualização por: fscholz,