Personalizando a formatação da urlbar no Firefox

2

O Firefox 6.0 introduziu a formatação de URL na barra de endereços, ou seja, o domain.tld é preto, enquanto os protocolos, subdomínios e caminhos são cinzentos. A entrada about: config relacionada para ativar / desativar esse recurso é browser.urlbar.formatting.enabled. Eu gostaria de personalizar esses elementos. Por exemplo, em vez de cores diferentes, coloque o domínio em negrito.

Minha pesquisa só me levou a discussões sobre como desativar esse recurso, pois essa foi uma mudança controversa na interface. Eu sou a primeira pessoa a pensar nisso?

Inspecionei o DOM quanto a seletores CSS relacionados, mas não encontrei nenhum atributo específico ao domínio ou a outras partes. Também procurei nos vários arquivos XML (por exemplo chrome://browser/content/urlbarBindings.xml#urlbar), mas não sei JavaScript.

Colei o código XML / JavaScript relacionado aqui: http://pastie.org/3122111

iglvzx
fonte

Respostas:

2

Olhando aqui,

https://wiki.mozilla.org/Firefox/Features/Locationbar_Domain_Highlight -> seção Implementação -> Bug 451833 e Bug 654411 -> Bug 654411 # c43 -> patch .

Veja aqui , é o patch que adicionou o recurso de destaque da URL, que inclui a implementação completa.

No segundo bug relacionado ao nsTextFrameThebes.cpp , que foi onde eles mudaram a cor, o código relevante parece ser

1.12 -  nsILookAndFeel* look = mPresContext->LookAndFeel();
1.13 -  nscolor foreColor;
1.14 -  look->GetColor(nsILookAndFeel::eColor_graytext, foreColor);
1.15 -  *aForeColor = foreColor;
1.16 +  nscolor textColor = GetTextColor();
1.17 +  textColor = NS_RGBA(NS_GET_R(textColor),
1.18 +                      NS_GET_G(textColor),
1.19 +                      NS_GET_B(textColor),
1.20 +                      (PRUint8)(255 * 0.5f));
1.21 +  // Don't use true alpha color for readability.
1.22 +  InitCommonColors();
1.23 +  *aForeColor = NS_ComposeColors(mFrameBackgroundColor, textColor);
1.24  }

Então, eu tenho medo que a cor seja codificada.


Para um teste, adicionei isso ao userChrome.css, que não alterou as cores na barra Localização (o nome do domínio ainda está destacado; as mesmas cores):

* {
  color: black !important;
  opacity: 1 !important;
  -moz-appearance: none !important;
}

Ps Não estou familiarizado com a base de código, portanto, fique à vontade para revisar os arquivos mencionados e verificar.


fonte
Excelente, resposta completa. Obrigado. Eu estava preocupado que fosse codificado. Como não há nada que eu possa fazer além de reconstruir o código-fonte, eu enviarei a idéia de bom grado .
iglvzx
Note que o uso color: red !important faz mudar a cor do texto da barra de URL, mas você ainda não pode aplicar um estilo diferente para a parte do domínio eo resto. Vadio.
RomanSt