Programación

Safari y Firefox tienen código oculto que trata diferente a TikTok, Netflix, Amazon y Reddit — Chrome no necesita hacerlo

Safari y Firefox incluyen código por dominio que cambia cómo renderizan sitios como TikTok, Netflix, Amazon y SeatGuru. Chrome no lo necesita porque es el estándar de facto.

Anuncios

Si crees que todos los navegadores web tratan a todos los sitios por igual, prepárate para una sorpresa. Safari y Firefox tienen código oculto que detecta el dominio que estás visitando y cambia cómo se renderiza la página específicamente para ese sitio.

TikTok, Netflix, Instagram, Amazon, Reddit, X (Twitter), Facebook reciben tratamiento especial.

La revelación viene de Den Odell, Staff Engineer en Canva y autor de tres libros técnicos, quien publicó un artículo en su blog personal (Browsers Treat Big Sites Differently).

Lo más impactante: el código está públicamente disponible en los repositorios de WebKit (Quirks.cpp) y en el sistema WebCompat de Firefox. No es especulación, es código compilado que se envía a miles de millones de dispositivos.

¿Qué son exactamente los «quirks» o «intervenciones»?

Son parches específicos por dominio que los navegadores inyectan silenciosamente para corregir sitios web rotos. No aparece en tus registros de errores, no hay una advertencia en la consola. La corrección es invisible por diseño.

Cada «quirk» es básicamente un if (dominio == X) { haz Y } compilado dentro del motor del navegador. En WebKit (Safari) hay más de 3,500 líneas de código dedicadas a esto en el archivo Quirks.cpp. En Firefox puedes abrir about:compat en la barra de direcciones y ver la lista completa de intervenciones con interruptores para activarlas o desactivarlas.

Como explicó Karl Dubost de Apple en la conferencia de contribuidores de WebKit 2023, estos quirks son como el kintsugi japonés (el arte de reparar cerámica con oro): reparan la web rota, pero la cicatriz queda oculta.

Ejemplos concretos del código

Odell extrajo varios ejemplos directamente del código fuente. Aquí algunos de los más reveladores:

Facebook, X (Twitter) y Reddit — Video en PiP

El código de WebKit dice: «Facebook, X (twitter) y Reddit pausarán ingenuamente un elemento <video> que se haya desplazado fuera del viewport, independientemente de si ese elemento está actualmente en modo PiP.» Safari detecta si estás en esos dominios y cambia cómo maneja la reproducción de video.

Amazon — Zoom de productos

El código verifica: «Cuando se hace panning en una imagen de producto de Amazon, se está tocando el elemento #magnifierLens o su hermano anterior.» Safari cambia la traducción de eventos táctiles a mouse específicamente para Amazon.

IKEA — La historia de una quirk que nació y murió

Karl Dubost documentó en la presentación de WebKit 2023 el caso de IKEA. En octubre de 2022, se reportó que el sitio de IKEA estaba roto en Safari. En noviembre se agregó una quirk específica.

El código detectaba si el dominio era ikea.com y si usaba Gatsby 4.24.1 como generador, y desactivaba la carga perezosa de imágenes. IKEA finalmente arregló su sitio en abril de 2023, la quirk se eliminó en mayo, y Safari 17.1 ya no la incluía.

Netflix, TikTok, Twitch, Zillow, Amazon Prime Video…

La lista es extensa. Cada uno tiene su propia intervención específica: Netflix tenía problemas con botones que descartaban popovers incorrectamente, TikTok mostraba mensajes de «actualiza tu navegador» a usuarios de Safari, Twitch pausaba videos PiP al cambiar de pestaña, y Amazon Prime Video directamente no permitía ver contenido a usuarios de Safari hasta que WebKit agregó una quirk.

¿Por qué Chrome no necesita hacer esto?

Aquí está el nudo de la cuestión. Chrome no tiene un archivo Quirks.cpp equivalente, no porque sea técnicamente superior, sino porque el 80%+ del mercado usa Chrome o navegadores basados en Chromium.

El patrón es simple: Chrome domina el mercado → los desarrolladores construyen principalmente para Chrome → los sitios funcionan mejor en Chrome → los usuarios de Safari/Firefox ven sitios rotos → Safari/Firefox tienen que parchearlos. Se crea un círculo vicioso que refuerza el dominio de Chrome.

De hecho, tanto Safari como Firefox se hacen pasar por Chrome cuando visitan ciertos sitios. Safari envía un user agent falso de Chrome para sitios como Amazon Video. Firefox hace lo mismo en múltiples servicios de streaming que bloquean activamente a navegadores que no sean Chrome.

Lo que esto significa para tu sitio web

Si eres desarrollador, esto debería preocuparte. Odell lo dice claramente: «Tu sitio podría estar recibiendo tratamiento especial de renderizado y podrías no estar al tanto. Esa quirk no aparece en tus registros de errores ni hay una advertencia en la consola.»

Si pruebas principalmente en Chrome, estás especialmente expuesto. Tu sitio podría funcionar perfectamente no porque escribiste buen código, sino porque Chrome oculta tus errores.

La recomendación de Odell es simple pero poderosa: Abre tu sitio en Firefox y Safari regularmente, no solo antes de un lanzamiento importante. Los archivos de quirks existen precisamente porque los desarrolladores no hicieron eso.

El peligro de repetir la historia

Hace dos décadas, Internet Explorer dominaba el mercado exactamente de la misma manera. Los desarrolladores construían para IE, los sitios se rompían en otros navegadores, y el estándar web se convirtió en lo que IE decidía que fuera. Salir de ese agujero nos tomó más de una década.

Como concluye Odell: «Los estándares iban a eliminar el código específico de navegadores. Cavamos para salir de la era de IE, celebramos, y luego construimos exactamente el mismo agujero alrededor de un navegador diferente. Solo que ahora el código específico de navegador vive en los navegadores que no son dominantes, parcheando una web construida para el que sí lo es.»

Fuentes: Den Odell (artículo original), WebKit Quirks.cpp (GitHub), Firefox WebCompat, Karl Dubost / WebKit Quirks (otsukare), WebKit Contributors Meeting 2023 (PDF), daily.dev

Avatar photo
Sobre el autor

Julio Del Angel

Redactor en Facialix

Ingeniero en Sistemas, egresado del Instituto Tecnológico Superior de Pánuco (TecNM), Veracruz. Especializado en desarrollo de software, tecnología e inteligencia artificial. Fundador y editor de Facialix, donde analiza noticias, avances científicos y oportunidades educativas.

Ver todos sus artículos →

Deja un comentario