Beëindigingen en verwijderingen in Chrome 59,Beëindigingen en verwijderingen in Chrome 59

Joe Medley
Joe Medley

In bijna elke versie van Chrome zien we een aanzienlijk aantal updates en verbeteringen aan het product, de prestaties ervan en ook de mogelijkheden van het webplatform. In dit artikel worden de beëindigingen en verwijderingen beschreven van Chrome 59, dat vanaf 27 april in bèta is. Deze lijst kan op elk moment worden gewijzigd.

Schakel navigator.sendBeacon() tijdelijk uit voor sommige blobs

De functie navigator.sendBeacon() is beschikbaar sinds Chrome 39 . Zoals oorspronkelijk geïmplementeerd, kan het data argument van de functie elke willekeurige blob bevatten waarvan het type niet op de CORS-veilige lijst staat. Wij zijn van mening dat dit een potentiële bedreiging voor de veiligheid is, hoewel nog niemand heeft geprobeerd hier misbruik van te maken. Omdat we er GEEN redelijke onmiddellijke oplossing voor hebben, kan sendBeacon() tijdelijk niet langer worden aangeroepen op blobs waarvan het type NIET op de CORS-veilige lijst staat.

Hoewel deze wijziging is doorgevoerd voor Chrome 60, is deze sindsdien weer samengevoegd met Chrome 59.

Chroombug

Verwijder functies uit WebVR die niet in de herziene specificaties vallen

De huidige implementatie van WebVR, oorspronkelijk geïmplementeerd in Chrome 52, bevatte verschillende methoden en eigenschappen die niet in de definitieve specificaties zullen voorkomen. Voor deze functies zijn er beëindigingsberichten toegevoegd voor de Origin-proefperiode die begon in Chrome 56. Deze functies worden nu verwijderd. Ze bevatten:

  • VRDisplay.getPose()
  • VRDisplay.resetPose()
  • VRDisplay.isConnected
  • VRDisplayCapabilities.hasOrientation
  • VREyeParameters.fieldOfView

Intentie om te experimenteren | Chromestatustracker | Chroombug | Origin-proefresultaten tot nu toe

Verwijder FileReaderSync van servicewerknemers

