Participa en una prueba de baja para el almacenamiento de terceros no particionado, los service workers y las APIs de comunicación.

A partir de Chrome 115, el almacenamiento, los service workers y las APIs de comunicación se particionan en contextos de terceros. Además de estar aisladas por la política del mismo origen, las APIs afectadas que se usan en contextos de terceros también están separadas por el sitio del contexto de nivel superior. Los sitios que no tuvieron tiempo de implementar la compatibilidad con la partición de almacenamiento de terceros pueden participar en una prueba de baja para desparticionar de forma temporal (continuar el aislamiento según la política del mismo origen, pero quitar el aislamiento por el sitio de nivel superior) y restablecer el comportamiento anterior del almacenamiento, los service workers y las APIs de comunicación en el contenido incorporado en su sitio.

Además de una prueba de baja general sin particiones, es posible participar en una prueba de baja enfocada solo para window.sessionStorage. Esta prueba está disponible debido a la necesidad de que algunos sitios migren su flujo de signInWithRedirect de Firebase. Para obtener más información sobre esa migración, consulta este artículo.

Pruebas de baja disponibles

A partir de Chrome 115, abriremos dos pruebas de baja:

  1. DisableThirdPartyStoragePartitioning: Permite desvincular un sitio de nivel superior (quitar temporalmente el aislamiento del sitio de nivel superior) del almacenamiento, los service workers y las APIs de comunicación en el contenido de terceros incorporado en sus páginas.
  2. DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning: Permite que un sitio desvincule sessionStorage en las navegaciones.

Esto permitirá que los sitios descubran y solucionen problemas antes de que la partición de terceros comience su proceso de lanzamiento en Chrome 115.

A continuación, se incluye una descripción general de la prueba de baja y qué esperar del proceso. Si tienes comentarios o problemas durante esta prueba, comunícate con nosotros en el repositorio de GitHub de prueba de baja del almacenamiento particionado.

DisableThirdPartyStoragePartitioning

Las siguientes APIs no estarán particionadas en contextos de terceros si debes inscribir el sitio de nivel superior en la prueba de baja de DisableThirdPartyStoragePartitioning: las APIs de Storage (como localStorage, sessionStorage, IndexedDB, Quota y otras), las APIs de Communication (como BroadcastChannel, SharedWorkers y WebLocks) y la API de ServiceWorker.

Ejemplo:

Diagrama de partición de almacenamiento

Para obtener una explicación más detallada, consulta la explicación del proyecto.

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

Si te inscribes en la prueba de baja de DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning, navegar una pestaña a un origen inscrito hará que todos los iframes entre sitios de ese mismo origen permanezcan sin particionar solo para Window.sessionStorage y solo durante la vida útil de esa pestaña en particular. Mientras que la prueba de baja de DisableThirdPartyStoragePartitioning afecta a todos los contextos de terceros incorporados en el origen inscrito, la prueba de baja de DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning registra un origen determinado para recibir acceso no particionado cuando se incorpora en contextos de terceros.

Ejemplo:

Diagrama de partición de almacenamiento después de la división general.

¿Qué significa esto para los desarrolladores web?

Los sitios deben auditar el uso del almacenamiento no particionado, el service worker y las APIs de comunicación en contextos de terceros y, si es necesario, prepararse para la partición de terceros antes de que venzan estas pruebas de baja. La intención es que estas pruebas de baja venzan con el lanzamiento de Chrome 127 el 23 de julio de 2024. La prueba de baja vencerá para los usuarios que tengan las versiones 111 a 126 de Chrome el 3 de septiembre de 2024.

Para indicar al navegador que desparta el almacenamiento en el contenido de terceros incorporado en sus páginas, los sitios de nivel superior deben registrarse en una o ambas pruebas de baja y agregar los tokens de prueba correspondientes a sus encabezados de respuesta HTTP (consulta el ejemplo detallado a continuación).

Cada prueba de baja está disponible en Windows, Mac, Linux, ChromeOS y Android.

Participar en las pruebas de baja

A continuación, se incluye una breve descripción general de cómo participar en una o ambas pruebas de baja. Para obtener instrucciones más detalladas, visita Comienza a usar las pruebas de origen.

  1. Inicia la versión 115 de Chrome (o una versión posterior) y asegúrate de que la marca ThirdPartyStoragePartitioning esté habilitada.
  2. Verifica que el comportamiento del contenido de terceros incorporado en tu sitio de nivel superior no funcione con la partición de almacenamiento (de lo contrario, no es necesario participar en las pruebas de baja).
  3. Regístrate en la prueba de baja y obtén un token para tus dominios en el siguiente vínculo:
    1. Para que un sitio de nivel superior desparticione el almacenamiento, los service workers y las APIs de comunicación en su contenido incorporado de terceros: DisableThirdPartyStoragePartitioning
    2. Para que un sitio de nivel superior desparticione sessionStorage entre navegaciones: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. Agrega un token de prueba de origen a tu página:
    1. Para la prueba de DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning, puedes agregar un elemento Origin-Trial: <DEPRECATION TRIAL TOKEN> al encabezado de respuesta HTTP de tu sitio de nivel superior, donde <DEPRECATION TRIAL TOKEN> contiene el token que obtuviste cuando te registraste en la prueba de baja. También puedes hacerlo a través de HTML ` que tengan la misma etiqueta de red.
    2. Para la prueba de DisableThirdPartyStoragePartitioning, el token debe proporcionarse con una etiqueta HTML <meta> insertada a través de JavaScript. El método del encabezado HTTP no es compatible.
  5. Carga tu sitio web en Chrome 115 (o versiones posteriores) con ThirdPartyStoragePartitioning aún habilitado y verifica que los problemas relacionados con las particiones se hayan mitigado de forma adecuada.
  6. Para dejar de participar en la prueba de baja, solo quita el token que agregaste en el paso 2.

La prueba de baja de DisableThirdPartyStoragePartitioning admite la función de pruebas de origen de terceros, pero la secuencia de comandos de terceros que inserta el token debe evaluarse en el marco de nivel superior antes de que se cargue el iframe de terceros al que no se aplicará la partición. La prueba de baja de DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning no admite pruebas de origen de terceros, ya que el usuario inscrito debe haber sido el sitio de nivel superior en algún momento del ciclo de vida de la pestaña determinada. En la guía para solucionar problemas en las pruebas de origen de Chrome, se proporciona una lista de tareas completa para garantizar que el token se configure de forma correcta.

Compartir comentarios

Envía los comentarios o problemas que encuentres en el repositorio de GitHub de prueba de baja del almacenamiento particionado.