XMLHttpRequest ohne Manifest-Berechtigungen erfolgreich? Vielleicht CORS?

Ich habe eine Google Chrome-Erweiterung entwickelt, die die YouTube-Daten-API verwendetv2. Mein Berechtigungsfeld im Manifest sieht folgendermaßen aus, da das Skript in Seiten unter youtube.com eingefügt wird und ich auch Zugriff auf Registerkarten benötige:

"permissions": ["tabs", "*://*.youtube.com/*"]

Dies funktioniert auch, wenn ich eine Anfrage an die YouTube-Daten-API stellev2 weil die Anfrage an erfolgt isthttp://gdata.youtube.com/, so ist es die gleiche Domain. Aber jetzt migriere ich zu YouTube Data APIv3, und die Anfragen müssen an erfolgenhttp://www.googleapis.com/youtube/v3/ (HinweisHTTPS anstelle von HTTP auch). ÜberraschenderweiseMeine Anfragen funktionieren einwandfrei, ohne dass eine neue Berechtigung hinzugefügt wird.

Ich weiß, ich frage etwas, das kein Problem zu sein scheint, aber ich persönlich betrachte jedes Verhalten, das ich in meiner Software nicht verstehe, als Problem. Warum passiert das? Soll ich nicht eine Erlaubnis wie hinzufügen"*://*.googleapis.com/*" damit meine XMLHttpRequest-Anfragen an die API funktionieren?

ich habe auchein König der Vermutung darüber:HTTP Access Control-Header. Meine Anfragen senden eineOrigin Header mit Wertchrome-extension://myExtensionId. Die Antwort von der API enthält auch den folgenden Header:

Access-Control-Allow-Origin: chrome-extension://myExtensionId

Aber kann dies der Grund sein, warum Chrome es mir ermöglicht, eine ursprungsübergreifende XMLHttpRequest-Anforderung ohne die im Manifest definierten zusätzlichen Berechtigungen auszuführen? Nicht sicher, und anscheinend ist dies nirgendwo in der Dokumentation für Google APIs, YouTube Data API v3 oder Chrome Extensions-Entwickler dokumentiert.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage