XMLHttpRequest powiedzie się bez uprawnień manifestu? Może CORS?

Opracowałem rozszerzenia Google Chrome, które używają API danych YouTubev2. Moje pole uprawnień w manifeście wygląda tak, ponieważ skrypt jest wstrzykiwany na strony pod youtube.com i potrzebuję również dostępu do kart:

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

Działa to również, gdy wykonuję żądanie do API danych YouTubev2 ponieważ żądanie zostało wykonanehttp://gdata.youtube.com/, więc jest to ta sama domena. Ale teraz migruję do API danych YouTubev3i prośby muszą być wykonanehttp://www.googleapis.com/youtube/v3/ (UwagaHTTPS zamiast HTTP). Zaskakującomoje żądania działają idealnie bez dodawania żadnych nowych uprawnień.

Wiem, pytam o coś, co nie wydaje się być problemem, ale osobiście uważam każde zachowanie, którego nie rozumiem w moim oprogramowaniu, za problem. Dlaczego to się dzieje? Czy nie mam dodawać pozwolenia, takiego jak"*://*.googleapis.com/*" aby moje żądania XMLHttpRequest do API działały?

też mamjakiś król zgadywania o tym:Nagłówki kontroli dostępu HTTP. Moje prośby wysyłająOrigin nagłówek z wartościąchrome-extension://myExtensionId. Odpowiedź z interfejsu API zawiera również następujący nagłówek:

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

Ale czy to może być przyczyna, dla której Chrome pozwala mi na tworzenie współrzędnych XMLHttpRequest bez żadnych dodatkowych uprawnień zdefiniowanych w manifeście? Nie jestem pewien i najwyraźniej nie jest to udokumentowane nigdzie w interfejsach Google API, YouTube Data API v3 ani dokumentacji programistów rozszerzeń Chrome.

questionAnswers(1)

yourAnswerToTheQuestion