De Service Worker-specificatie heeft altijd de (niet-normatieve) opmerking gehad dat "elk type synchrone verzoeken niet binnen een servicewerker mag worden geïnitieerd", om te voorkomen dat de servicewerker wordt geblokkeerd (aangezien het blokkeren van de servicewerker alle netwerkverzoeken van gecontroleerde pagina's). Synchrone API's zoals FileReaderSync waren echter nog steeds beschikbaar in servicewerknemers. FileReaderSync is verouderd in Chrome 57. Het is verwijderd in Chrome 59.

Intentie om af te schaffen | Chromestatustracker | Chroombug

Verwijder niet-standaard DeviceOrientation Event-initialisatiefuncties

Er is al een tijdje een algemene trend in browser-API's gaande van initialisatiefuncties naar objectconstructors. De meest recente versie van de DeviceOrientation Event Specification volgt deze trend door constructors te vereisen voor zowel DeviceOrientationEvent als DeviceMotionEvent .

Omdat Chrome deze constructors standaard in Chrome 59 inschakelt , worden de oudere initialisatiefuncties initDeviceMotionEvent() en initDeviceOrientationEvent() ook verwijderd. Edge heeft de initialisatiefuncties verouderd en Firefox heeft de constructors al verzonden.

Intentie om te verwijderen | Chroombug

Verwijder de 'on-demand'-waarde voor hover/any-hover-mediaquery's

De 'on-demand'-waarde voor hover/any-hover-mediaquery's is ongeveer een jaar geleden uit de specificatie verwijderd. Bijgevolg worden deze mediaquery's verwijderd in Chrome 59.

Intentie om te verwijderen | Chromestatustracker | Chroombug

Verwijder MediaStreamTrack.remote

In Chrome 48 is de eigenschap MediaStreamTrack.remote toegevoegd ter ondersteuning van de Media Capture and Streams API met als doel JavaScript te laten weten of een WebRTC MediaStreamTrack afkomstig is van een externe bron of een lokale bron.

Sindsdien is deze eigenschap uit de specificatie verwijderd. Vanaf Chrome 59 wordt dit niet langer ondersteund.

Chroombug

Ondersteuning verwijderen bij het maken van ProgressEvent met document.createEvent()

Eerdere versies van de DOM-specificatie vereisten de implementatie van document.createEvent("ProgressEvent") . Het gebruik was echter altijd laag en de ondersteuning van Gecko en Webkit is al verwijderd. Het evenement zelf werd in maart van dit jaar uit de specificatie gehaald .

Om te voldoen aan het platform en de meest recente specificaties is ProgressEvent nu verwijderd uit Chrome.

Chroombug

Verwijder SVGTests.required-functies

In de eerste versie van de SVG-specificatie kon een applicatie DOMImplementation.hasFeature aanroepen om te verifiëren dat een bepaalde SVG-interface wordt ondersteund. Veel SVG-elementen bevatten een requiredFeatures attribuut dat dezelfde informatie retourneerde.

In SVG2 retourneert de eigenschap DOMImplementation.hasFeature altijd waar. Bijgevolg doet requiredFeatures niets nuttigs meer. Omdat het uit de specificatie is verwijderd, is het verouderd in Chrome 54 en is het nu verwijderd.

Intentie om te verwijderen | Chromestatustracker | Chroombug

,

Joe Medley
Joe Medley

In bijna elke versie van Chrome zien we een aanzienlijk aantal updates en verbeteringen aan het product, de prestaties ervan en ook de mogelijkheden van het webplatform. In dit artikel worden de beëindigingen en verwijderingen beschreven van Chrome 59, dat vanaf 27 april in bèta is. Deze lijst kan op elk moment worden gewijzigd.

Schakel navigator.sendBeacon() tijdelijk uit voor sommige blobs

De functie navigator.sendBeacon() is beschikbaar sinds Chrome 39 . Zoals oorspronkelijk geïmplementeerd, kan het data argument van de functie elke willekeurige blob bevatten waarvan het type niet op de CORS-veilige lijst staat. Wij zijn van mening dat dit een potentiële bedreiging voor de veiligheid is, hoewel nog niemand heeft geprobeerd hier misbruik van te maken. Omdat we er GEEN redelijke onmiddellijke oplossing voor hebben, kan sendBeacon() tijdelijk niet langer worden aangeroepen op blobs waarvan het type NIET op de CORS-veilige lijst staat.

Hoewel deze wijziging is doorgevoerd voor Chrome 60, is deze sindsdien weer samengevoegd met Chrome 59.

Chroombug

Verwijder functies uit WebVR die niet in de herziene specificaties vallen

De huidige implementatie van WebVR, oorspronkelijk geïmplementeerd in Chrome 52, bevatte verschillende methoden en eigenschappen die niet in de definitieve specificaties zullen voorkomen. Voor deze functies zijn er beëindigingsberichten toegevoegd voor de Origin-proefperiode die begon in Chrome 56. Deze functies worden nu verwijderd. Ze bevatten:

  • VRDisplay.getPose()
  • VRDisplay.resetPose()
  • VRDisplay.isConnected
  • VRDisplayCapabilities.hasOrientation
  • VREyeParameters.fieldOfView

Intentie om te experimenteren | Chromestatustracker | Chroombug | Origin-proefresultaten tot nu toe

Verwijder FileReaderSync van servicewerknemers

De Service Worker-specificatie heeft altijd de (niet-normatieve) opmerking gehad dat "elk type synchrone verzoeken niet binnen een servicewerker mag worden geïnitieerd", om te voorkomen dat de servicewerker wordt geblokkeerd (aangezien het blokkeren van de servicewerker alle netwerkverzoeken van gecontroleerde pagina's). Synchrone API's zoals FileReaderSync waren echter nog steeds beschikbaar in servicewerknemers. FileReaderSync is verouderd in Chrome 57. Het is verwijderd in Chrome 59.

Intentie om af te schaffen | Chromestatustracker | Chroombug

Verwijder niet-standaard DeviceOrientation Event-initialisatiefuncties

Er is al een tijdje een algemene trend in browser-API's gaande van initialisatiefuncties naar objectconstructors. De meest recente versie van de DeviceOrientation Event Specification volgt deze trend door constructors te vereisen voor zowel DeviceOrientationEvent als DeviceMotionEvent .

Omdat Chrome deze constructors standaard in Chrome 59 inschakelt , worden de oudere initialisatiefuncties initDeviceMotionEvent() en initDeviceOrientationEvent() ook verwijderd. Edge heeft de initialisatiefuncties verouderd en Firefox heeft de constructors al verzonden.

Intentie om te verwijderen | Chroombug

Verwijder de 'on-demand'-waarde voor hover/any-hover-mediaquery's

De 'on-demand'-waarde voor hover/any-hover-mediaquery's is ongeveer een jaar geleden uit de specificatie verwijderd. Bijgevolg worden deze mediaquery's verwijderd in Chrome 59.

Intentie om te verwijderen | Chromestatustracker | Chroombug

Verwijder MediaStreamTrack.remote

In Chrome 48 is de eigenschap MediaStreamTrack.remote toegevoegd ter ondersteuning van de Media Capture and Streams API met als doel JavaScript te laten weten of een WebRTC MediaStreamTrack afkomstig is van een externe bron of een lokale bron.

Sindsdien is deze eigenschap uit de specificatie verwijderd. Vanaf Chrome 59 wordt dit niet langer ondersteund.

Chroombug

Ondersteuning verwijderen bij het maken van ProgressEvent met document.createEvent()

Eerdere versies van de DOM-specificatie vereisten de implementatie van document.createEvent("ProgressEvent") . Het gebruik was echter altijd laag en de ondersteuning van Gecko en Webkit is al verwijderd. Het evenement zelf werd in maart van dit jaar uit de specificatie gehaald .

Om te voldoen aan het platform en de meest recente specificaties is ProgressEvent nu verwijderd uit Chrome.

Chroombug

Verwijder SVGTests.required-functies

In de eerste versie van de SVG-specificatie kon een applicatie DOMImplementation.hasFeature aanroepen om te verifiëren dat een bepaalde SVG-interface wordt ondersteund. Veel SVG-elementen bevatten een requiredFeatures attribuut dat dezelfde informatie retourneerde.

In SVG2 retourneert de eigenschap DOMImplementation.hasFeature altijd waar. Bijgevolg doet requiredFeatures niets nuttigs meer. Omdat het uit de specificatie is verwijderd, is het verouderd in Chrome 54 en is het nu verwijderd.

Intentie om te verwijderen | Chromestatustracker | Chroombug