Personalizando a formatação de urlbar no Firefox

2

O Firefox 6.0 introduziu formatação de URL na barra de endereço, ou seja, o domínio.tld é preto, enquanto protocolos, subdomínios e caminhos são cinza. 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, torne o domínio em negrito.

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

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

Eu colei o código XML / JavaScript relacionado aqui: link

    
por iglvzx 04.01.2012 / 02:55

1 resposta

2

Olhando aqui,

link - > Seção de implementação - > Bug 451833 & Bug 654411 - > Bug 654411 # c43 - > patch .

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

Do segundo bug relacionado a nsTextFrameThebes.cpp , é aí que eles mudaram a própria cor, a parte relevante do código 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  }

Por isso, receio que a cor esteja codificada.

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

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

p. Eu não estou familiarizado com a base de código, então sinta-se à vontade para revisar os arquivos mencionados e verificar.

    
por 04.01.2012 / 12:36