Pourquoi Firefox Developer Edition utilise-t-il les URL chrome: // pour charger les scripts? [dupliquer]

14

Je viens de télécharger une copie du nouveau navigateur Firefox Developer Edition et j'ai commencé à jouer avec les outils de développement.

J'ai remarqué que certains des liens et des scripts étaient chargés via des chrome://URL, que je pensais être enregistrées pour Google Chrome.

entrez la description de l'image ici

Voici certaines de ces lignes en particulier.

<link id="favicon" rel="icon" type="image/png" href="chrome://branding/content/icon32.png"></link>
<link rel="stylesheet" type="text/css" media="all" href="chrome://browser/content/searchSuggestionUI.css"></link>
<link rel="stylesheet" type="text/css" media="all" defer="defer" href="chrome://browser/content/abouthome/aboutHome.css"></link>
<script type="text/javascript;version=1.8" src="chrome://browser/content/abouthome/aboutHome.js"></script>
<script type="text/javascript;version=1.8" src="chrome://browser/content/searchSuggestionUI.js"></script>

Je me demandais s'ils détournaient des actifs Chrome, mais après avoir vérifié l'un de ces scripts, j'ai trouvé un commentaire Mozilla.

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

Je ne connais pas grand-chose aux protocoles personnalisés ni à la manière dont ils sont enregistrés ou utilisés. Que se passe t-il ici?

Dan Prince
la source

Réponses:

36

Dans ce cas, Chrome ne fait pas référence au navigateur Chrome, mais à la partie "interface utilisateur" de Chrome de Firefox.

Voir https://developer.mozilla.org/en-US/docs/Glossary/Chrome pour plus d'informations:

Résumé

Chrome est à l'origine un terme désignant les parties de l'interface utilisateur d'un navigateur Web autres que la page Web qu'il affiche.

"Chrome" est également souvent utilisé pour faire référence au navigateur Web Google Chrome.

...

le code chrome ou code privilégié par chrome est le nom donné au code JavaScript dans Firefox qui implémente le navigateur lui-même

Pour référence future, le Mozilla Developer Network (MDN) contient une mine de connaissances sur tout ce qui concerne Mozilla.

enalicho
la source
36
Et notez que ce mot est utilisé par MOzilla depuis bien plus longtemps que le navigateur Chrome.
M. Lister
17
Et en fait, Google Chrome tire son nom du concept de navigateur Chrome, car il a été conçu pour être un navigateur qui élimine autant de chrome inutile que possible.
3Doubloons
2
@ 3Doubloons Chrome actuel a-t-il toujours cette philosophie? En utilisant Chrome, en particulier sur Mac, c'est sans doute le navigateur le plus lent et consomme le plus de mémoire.
theGreenCabbage
4
@theGreenCabbage: la consommation de mémoire (efficacité) n'est pas directement liée au minimalisme (sans doute un mouvement artistique moderne). Bien qu'en théorie, une interface utilisateur minimale devrait utiliser moins de ressources, ce qui n'est pas vrai lorsque, pour atteindre ce minimalisme (comme dans Google Chrome), vous ignorez les API fournies par le système d'exploitation pour Windows, etc. et écrivez tout vous-même à partir de zéro.
slebetman
1

protocoles personnalisés ou comment ils sont enregistrés ou utilisés

Il est important de noter qu'il ne s'agit pas d' un protocole, mais plutôt d'un schéma d'URI . Un protocole de mise en réseau définit le format de communication; un schéma d'URI spécifie la sémantique de l'URI.

que je pensais être enregistrés pour Google Chrome

L'IANA maintient une liste de schémas d'URI provisoires. Le chromeschéma est actuellement enregistré en tant que schéma provisoire, avec deux définitions: une pour l'utilisation de Mozilla et une pour l'utilisation de Google.

Bien sûr, il est possible d'utiliser votre propre schéma sans l'enregistrer officiellement. Mais cela pose des problèmes lorsque d'autres commencent à utiliser le même nom de schéma à des fins différentes, comme cela s'est produit ici.

L'une des directives RFC 4395 pour l'enregistrement d'un schéma provisoire est la suivante:

  There is not already an entry with the same URI scheme name.  (In
  the unfortunate case that there are multiple, different uses of
  the same scheme name, the IESG may approve a request to modify an
  existing entry to note the separate use.)

Il est intéressant de noter que les deux définitions enregistrées actuelles ont le même contact répertorié, qui utilise une microsoft.comadresse e-mail - et le modèle d'enregistrement d'origine était en 2012, après que Mozilla et Chrome l'utilisaient déjà. Il semble donc que Mozilla ne l'ait jamais enregistré auprès de l'IANA, et maintenant nous sommes dans cette situation avec deux utilisations différentes du même nom de schéma.

Bob
la source
Alors que l'autre réponse a porté sur l'utilisation réelle de Firefox, je voulais simplement souligner le fonctionnement réel de l'enregistrement et l'état actuel de l' chromeenregistrement du schéma "officiel" .
Bob