En casi todas las versiones de Chrome, vemos un número significativo de actualizaciones y mejoras al producto, su rendimiento y también las capacidades de la Web de procesamiento de macrodatos en Google Cloud Platform. En este artículo, se describen las bajas y las eliminaciones en Chrome 60, que se encuentra en fase beta desde el 8 de junio. Esta lista está sujeta a cambios en cualquier momento.
Seguridad
crypto.subtle ahora requiere un origen seguro
La API de Web Crypto
compatible desde la versión 37 de Chrome siempre ha funcionado en aplicaciones
orígenes. Debido a la política de Chrome
la preferencia por orígenes seguros para funciones potentes,
crypto.subtle
no solo es visible en orígenes seguros.
Intención de quitar | Error de Chromium
Cómo quitar las navegaciones del fotograma superior iniciadas por el contenido a las URLs de datos
Debido al desconocimiento de los usuarios de navegadores no técnicos,
Cada vez se usa más el esquema data:
para la falsificación de identidad y phishing
de ataques de seguridad cibernética. Para evitarlo, bloqueamos la carga de las URLs de data:
en las páginas web
en el marco superior. Esto se aplica a las etiquetas <a>
, window.open
,
window.location
y mecanismos similares El esquema data:
seguirá funcionando para
recursos cargados por una página.
Esta función dejó de estar disponible en Chrome 58 y ahora se quitó.
Intención de quitar | Seguimiento de Chromestatus | Error de Chromium
Inhabilita temporalmente navigator.sendBeacon() para algunos BLOB.
La función navigator.sendBeacon()
está disponible
desde Chrome 39.
Como se implementó originalmente, el argumento data
de la función podría contener cualquier
BLOB arbitrario cuyo tipo no esté incluido en la lista segura de CORS. Creemos que se trata de un potencial
una amenaza real de seguridad, aunque nadie haya intentado explotarla. Debido a que NO
una solución razonable y inmediata. Por el momento, sendBeacon()
no puede
ya no se podrá invocar en los BLOB cuyo tipo NO esté incluido en la lista segura de CORS.
Si bien este cambio se implementó en Chrome 60, ya se combinó volver a Chrome 59.
CSS
Haz que la combinación de descendiente de desbordamiento de sombras se comporte como un combinador descendiente
La combinadora descendente de desbordamiento de sombras (>>>
), que forma parte de
Nivel 1 del módulo de permisos de CSS
, estaba destinado a hacer coincidir los elementos secundarios de un elemento principal en particular.
incluso cuando aparecían dentro de un árbol de sombras. Esto tenía algunas limitaciones.
Primero, según la especificación,
solo podían usarse en llamadas de JavaScript, como querySelector()
, y no se
trabajar en hojas de estilo. Más importante aún, los proveedores de navegadores no pudieron hacer
trabajar más allá de un nivel del Shadow DOM.
En consecuencia, se quitó la combinación descendiente de las especificaciones relevantes incluido Shadow DOM v1. En lugar de dañar las páginas web con la eliminación de este selector desde Chromium, elegimos asignarle un alias a la imagen descendente, de combinación alta a la subordinada. El comportamiento original era obsoleta en Chrome 45. El nuevo comportamiento se implementará en Chrome 61.
Intención de quitar | Seguimiento de Chromestatus | Error de Chromium
JavaScript
Baja y eliminación de RTCPeerConnection.getStreamById()
Hace casi dos años, se quitó a getStreamById()
de la especificación de WebRTC. La mayoría de los demás navegadores tienen
ya lo quitaron de sus implementaciones. Aunque esta función es
se cree que se usa poco, también se cree que hay algunos
riesgo de interoperabilidad con navegadores basados en Edge y WebKit que no sean Safari
donde getStreamById()
todavía es compatible. Desarrolladores que necesitan una alternativa
implementación puede encontrar código de ejemplo en el intent de eliminación, a continuación.
La eliminación está en Chrome 62.
Intención de quitar | Seguimiento de Chromestatus | Error de Chromium
SVGPathElement.getPathSegAtLength dejó de estar disponible
Hace más de dos años, se quitó a getPathSegAtLength()
de la especificación de SVG.
Como solo hay unos pocos hits para este método en httparchive, es
dejará de estar disponible en Chrome 60. Se espera que la eliminación se realice en Chrome 62,
se enviará en algún momento a principios o mediados de octubre.
Intención de dar de baja | Seguimiento de Chromestatus | Error de Chromium
Cómo mover getContextAttributes() detrás de una marca
La función getContextAttributes()
es compatible con
CanvasRenderingContext2D
desde 2013. Sin embargo, la función no formaba parte de ningún estándar y no se convirtió en una
parte de una desde ese momento. Debería haberse implementado tras el
la marca de línea de comandos --enable-experimental-canvas-features
, pero se produjo por error
no. En Chrome 60, se corrigió este descuido. Se cree que esto
el cambio es seguro, ya que no hay datos que muestren que alguien esté usando el método.
Se quitó Headers.prototype.getAll().
La función Headers.prototype.getAll()
se quitará según la última
versión de la especificación de recuperación.
Intención de quitar | Seguimiento de Chromestatus | Error de Chromium
Quitar indexDB.webkitGetDatabaseNames()
Agregamos esta función cuando la base de datos indexada era relativamente nueva en Chrome y se agregaron prefijos era furor. La API devuelve una lista de las bases de datos existentes de forma asíncrona nombres en un origen, que parecían bastante sensatos.
Lamentablemente, el diseño es defectuoso, ya que los resultados pueden quedar obsoletos en cuanto a medida que se devuelven, por lo que solo se puede usar para el registro, no para la lógica de la aplicación. El problema de GitHub hace seguimiento/vincula a el debate anterior sobre las alternativas, lo que requeriría un enfoque diferente. Si bien ha habido un interés constante entre los desarrolladores, dada la falta de del navegador en el que los autores de la biblioteca resolvieron el problema.
Los desarrolladores que necesiten esta función deben desarrollar su propia solución. Las bibliotecas como Dexie.js, por ejemplo, usan una tabla global. que es otra base de datos para rastrear los nombres de las bases de datos.
Esta función dejó de estar disponible en Chrome 58 y ahora se quitó.
Intención de eliminar | Seguimiento de Chromestatus | Error de Chromium
Quitar WEBKIT_KEYFRAMES_RULE y WEBKIT_KEYFRAME_RULE
Las constantes WEBKIT_KEYFRAMES_RULE
y WEBKIT_KEYFRAME_RULE
no estándar
se quitan de
Regla de CSS.
En su lugar, los desarrolladores deben usar KEYFRAMES_RULE
y KEYFRAME_RULE
.
Intención de eliminar | Seguimiento de Chromestatus | Error de Chromium
Interfaz de usuario
Requerir el gesto del usuario para los diálogos beforeunload
A partir de Chrome 60, el diálogo beforeunload
solo aparecerá si el marco
intenta mostrar que recibió un gesto o interacción del usuario (o si
cualquier marco integrado haya recibido dicho gesto). Para ser claros, este no es un
cambio en el envío del evento beforeunload
Es solo un cambio en
si se muestra el diálogo.
El cuadro de diálogo beforeunload
es un cuadro de diálogo modal de la app. Como tal, es inherentemente
hostil del usuario, lo que significa que responde a la navegación del usuario cuestionando
decisión. Esta función tiene usos positivos. Por ejemplo, se suele usar
para advertir a los usuarios cuando perderán datos durante la navegación.
Mientras que la capacidad de una página para proporcionar texto para el diálogo beforeunload
era
quitado hace un tiempo, los diálogos beforeunload
siguen siendo un vector de abuso. En
En particular, los diálogos de beforeunload
pertenecen a sitios web de estafas, en los que
la reproducción automática de audio y el texto amenazante brindan un contexto en el que Chromium
proporcionado "¿Estás seguro de que deseas abandonar esta página?" mensaje se vuelve preocupante.
Queremos encadenar la aguja y solo permitir buenos usos de beforeunload
.
. Los buenos usos del diálogo son aquellos en los que el usuario tiene un estado que podría
perdido. Si el usuario nunca interactuó con la página, no podrá tener
de estado que se puedan perder y, por lo tanto, no arriesgamos la pérdida de datos del usuario
supresión del diálogo en ese caso.