- Spegnimento
- 6 settembre 2026 alle ore 04:30 UTC
- Autore
- Kamo
- Impegno
- 3f4c60b
Un'icona scheda caricata come un PNG-8 trasparente è arrivato nella scheda del browser come un nero quadrato con un logo ragged su di esso. Misurato sul caricamento che l'ha esposto: del 9216 pixel in favicon-96x96.png, il 5194 che erano trasparenti è uscito opaco nero, e il segno che è sopravvissuto è stato giù da 237 colori distinti a 46. La trasparenza era intatta fino alla scala. ImageIO decode un PNG indicizzato a TYPE BYTE INDEXED con un IndexColorModel la cui trasparenza è una voce di tavolozza — pixel (0,0) legge 0047704C, alfa zero, correttamente. Pollice: conserva l'immagine della fonte TYPE quando si scala, così ha costruito un fresco indicizzato immagine con una tavolozza DEFAULT: l'ingresso alfa era andato, gli indici sopravvissuti colori affrontati che non significavano più nulla, e (0,0) è tornato FF000000. fitSquare's tela era ARGB per tutto il tempo e fedelmente copiato pixel che erano già nero — è per questo che il bug sembra che vive lì e non lo fa. rasterise ora normalizza TYPE INT ARGB prima che altro tocchi l'immagine. Convertire una volta dove la fonte è prodotta, piuttosto che passare .imageType() a ciascuno dei sette siti di chiamata, fa "tutto oltre questo punto è ARGB" tenere per i consumatori hanno aggiunto più tardi, e costa una copia invece di sette. Non nuovo, e non solo PNG-8: GIF è sempre indicizzato, quindi qualsiasi org il cui img/logo. # era davvero un GIF ha avuto un favicone nero per tutto il tempo che il percorso raster ha esisteva. E' andato inosservato perche' l'unica fonte che qualcuno ha nutrito era un SVG, che Batik riporta come ARGB. Divenne raggiungibile di proposito quando le icone della scheda ha iniziato ad accettare caricamenti raster — PNG-8 è esattamente ciò che "salva per il web" ti dà per una piccola icona di colore piatto. Quattro test di regressione lo coprono: i PNG, i frame .ico (che partono da un strada diversa, imballata da IcoEncoder), un GIF, e si afferma il marchio mantiene il suo il proprio colore piuttosto che semplicemente la sua trasparenza. Ogni test esistente in questa classe alimentato TYPE INT ARGB, la forma di ingresso che non ha mai avuto il problema. Verificato contro il file reale caricato: 5185/9216 pixel trasparenti, corrispondenti la proporzione della fonte, e 237 colori distinti dove c'era stato 46. Le organizzazioni con un'icona della scheda già generata hanno bisogno di una riprogrammazione per scegliere la nuovi bytes up; la revisione del tema cambia con esso, così i browser rivalutano.