M120 stage 4

This commit is contained in:
Alexander Frick 2024-01-22 12:24:47 -06:00
parent 0439b287be
commit a46257608b
31 changed files with 783 additions and 1181 deletions

View file

@ -22,6 +22,7 @@
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/app/settings_strings.grdp;bpv=1;bpt=0" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">settings_strings.grdp - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/app/shared_settings_strings.grdp;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">shared_settings_strings.grdp - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/app/generated_resources.grd;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">generated_resources.grd - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/app/app_management_strings.grdp;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">app_management_strings.grdp - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:third_party/ffmpeg/ffmpeg_options.gni;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">ffmpeg_options.gni - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/browser/background/background_mode_manager.cc;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">background_mode_manager.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/browser/federated_learning/floc_id_provider_factory.cc;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">floc_id_provider_factory.cc - Chromium Code Search</A>
@ -110,7 +111,6 @@
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:BUILD.gn;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">BUILD.gn - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:content/test/BUILD.gn;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">BUILD.gn - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/browser/memory_details_linux.cc;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">memory_details_linux.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:ui/gtk/gtk_util.cc;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">gtk_util.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/chrome_proxy/chrome_proxy_main_win.cc;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">chrome_proxy_main_win.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/app/chrome_exe.ver;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">chrome_exe.ver - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/app/chrome_exe.vsprops;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">chrome_exe.vsprops - Chromium Code Search</A>
@ -127,7 +127,6 @@
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:build/install-build-deps.py;bpv=1" ADD_DATE="1679165445" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">install-build-deps.py - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:components/ukm/scheme_constants.cc;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">scheme_constants.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/browser/ui/webui/about_ui.cc;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">about_ui.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:chrome/app/app_management_strings.grdp;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">app_management_strings.grdp - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:components/neterror/" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">neterror - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:components/flags_ui/resources/;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">resources - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.235:components/flags_ui/flags_state.cc;bpv=1" ADD_DATE="1661054752" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADIUlEQVQ4jW1TXWwUZRQ955ufnZ3dlm4VpE2Q+lND1cSQYDBaKY2VEkUFa1d9K4laBROEIg+mDfvkg5Bu9MWoD/hkTJdqJBFCMRENEqONRkMbIiWGWn5SjWw7OzO7szPf9UFCCnrebu7JuTc55xA3QURYKkEtXw7+1gDm0mDWBtMm+GcAnb+P0VI+lw4fTIp7C6O7dU3nlKFyisxp0TmDRpMmmyDSCqLY96D1HUQIUsxrd9nfD3VrHDbDTi/ENi5V/TCdtmlQ0Y60dmwANNXT0HpodEx+2kNUb/4e45PSUhBR/1lcw6Gvf3fGf4gmJn6NBgGgUBBFAHj+vepdKSvp2r5m/pPu7juqA4fEOTcXvhaG2KAMVjOp5MjJ4eynBOTIz7Vnzs5Jcfoiej9+1TlHAHjyneArKrl/XcVtnQLcS/A/b23J9DzUBgQRcPo84JX90VOF7JCIGFsOBLMCTB/dl3lc9b+7uA1O+jHb4OuFAvVl+oOtLZmekc1JbUc36nt7pb6zK0mslL2n6+3wUZJJyuIuOm7Ps8Xyc8qP3Q+TMDj+2W73MABUatK5vg26vcVQf3navOqL+Ui7kay53dJeEG8AgPE33PEkDI6HSfZ9BRFAQJF/LSVYDSIQEBiKsE0lsRaGNSiTEl43X4SAQKWN8GUj427qG/XyAJB15IvTM+CJKW04FuoiEpd+1Grmj8BvzPIYAGwten2mm9mUsauDBIAnDvgnAHQMrHZX5/NMOguLBy07NXTPKhvVGnDhb0BH3pvfDjcelDExnpoNLormmS/3uT0KAFY0xDs2dhiLqXZsBoBThca9QK1z8mxlZPpCZZeq+2dMqi2AcGYtzOZG9dayrHoFACgiJCkTU9FAJZCtCxX7he3dvCFl60b8ta6lh2/T2Rdf2oam3gc4f2MXRLi7NOd0tq34iFS/aNFHIwBhJLGVSLRqZd3rWNYQfj+L5igOdb6YvoISNEC5LgBSDk9G6ynYScgVrbGgFMsQKSdiLIhIWSe6rGifzz/M8H/bCABjU2L781BeOCMrK5FcvfNeuexB8M1J7N+/MSEpS/n/AGH0clblBN69AAAAAElFTkSuQmCC">flags_state.cc - Chromium Code Search</A>

View file

@ -1,4 +1,4 @@
# Copyright 2023 The Chromium Authors and Alex313031
# Copyright 2024 The Chromium Authors and Alex313031
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@ -42,8 +42,8 @@ if (is_android) {
if (is_fuchsia) {
import("//build/config/fuchsia/generate_runner_scripts.gni")
import("//third_party/fuchsia-sdk/sdk/build/component.gni")
import("//third_party/fuchsia-sdk/sdk/build/package.gni")
import("//third_party/fuchsia-gn-sdk/src/component.gni")
import("//third_party/fuchsia-gn-sdk/src/package.gni")
}
if (is_linux) {
@ -113,6 +113,7 @@ group("gn_all") {
"//services/service_manager/public/cpp",
"//skia:skia_unittests",
"//sql:sql_unittests",
"//testing/libfuzzer/tests",
"//third_party/angle/src/tests:angle_end2end_tests",
"//third_party/angle/src/tests:angle_unittests",
"//third_party/angle/src/tests:angle_white_box_tests",
@ -178,10 +179,7 @@ group("gn_all") {
}
if (is_chromeos_lacros) {
deps += [
"//chrome/test:lacros_chrome_browsertests",
"//chrome/test:lacros_chrome_unittests",
]
deps += [ "//chrome/test:lacros_chrome_unittests" ]
}
if (!is_ios && !is_castos) {
@ -779,13 +777,6 @@ group("gn_all") {
if (is_chromeos_ash) {
deps += [ "//chrome/services/ipp_parser/public/cpp:fuzzers" ]
}
# TODO(crbug.com/906751): Get the libFuzzer tests working on Windows.
# Disable them for now because they cause the Windows clang ToT builder to
# fail.
if (!is_win) {
deps += [ "//testing/libfuzzer/tests:libfuzzer_tests" ]
}
}
# TODO(https://crbug.com/1299021): Remove the special case for arm64.
@ -830,8 +821,8 @@ group("gn_all") {
"//third_party/dawn/src/dawn/fuzzers:fuzzers",
"//third_party/dawn/src/dawn/tests:dawn_end2end_tests",
"//third_party/dawn/src/dawn/tests:dawn_unittests",
"//third_party/dawn/src/tint:tint_unittests",
"//third_party/dawn/src/tint/fuzzers",
"//third_party/dawn/src/tint:fuzzers",
"//third_party/dawn/src/tint:tests",
]
}
@ -1616,6 +1607,10 @@ if (use_blink && !is_cronet_build) {
"//tools/idl_parser/",
]
if (is_ios) {
data += [ "//third_party/blink/web_tests/IOSTestExpectations" ]
}
data_deps = [ "//ui/base:goldctl" ]
}
}
@ -1713,7 +1708,7 @@ if (!is_ios && !is_android && !is_castos && !is_cronet_build) {
}
if (build_dawn_tests) {
deps += [ "//third_party/dawn/src/tint/fuzzers:fuzzers" ]
deps += [ "//third_party/dawn/src/tint:fuzzers" ]
}
}
}

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Copyright 2023 The Chromium Authors and Alex313031
# Copyright 2024 The Chromium Authors and Alex313031 and gz83
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@ -148,7 +148,7 @@ def check_distro(options):
distro_id = subprocess.check_output(["lsb_release", "--id",
"--short"]).decode().strip()
supported_codenames = ["bionic", "focal", "jammy", "lunar", "mantic"]
supported_codenames = ["bionic", "focal", "jammy", "mantic"]
supported_ids = ["Debian"]
if (distro_codename() not in supported_codenames
@ -160,8 +160,7 @@ def check_distro(options):
"\tUbuntu 18.04 LTS (bionic with EoL April 2028)",
"\tUbuntu 20.04 LTS (focal with EoL April 2030)",
"\tUbuntu 22.04 LTS (jammy with EoL April 2032)",
"\tUbuntu 23.04 (lunar with EoL April 2024)\n" \
"\tUbuntu 23.10 (mantic)\n" \
"\tUbuntu 23.10 (mantic)\n",
"\tDebian 10 (buster), 11 (bullseye) or 12 (bookworm)",
sep="\n",
file=sys.stderr,
@ -624,12 +623,6 @@ def arm_list(options):
"g++-11-arm-linux-gnueabihf",
"gcc-11-arm-linux-gnueabihf",
])
elif distro_codename() == "lunar":
packages.extend([
"gcc-arm-linux-gnueabihf",
"g++-11-arm-linux-gnueabihf",
"gcc-11-arm-linux-gnueabihf",
])
elif distro_codename() == "mantic":
packages.extend([
"gcc-arm-linux-gnueabihf",
@ -893,7 +886,7 @@ def install_chromeos_fonts(options):
def install_locales():
print("Installing locales.", file=sys.stderr)
CHROMIUM_LOCALES = [
"da_DK.UTF-8", "fr_FR.UTF-8", "he_IL.UTF-8", "zh_TW.UTF-8"
"da_DK.UTF-8", "en_US.utf8", "fr_FR.UTF-8", "he_IL.UTF-8", "zh_TW.UTF-8"
]
LOCALE_GEN = "/etc/locale.gen"
if os.path.exists(LOCALE_GEN):

View file

@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2023 The Chromium Authors, Alex313031 and gz83
# Copyright 2024 The Chromium Authors, Alex313031 and gz83
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

View file

@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2023 The Chromium Authors, Alex313031, and gz83
# Copyright 2024 The Chromium Authors, Alex313031, and gz83
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

View file

@ -19,6 +19,9 @@
<message name="IDS_APP_MANAGEMENT_PERMISSIONS" desc="Label for permissions section in the app settings page.">
Permissions
</message>
<message name="IDS_APP_MANAGEMENT_PERMISSIONS_WITH_ORIGIN" desc="Label for permissions section in the app settings page. Shows URL of the app where permissions are applied.">
Permissions (<ph name="FORMATTED_ORIGIN">$1<ex>foo.com</ex></ph>)
</message>
<message name="IDS_APP_MANAGEMENT_MORE_SETTINGS" desc="Label for a link to more settings and permissions for an app.">
More settings and permissions
</message>
@ -109,6 +112,9 @@
<message name="IDS_APP_MANAGEMENT_APP_DETAILS_TITLE" desc="Title for App Details Section">
App details
</message>
<message name="IDS_APP_MANAGEMENT_APP_DETAILS_TOOLTIP_WEB_A11Y" desc="Text to be read out by ThoriumVox, when highlighting an info icon for Web Apps downloaded from the Thorium browser, stating the source URL of the app">
From <ph name="APP_URL">$1<ex>https://google.com</ex></ph>
</message>
<message name="IDS_APP_MANAGEMENT_APP_DETAILS_TYPE_ANDROID" desc="Text for Android app type">
Android App
</message>
@ -121,8 +127,8 @@
<message name="IDS_APP_MANAGEMENT_APP_DETAILS_TYPE_CROS_SYSTEM" desc="Text for ThoriumOS System app type">
ThoriumOS System App
</message>
<message name="IDS_APP_MANAGEMENT_APP_DETAILS_INSTALL_SOURCE_WEB_STORE" desc="Text for Thorium Web Store installation source">
Thorium Web Store
<message name="IDS_APP_MANAGEMENT_APP_DETAILS_INSTALL_SOURCE_WEB_STORE" desc="Text for Chrome Web Store installation source">
Chrome Web Store
</message>
<message name="IDS_APP_MANAGEMENT_APP_DETAILS_INSTALL_SOURCE_PLAY_STORE" desc="Text for Google Play Store installation source">
Google Play Store
@ -217,4 +223,14 @@
Permissions that you allow for <ph name="APP_NAME">$1<ex>Citrix</ex></ph> will also be allowed for this app. <ph name="BEGIN_LINK">&lt;a href="#"&gt;</ph>Manage<ph name="END_LINK">&lt;/a&gt;</ph>
</message>
<!-- App Content, Scope Extensions -->
<message name="IDS_APP_MANAGEMENT_APP_CONTENT_TITLE" desc="Label for App content section in the app settings page.">
App Content
</message>
<message name="IDS_APP_MANAGEMENT_APP_CONTENT_SUBTITLE" desc="Sub-label for App content section in the app settings page.">
This app contains web content from other sites
</message>
<message name="IDS_APP_MANAGEMENT_APP_CONTENT_DIALOG_SUBTITLE" desc="Sub-label for App content dialog in the app settings page.">
This app contains web content from
</message>
</grit-part>

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@ -793,7 +793,7 @@ bool AboutUI::OverrideHandleWebUIMessage(const GURL& source_url,
return false;
#if BUILDFLAG(IS_CHROMEOS_LACROS)
lacros_url_handling::NavigateInAsh(GURL(chrome::kOsUIAboutURL));
lacros_url_handling::NavigateInAsh(GURL(chrome::kChromeUIAboutURL));
#else
// Note: This will only be called by the UI when Lacros is available.
DCHECK(crosapi::BrowserManager::Get());

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031. All rights reserved.
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

View file

@ -1,4 +1,4 @@
# Copyright 2023 The Chromium Authors and Alex313031
# Copyright 2024 The Chromium Authors and Alex313031
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@ -6,8 +6,8 @@ import("//build/config/compiler/compiler.gni")
import("//build/config/features.gni")
import("//build/config/python.gni")
import("//build/config/ui.gni")
import("//build/timestamp.gni")
import("//chrome/process_version_rc_template.gni")
import("//components/nacl/features.gni")
import("//third_party/dawn/scripts/dawn_features.gni")
import("//third_party/ffmpeg/ffmpeg_options.gni")
import("//third_party/icu/config.gni")
@ -152,6 +152,8 @@ action("mini_installer_archive") {
rebase_path(chrome_runtime_deps, root_build_dir),
"--setup_runtime_deps",
rebase_path(setup_runtime_deps, root_build_dir),
"--build_time",
build_timestamp,
# Optional arguments to generate diff installer.
#'--last_chrome_installer=C:/Temp/base',
@ -189,18 +191,6 @@ action("mini_installer_archive") {
args += [ "--fast_archive_compression" ]
}
if (enable_nacl) {
inputs += [ "$root_out_dir/nacl_irt_x86_64.nexe" ]
deps += [ "//ppapi/native_client:irt" ]
if (current_cpu == "x86") {
inputs += [
"$root_out_dir/nacl64.exe",
"$root_out_dir/nacl_irt_x86_32.nexe",
]
deps += [ "//components/nacl/broker:nacl64" ]
}
}
if (icu_use_data_file) {
inputs += [ "$root_out_dir/icudtl.dat" ]
} else {

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@ -230,7 +230,6 @@ const wchar_t kInstallBinaryDir[] = L"Application";
const wchar_t kInstallerDir[] = L"Installer";
const wchar_t kInstallTempDir[] = L"Temp";
const wchar_t kLnkExt[] = L".lnk";
const wchar_t kNaClExe[] = L"nacl64.exe";
const wchar_t kNotificationHelperExe[] = L"notification_helper.exe";
const wchar_t kWerDll[] = L"chrome_wer.dll";

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

View file

@ -0,0 +1,597 @@
<style>
:host {
color: var(--primary-color);
display: flex;
flex-direction: column;
font-size: 0.8125rem;
height: 100%;
--ease-in-out: cubic-bezier(0.4, 0.0, 0.2, 1);
--shadow-color: rgba(0, 0, 0, 0.1);
--google-blue-300-rgb: 138, 180, 248;
--google-blue-300: rgb(var(--google-blue-300-rgb));
--google-blue-400: rgb(102, 157, 246);
--google-blue-500-rgb: 66, 133, 244;
--google-blue-500: rgb(var(--google-blue-500-rgb));
--google-blue-600-rgb: 26, 115, 232;
--google-blue-600: rgb(var(--google-blue-600-rgb));
--google-blue-700: rgb(25, 103, 210);
--google-grey-100: rgb(241, 243, 244);
--google-grey-200-rgb: 232, 234, 237;
--google-grey-200: rgb(var(--google-grey-200-rgb));
--google-grey-300: rgb(218, 220, 224);
--google-grey-500: rgb(154, 160, 166);
--google-grey-700: rgb(95, 99, 104);
--google-grey-900-rgb: 32, 33, 36;
--google-grey-900: rgb(var(--google-grey-900-rgb));
/* --google-grey-900 + 4% white blended together. */
--google-grey-900-white-4-percent: #292a2d;
--google-red-300: rgb(242, 139, 130);
--google-red-700: rgb(197, 34, 31);
--interactive-color: var(--google-blue-600);
--primary-color: var(--google-grey-900);
--secondary-color: var(--google-grey-700);
--warning-color: var(--google-red-700);
--focus-shadow-color: rgba(var(--google-blue-600-rgb), 0.4);
--input-background: var(--google-grey-100);
--link-color: var(--google-blue-700);
--separator-color: rgba(0, 0, 0, .06);
--toolbar-color: white;
background: white;
}
@media (prefers-color-scheme: dark) {
:host {
--interactive-color: var(--google-blue-300);
--primary-color: var(--google-grey-200);
--secondary-color: var(--google-grey-500);
--warning-color: var(--google-red-300);
--focus-shadow-color: rgba(var(--google-blue-300-rgb), 0.4);
--input-background: rgba(0, 0, 0, .3);
--link-color: var(--google-blue-300);
--separator-color: rgba(255, 255, 255, .1);
--toolbar-color: var(--google-grey-900-white-4-percent);
background: var(--google-grey-900);
}
}
.logo {
width: 48px;
height: 48px;
float: left;
background-repeat: no-repeat;
background-position: center;
line-height: 48px;
margin-right: 12px;
}
.logo2 {
line-height: 48px;
}
a {
color: var(--link-color);
font-size: .8125rem;
}
h1 {
color: var(--primary-color);
font-size: 1.4625rem;
font-weight: 400;
margin-top: 0;
padding: 0;
}
button {
cursor: pointer;
font-weight: 500;
}
#body-container {
flex: 1;
/* Force the vertical scrollbar to always be displayed, to avoid UI jumps.
*/
overflow-y: scroll;
}
#flagsTemplate {
--side-padding: 20px;
box-sizing: border-box;
padding: 1rem var(--side-padding) 8px;
margin: 0 auto;
max-width: calc(700px + 2 * var(--side-padding));
width: 100%;
}
:focus-visible {
box-shadow: 0 0 0 2px var(--focus-shadow-color);
outline: none;
}
@media (forced-colors: active) {
:focus-visible {
/* Outline is needed for Windows HCM. Color of outline does not matter; it
* is overridden by the OS. */
box-shadow: none;
outline: 2px solid transparent;
}
}
#flags-app-container {
display: flex;
flex-direction: column;
height: 100%;
}
@media (prefers-color-scheme: dark) {
#flagsTemplate {
background: rgba(255, 255, 255, .04);
}
}
.flex {
align-self: center;
flex: 1 1 auto;
}
.flex-container {
display: flex;
padding: 8px 1em;
}
#flagsTemplate>.flex-container:first-child {
padding: 0;
}
#header {
background: var(--toolbar-color);
box-shadow: 0 2px 2px 0 var(--shadow-color);
box-sizing: border-box;
}
@media (prefers-color-scheme: dark) {
#header {
border-bottom: 1px solid var(--separator-color);
}
}
#header .flex-container {
box-sizing: border-box;
margin: 0 auto;
max-width: 700px;
}
#header .flex-container .flex:first-child {
text-align: left;
/* csschecker-disable-line left-right */
}
#header .flex-container .flex:last-child {
text-align: right;
/* csschecker-disable-line left-right */
}
.hidden {
display: none;
}
.search-container {
margin-inline-end: 8px;
position: relative;
}
#search {
background: var(--input-background)
url(chrome://resources/images/icon_search.svg) no-repeat 8px 50%;
border: 1px solid transparent;
border-radius: 3px;
box-sizing: border-box;
color: inherit;
font-size: .8125rem;
padding: 12px 36px;
width: 100%;
}
#search::placeholder {
color: rgba(var(--google-grey-900-rgb), .71);
}
@media (prefers-color-scheme: dark) {
#search {
background-image: url(chrome://resources/images/dark/icon_search.svg);
}
#search::placeholder {
color: rgba(var(--google-grey-200-rgb), .51);
}
}
.clear-search {
-webkit-mask-image: url(chrome://resources/images/icon_cancel.svg);
-webkit-mask-size: 20px;
background: var(--secondary-color);
border: 0;
display: none;
height: 20px;
opacity: 0.5;
position: absolute;
right: 8px;
top: calc(50% - 10px);
width: 20px;
}
.clear-search:focus {
opacity: 1;
outline: 0;
}
:host(.searching) .clear-search {
display: inline-block;
}
:host(.searching) .blurb-container,
:host(.searching) #promos {
display: none;
}
.blurb-container {
color: var(--primary-color);
font-size: .875rem;
line-height: 1.4;
margin-bottom: 1rem;
}
.blurb-warning {
color: var(--warning-color);
text-transform: uppercase;
}
.screen-reader-only {
clip: rect(0, 0, 0, 0);
display: inline-block;
position: fixed;
}
#promos {
color: var(--secondary-color);
font-size: .875rem;
}
button:not(.primary) {
background: none;
border: 1px solid var(--google-grey-300);
border-radius: 3px;
color: var(--google-blue-600);
font-size: .8125rem;
padding: 8px 12px;
}
@media (prefers-color-scheme: dark) {
button:not(.primary) {
border-color: var(--google-grey-700);
color: var(--google-blue-300);
}
}
button:not(.primary):hover {
background: rgba(var(--google-blue-500-rgb), .04);
}
@media (prefers-color-scheme: dark) {
button:not(.primary):hover {
background: rgba(var(--google-blue-300-rgb), .08);
}
}
.tabs {
display: flex;
width: 100%;
}
.tab {
color: var(--secondary-color);
cursor: pointer;
display: block;
flex: 1;
font-size: 1rem;
font-weight: normal;
padding: 14px 21px;
position: relative;
text-align: center;
text-decoration: none;
transition: color 200ms var(--ease-in-out);
user-select: none;
width: 50%;
z-index: 1;
}
.tab::before {
background: currentColor;
bottom: 0;
content: '';
display: block;
height: 1px;
left: 0;
position: absolute;
transition: height 200ms var(--ease-in-out);
width: 100%;
}
.tabs .tab.selected,
.tabs .tab.selected:focus {
color: var(--interactive-color);
}
.tabs .tab.selected::before,
.tabs .tab.selected:focus::before {
height: 2px;
}
html:not(.focus-outline-visible) .tab:focus {
outline: 0;
}
.tab-content {
display: none;
line-height: 25px;
/* Bottom padding should be greater than evaluated height of needs-restart
*/
padding-bottom: 100px;
position: relative;
}
.tab-content.selected,
.tab-content.selected .template {
display: block;
}
/* Restart tray. */
#needs-restart {
background: var(--toolbar-color);
bottom: 0;
box-shadow: 0 -2px 2px 0 var(--shadow-color);
box-sizing: border-box;
left: 0;
opacity: 0;
padding: 16px;
position: fixed;
transform: translateY(300px);
transition: all 225ms var(--ease-in-out);
width: 100%;
z-index: 10;
}
#needs-restart .flex:last-child {
text-align: right;
/* csschecker-disable-line left-right */
}
#needs-restart.show {
opacity: 1;
transform: translate(0);
}
.no-match {
margin-top: 75px;
}
.restart-notice {
font-size: .9375rem;
line-height: 1.4;
}
button.primary {
background: var(--link-color);
border: 0;
border-radius: 3px;
color: white;
font-size: .875rem;
padding: 14px 38px;
}
@media (prefers-color-scheme: dark) {
button.primary {
color: var(--google-grey-900);
}
}
button.primary:-webkit-any(:active, :hover) {
background: var(--google-blue-600);
}
#version {
color: var(--secondary-color);
text-align: right;
/* csschecker-disable-line left-right */
}
<if expr="chromeos_lacros or chromeos_ash">
#os-flags-link-container {
background-image: url(chrome://resources/images/os_flags_app_icon.svg);
}
</if>
@media (max-width: 360px) {
#experiment-reset-all {
font-size: .65rem;
padding: 2px 8px;
}
#flagsTemplate>.flex-container {
flex-direction: column;
}
#version {
text-align: initial;
}
button.primary {
padding: 8px;
}
#search {
padding: 8px 36px;
}
}
@media (max-width: 480px) {
#flagsTemplate>.flex-container:first-child:not('.version') {
flex-direction: column;
text-align: left;
/* csschecker-disable-line left-right */
}
#flagsTemplate>.flex-container:first-child .flex {
width: 100%;
}
#needs-restart {
padding: 8px 12px;
}
button.primary {
padding: 8px 16px;
}
.restart-notice {
font-size: .8125rem;
padding: 4px;
}
:host(.searching) flags-experiment::part(body) {
overflow: visible;
white-space: normal;
}
}
@media (max-width: 732px) {
#version,
.blurb-warning {
display: block;
margin-bottom: 1rem;
}
}
@media (max-height: 400px) {
#header {
position: relative;
}
#flagsTemplate {
padding-top: 1.5rem;
}
}
</style>
<!-- Copyright 2024 The Chromium Authors and Alex313031 -->
<div id="header">
<div class="flex-container">
<div class="flex search-container">
<input type="text" id="search"
aria-label="$i18n{search-label}"
placeholder="$i18n{search-placeholder}" tabindex="1"
autocomplete="off" spellcheck="false">
<input type="button" class="clear-search" title="$i18n{clear-search}"
tabindex="2">
</div>
<div class="flex">
<button id="experiment-reset-all" tabindex="3">
$i18n{reset}
</button>
</div>
</div>
<div class="screen-reader-only" id="screen-reader-status-message"
role="status"></div>
</div>
<div id="body-container" style="visibility:hidden">
<div id="flagsTemplate">
<if expr="chromeos_lacros or chromeos_ash">
<div class="os-link-container" id="os-link-container">
<span id="os-flags-link-container" class="os-link-icon"></span>
<span aria-hidden="true" id="os-link-desc">$i18n{os-flags-text1}</span>
<a href="#" id="os-link-href" tabindex="4"
aria-describedby="os-link-desc">
$i18n{os-flags-link}
</a>
<span aria-hidden="true">$i18n{os-flags-text2}</span>
</div>
</if>
<div class="flex-container">
<div class="flex logo2">
<div class="logo"><img width="48" height="48" title="Hazard Icon" alt="hazard.svg" src="chrome://resources/images/hazard.svg"></div>
<h1 class="section-header-title">$i18n{heading}</h1>
</div>
<span title="Thorium Version" id="version" class="flex">$i18n{version}</span>
</div>
<div class="blurb-container">
<span title="Warning" class="blurb-warning">$i18n{page-warning}</span>
<span title="Warning">$i18n{page-warning-explanation}</span>
<if expr="chromeos_ash">
<p title="Owner Warning" id="owner-warning">$i18n{owner-warning}</p>
</if>
</div>
<p id="promos" hidden>
<!-- Those strings are not localized because they only appear in
chrome://flags, which is not localized. -->
<span id="channel-promo-beta" hidden>
Interested in cool new Chrome features? Try our
<a href="https://chrome.com/beta">beta channel</a>.
</span>
<span id="channel-promo-dev" hidden>
Interested in cool new Chrome features? Try our
<a href="https://chrome.com/dev">dev channel</a>
</span>
</p>
<div id="tabs" class="tabs" role="tablist">
<a href="#tab-content-available" id="tab-available" class="tab selected"
role="tab"
aria-selected="true"
aria-controls="panel1"
tabindex="5">$i18n{available}</a>
<!-- Unsupported experiments are not shown on iOS -->
<if expr="not is_ios">
<a href="#tab-content-unavailable" id="tab-unavailable" class="tab"
role="tab"
aria-selected="false" aria-controls="panel2"
tabindex="-1">$i18n{unavailable}</a>
</if>
</div>
<div id="tabpanels">
<div id="tab-content-available" class="tab-content selected"
role="tabpanel" aria-labelledby="tab-available" aria-hidden="false">
<!-- Non default experiments. -->
<div id="non-default-experiments"></div>
<!-- Experiments with default settings. -->
<div id="default-experiments"></div>
<div class="no-match hidden" role="alert">$i18n{no-results}</div>
</div>
<if expr="not is_ios">
<div id="tab-content-unavailable" class="tab-content"
role="tabpanel" aria-labelledby="tab-unavailable" aria-hidden="false">
<div id="unavailable-experiments"></div>
<div class="no-match hidden" role="alert">
$i18n{no-results}
</div>
</div>
</if>
</div>
<div id="needs-restart">
<div class="flex-container">
<div class="flex restart-notice">$i18n{flagsRestartNotice}</div>
<div class="flex">
<if expr="not is_ios">
<button id="experiment-restart-button" class="primary" tabindex="-1">
$i18n{relaunch}
</button>
</if>
</div>
</div>
</div>
</div>
</div>

View file

@ -1,484 +0,0 @@
/* Copyright 2023 The Chromium Authors and Alex313031
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file. */
html,
body {
height: 100%;
overflow: hidden;
}
html {
--ease-in-out: cubic-bezier(0.4, 0.0, 0.2, 1);
--shadow-color: rgba(0, 0, 0, 0.1);
--google-blue-300-rgb: 138, 180, 248;
--google-blue-300: rgb(var(--google-blue-300-rgb));
--google-blue-400: rgb(102, 157, 246);
--google-blue-500-rgb: 66, 133, 244;
--google-blue-500: rgb(var(--google-blue-500-rgb));
--google-blue-600-rgb: 26, 115, 232;
--google-blue-600: rgb(var(--google-blue-600-rgb));
--google-blue-700: rgb(25, 103, 210);
--google-grey-100: rgb(241, 243, 244);
--google-grey-200-rgb: 232, 234, 237;
--google-grey-200: rgb(var(--google-grey-200-rgb));
--google-grey-300: rgb(218, 220, 224);
--google-grey-500: rgb(154, 160, 166);
--google-grey-700: rgb(95, 99, 104);
--google-grey-900-rgb: 32, 33, 36;
--google-grey-900: rgb(var(--google-grey-900-rgb));
/* --google-grey-900 + 4% white blended together. */
--google-grey-900-white-4-percent: #292a2d;
--google-red-300: rgb(242, 139, 130);
--google-red-700: rgb(197, 34, 31);
--interactive-color: var(--google-blue-600);
--primary-color: var(--google-grey-900);
--secondary-color: var(--google-grey-700);
--warning-color: var(--google-red-700);
--focus-shadow-color: rgba(var(--google-blue-600-rgb), 0.4);
--input-background: var(--google-grey-100);
--link-color: var(--google-blue-700);
--separator-color: rgba(0, 0, 0, .06);
--toolbar-color: white;
background: white;
}
@media (prefers-color-scheme: dark) {
html {
--interactive-color: var(--google-blue-300);
--primary-color: var(--google-grey-200);
--secondary-color: var(--google-grey-500);
--warning-color: var(--google-red-300);
--focus-shadow-color: rgba(var(--google-blue-300-rgb), 0.4);
--input-background: rgba(0, 0, 0, .3);
--link-color: var(--google-blue-300);
--separator-color: rgba(255, 255, 255, .1);
--toolbar-color: var(--google-grey-900-white-4-percent);
background: var(--google-grey-900);
}
}
body {
color: var(--primary-color);
display: flex;
flex-direction: column;
font-size: 0.8125em;
margin: 0;
}
.logo {
width: 48px;
height: 48px;
float: left;
background-repeat: no-repeat;
background-position: center;
line-height: 48px;
margin-right: 12px;
}
.logo2 {
line-height: 48px;
}
a {
color: var(--link-color);
font-size: .8125rem;
}
h1 {
color: var(--primary-color);
font-size: 1.4625rem;
font-weight: 400;
margin-top: 0;
padding: 0;
}
button {
cursor: pointer;
font-weight: 500;
}
#body-container {
flex: 1;
/* Force the vertical scrollbar to always be displayed, to avoid UI jumps. */
overflow-y: scroll;
}
#flagsTemplate {
--side-padding: 20px;
box-sizing: border-box;
padding: 1rem var(--side-padding) 8px;
margin: 0 auto;
max-width: calc(700px + 2 * var(--side-padding));
width: 100%;
}
:focus-visible {
box-shadow: 0 0 0 2px var(--focus-shadow-color);
outline: none;
}
@media (forced-colors: active) {
:focus-visible {
/* Outline is needed for Windows HCM. Color of outline does not matter; it
* is overridden by the OS. */
box-shadow: none;
outline: 2px solid transparent;
}
}
@media (prefers-color-scheme: dark) {
#flagsTemplate {
background: rgba(255, 255, 255, .04);
}
}
.flex {
align-self: center;
flex: 1 1 auto;
}
.flex-container {
display: flex;
padding: 8px 1em;
}
#flagsTemplate > .flex-container:first-child {
padding: 0;
}
#header {
background: var(--toolbar-color);
box-shadow: 0 2px 2px 0 var(--shadow-color);
box-sizing: border-box;
}
@media (prefers-color-scheme: dark) {
#header {
border-bottom: 1px solid var(--separator-color);
}
}
#header .flex-container {
box-sizing: border-box;
margin: 0 auto;
max-width: 700px;
}
#header .flex-container .flex:first-child {
text-align: left; /* csschecker-disable-line left-right */
}
#header .flex-container .flex:last-child {
text-align: right; /* csschecker-disable-line left-right */
}
.hidden {
display: none;
}
.search-container {
margin-inline-end: 8px;
position: relative;
}
#search {
background: var(--input-background) url(chrome://resources/images/icon_search.svg) no-repeat 8px 50%;
border: 1px solid transparent;
border-radius: 3px;
box-sizing: border-box;
color: inherit;
font-size: .8125rem;
padding: 12px 36px;
width: 100%;
}
#search::placeholder {
color: rgba(var(--google-grey-900-rgb), .71);
}
@media (prefers-color-scheme: dark) {
#search {
background-image: url(chrome://resources/images/dark/icon_search.svg);
}
#search::placeholder {
color: rgba(var(--google-grey-200-rgb), .51);
}
}
.clear-search {
-webkit-mask-image: url(chrome://resources/images/icon_cancel.svg);
-webkit-mask-size: 20px;
background: var(--secondary-color);
border: 0;
display: none;
height: 20px;
opacity: 0.5;
position: absolute;
right: 8px;
top: calc(50% - 10px);
width: 20px;
}
.clear-search:focus {
opacity: 1;
outline: 0;
}
.searching .clear-search {
display: inline-block;
}
.searching .blurb-container,
.searching #promos {
display: none;
}
.blurb-container {
color: var(--primary-color);
font-size: .875rem;
line-height: 1.4;
margin-bottom: 1rem;
}
.blurb-warning {
color: var(--warning-color);
text-transform: uppercase;
}
.screen-reader-only {
clip: rect(0,0,0,0);
display: inline-block;
position: fixed;
}
#promos {
color: var(--secondary-color);
font-size: .875rem;
}
button:not(.primary) {
background: none;
border: 1px solid var(--google-grey-300);
border-radius: 3px;
color: var(--google-blue-600);
font-size: .8125rem;
padding: 8px 12px;
}
@media (prefers-color-scheme: dark) {
button:not(.primary) {
border-color: var(--google-grey-700);
color: var(--google-blue-300);
}
}
button:not(.primary):hover {
background: rgba(var(--google-blue-500-rgb), .04);
}
@media (prefers-color-scheme: dark) {
button:not(.primary):hover {
background: rgba(var(--google-blue-300-rgb), .08);
}
}
.tabs {
display: flex;
width: 100%;
}
.tab {
color: var(--secondary-color);
cursor: pointer;
display: block;
flex: 1;
font-size: 1rem;
font-weight: normal;
padding: 14px 21px;
position: relative;
text-align: center;
text-decoration: none;
transition: color 200ms var(--ease-in-out);
user-select: none;
width: 50%;
z-index: 1;
}
.tab::before {
background: currentColor;
bottom: 0;
content: '';
display: block;
height: 1px;
left: 0;
position: absolute;
transition: height 200ms var(--ease-in-out);
width: 100%;
}
.tabs .tab.selected,
.tabs .tab.selected:focus {
color: var(--interactive-color);
}
.tabs .tab.selected::before,
.tabs .tab.selected:focus::before {
height: 2px;
}
html:not(.focus-outline-visible) .tab:focus {
outline: 0;
}
.tab-content {
display: none;
line-height: 25px;
/* Bottom padding should be greater than evaluated height of needs-restart */
padding-bottom: 100px;
position: relative;
}
.tab-content.selected,
.tab-content.selected .template {
display: block;
}
/* Restart tray. */
#needs-restart {
background: var(--toolbar-color);
bottom: 0;
box-shadow: 0 -2px 2px 0 var(--shadow-color);
box-sizing: border-box;
left: 0;
opacity: 0;
padding: 16px;
position: fixed;
transform: translateY(300px);
transition: all 225ms var(--ease-in-out);
width: 100%;
z-index: 10;
}
#needs-restart .flex:last-child {
text-align: right; /* csschecker-disable-line left-right */
}
#needs-restart.show {
opacity: 1;
transform: translate(0);
}
.no-match {
margin-top: 75px;
}
.restart-notice {
font-size: .9375rem;
line-height: 1.4;
}
button.primary {
background: var(--link-color);
border: 0;
border-radius: 3px;
color: white;
font-size: .875rem;
padding: 14px 38px;
}
@media (prefers-color-scheme: dark) {
button.primary {
color: var(--google-grey-900);
}
}
button.primary:-webkit-any(:active, :hover) {
background: var(--google-blue-600);
}
#version {
color: var(--secondary-color);
text-align: right; /* csschecker-disable-line left-right */
}
#os-flags-link-container {
background-image: url(chrome://resources/images/os_flags_app_icon.svg);
}
@media (max-width: 360px) {
#experiment-reset-all {
font-size: .65rem;
padding: 2px 8px;
}
#flagsTemplate > .flex-container {
flex-direction: column;
}
#version {
text-align: initial;
}
button.primary {
padding: 8px;
}
#search {
padding: 8px 36px;
}
}
@media (max-width: 480px) {
#flagsTemplate > .flex-container:first-child:not('.version') {
flex-direction: column;
text-align: left; /* csschecker-disable-line left-right */
}
#flagsTemplate > .flex-container:first-child .flex {
width: 100%;
}
#needs-restart {
padding: 8px 12px;
}
button.primary {
padding: 8px 16px;
}
.restart-notice {
font-size: .8125rem;
padding: 4px;
}
.searching flags-experiment::part(body) {
overflow: visible;
white-space: normal;
}
}
@media (max-width: 732px) {
#version,
.blurb-warning {
display: block;
margin-bottom: 1rem;
}
}
@media (max-height: 400px) {
#header {
position: relative;
}
#flagsTemplate {
padding-top: 1.5rem;
}
}

View file

@ -1,5 +1,4 @@
<!doctype html>
<!-- Copyright 2023 The Chromium Authors and Alex313031 -->
<!-- Note that chrome://flags is intentionally not a translated UI surface, -->
<!-- so don't mark it with direction or language attributes. -->
<html>
@ -12,7 +11,6 @@
</if>
<title>$i18n{title}</title>
<link rel="stylesheet" href="flags.css">
<if expr="chromeos_lacros or chromeos_ash">
<link rel="stylesheet" href="chrome://resources/css/os_header.css">
</if>
@ -21,112 +19,17 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1">
<link rel="stylesheet" href="chrome://resources/css/text_defaults.css">
</if>
<style>
html,
body {
height: 100%;
overflow: hidden;
margin: 0;
}
</style>
</head>
<body>
<div id="header">
<div class="flex-container">
<div class="flex">
<div class="search-container">
<input type="text" id="search"
aria-label="$i18n{search-label}"
placeholder="$i18n{search-placeholder}" tabindex="1"
autocomplete="off" spellcheck="false">
<input type="button" class="clear-search" title="$i18n{clear-search}"
tabindex="2">
</div>
</div>
<div class="flex">
<button id="experiment-reset-all" type="button" tabindex="3">
$i18n{reset}
</button>
</div>
</div>
<div class="screen-reader-only" id="screen-reader-status-message" role="status"></div>
</div>
<div id="body-container" style="visibility:hidden">
<div id="flagsTemplate">
<if expr="chromeos_lacros or chromeos_ash">
<div class="os-link-container" id="os-link-container">
<span id="os-flags-link-container" class="os-link-icon"></span>
<span aria-hidden="true" id="os-link-desc">$i18n{os-flags-text1}</span>
<a href="#" id="os-link-href" tabindex="4" aria-describedby="os-link-desc">
$i18n{os-flags-link}
</a>
<span aria-hidden="true">$i18n{os-flags-text2}</span>
</div>
</if>
<div class="flex-container">
<div class="flex logo2"><div class="logo"><img width="48" height="48" title="Hazard Icon" alt="hazard.svg" src="chrome://resources/images/hazard.svg"></div><h1 class="section-header-title">$i18n{heading}</h1></div>
<span title="Thorium Version" id="version" class="flex">$i18n{version}</span>
</div>
<div class="blurb-container">
<span title="Warning" class="blurb-warning">$i18n{page-warning}</span>
<span title="Warning">$i18n{page-warning-explanation}</span>
<if expr="chromeos_ash">
<p title="Owner Warning" id="owner-warning">$i18n{owner-warning}</p>
</if>
</div>
<p id="promos" hidden>
<!-- Those strings are not localized because they only appear in
chrome://flags, which is not localized. -->
<span id="channel-promo-beta" hidden>
Interested in cool new Chrome features? Try our
<a href="https://chrome.com/beta">beta channel</a>.
</span>
<span id="channel-promo-dev" hidden>
Interested in cool new Chrome features? Try our
<a href="https://chrome.com/dev">dev channel</a>
</span>
</p>
<div id="tabs" class="tabs" role="tablist">
<a href="#tab-content-available" id="tab-available" class="tab selected"
role="tab"
aria-selected="true"
aria-controls="panel1"
tabindex="5">$i18n{available}</a>
<!-- Unsupported experiments are not shown on iOS -->
<if expr="not is_ios">
<a href="#tab-content-unavailable" id="tab-unavailable" class="tab"
role="tab"
aria-selected="false" aria-controls="panel2"
tabindex="-1">$i18n{unavailable}</a>
</if>
</div>
<div id="tabpanels">
<div id="tab-content-available" class="tab-content selected"
role="tabpanel" aria-labelledby="tab-available" aria-hidden="false">
<!-- Non default experiments. -->
<div id="non-default-experiments"></div>
<!-- Experiments with default settings. -->
<div id="default-experiments"></div>
<div class="no-match hidden" role="alert">$i18n{no-results}</div>
</div>
<if expr="not is_ios">
<div id="tab-content-unavailable" class="tab-content"
role="tabpanel" aria-labelledby="tab-unavailable" aria-hidden="false">
<div id="unavailable-experiments"></div>
<div class="no-match hidden" role="alert">
$i18n{no-results}
</div>
</div>
</if>
</div>
<div id="needs-restart" jsvalues="class:needsRestart ? 'show' : ''">
<div class="flex-container">
<div class="flex restart-notice" jstcache="0">$i18n{flagsRestartNotice}</div>
<div class="flex">
<if expr="not is_ios">
<button id="experiment-restart-button" class="primary" tabindex="-1">
$i18n{relaunch}
</button>
</if>
</div>
</div>
</div>
</div>
</div>
<script type="module" src="flags.js"></script>
<script src="app.js" type="module"></script>
<flags-app></flags-app>
</body>
</html>

View file

@ -3,22 +3,16 @@
<head>
<meta charset="utf-8">
<meta name="color-scheme" content="light dark">
<meta name="theme-color" content="#ffffff">
<meta name="theme-color" content="#fff">
<meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, user-scalable=no">
<title>Thorium Dino</title>
<title>$i18n{title}</title>
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAA3XAAAN1wFCKJt4AAABxklEQVRYw81XoW7DMBB9mYKKM2LJKjEJTmn4cPFG23/oB+QfGjpePB7a4BCDZZaMiks3cp28yE7s1G13UqUmju13d+/e2QkiGFOyBJB7ft5pLprLQ4o49gpg4/ltDeAXQBLB+2/6ewbQUSQWU/M0FwkAPCGedZqLFYHwtpgAcqbkMYALUTkACnsROilmBGbZwwGkN15/+2gAraVSzvcEcBw8r4agUkNQjgAqzcXBU4DWAHaO4QOAyqYVYykoAGQeG+cASvq5yu6kuWhvRcISwD5WjhKLprckqUPP9wEN508laC7qEB1YMiX3TMnlYPMyYNPGpwRdKcjI0xNTsqd3oZ53mouaKVlMNacxDuyuza/mYjIK/6oXbM2Tyt17AeUsIw7kV6z5FuJIYim3wiKhIbbyFSEXBzrS7C6U+XPmJSOSuwPw4ln/DYAPzUU1WwkdIDaesjuqdqMkJOItXWICoDZk2myrhQ0cNauF5/59CuDZ0dV6OusP31XG2NYCIvfpqsZdwu/ywZT8ZEq+O8Y2V+uAsWAGYG25x1Vz8xxahmc6NrUAvszeYIuAx9gkCXOj1BrNRWc5TNYGBxAw5izxS8kmDgB3sx9qpKWGIYm9DgAAAABJRU5ErkJggg==">
<link rel="icon" type="image/png" sizes="16x16" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABCUlEQVQ4y5WSK2/DMBSFv1RFwSuJZIWYBHe0wystTumCRze+/zC84NFqtMHDISaRJZMal27kZqqsm7Q7kiU/7uPc45NxBYV3G6BWnt6CscOS6zgCrVLkCcgW3IZ66uHWApNY/jO+BTogAsMfg8K73YyAIyJwBtZAHoz9vmTwAnwmyR/A48XVEIxt0iaZBP8IvWdgBRyAMomNwAnYj91TDWoglwKlMtEgDQZNxB6ogN2cgsHYbuobH0TdueT7SR8EYyOwB76UmCjUVWSFdyVwJ+cz8A5sZCyALhjbFN6tteILRahW9ltZs8gS06yETRmMfZX7I9AEY3vVyjJCPipceFcp9tVcWgVj+1+cIE8di05TcgAAAABJRU5ErkJggg==">
<link rel="stylesheet" href="../../../components/security_interstitials/core/common/resources/interstitial_core.css">
<link rel="stylesheet" href="../../../components/security_interstitials/core/common/resources/interstitial_common.css">
<link rel="stylesheet" href="neterror.css">
<script src="neterror.js"></script>
<script src="../../../components/security_interstitials/core/common/resources/interstitial_mobile_nav.js"></script>
<script src="offline.js"></script>
<script src="offline-sprite-definitions.js"></script>
<if expr="is_ios">
<script src="error_page_controller_ios.js"></script>
</if>
<script src="%ROOT_GEN_DIR%/components/neterror/resources/bundled/neterror.rollup.js"></script>
</head>
<body id="t" class="neterror" style="font-family: $i18n{fontfamily}; font-size: $i18n{fontsize}">
<script src="Tone.min.js"></script>

View file

@ -1,385 +0,0 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @typedef {{
* downloadButtonClick: function(),
* reloadButtonClick: function(string),
* detailsButtonClick: function(),
* diagnoseErrorsButtonClick: function(),
* portalSigninsButtonClick: function(),
* trackEasterEgg: function(),
* updateEasterEggHighScore: function(number),
* resetEasterEggHighScore: function(),
* launchOfflineItem: function(string, string),
* savePageForLater: function(),
* cancelSavePage: function(),
* listVisibilityChange: function(boolean),
* }}
*/
// eslint-disable-next-line no-var
var errorPageController;
const HIDDEN_CLASS = 'hidden';
// Decodes a UTF16 string that is encoded as base64.
function decodeUTF16Base64ToString(encoded_text) {
const data = atob(encoded_text);
let result = '';
for (let i = 0; i < data.length; i += 2) {
result +=
String.fromCharCode(data.charCodeAt(i) * 256 + data.charCodeAt(i + 1));
}
return result;
}
function toggleHelpBox() {
const helpBoxOuter = document.getElementById('details');
helpBoxOuter.classList.toggle(HIDDEN_CLASS);
const detailsButton = document.getElementById('details-button');
if (helpBoxOuter.classList.contains(HIDDEN_CLASS)) {
/** @suppress {missingProperties} */
detailsButton.innerText = detailsButton.detailsText;
} else {
/** @suppress {missingProperties} */
detailsButton.innerText = detailsButton.hideDetailsText;
}
// Details appears over the main content on small screens.
if (mobileNav) {
document.getElementById('main-content').classList.toggle(HIDDEN_CLASS);
const runnerContainer = document.querySelector('.runner-container');
if (runnerContainer) {
runnerContainer.classList.toggle(HIDDEN_CLASS);
}
}
}
function diagnoseErrors() {
if (window.errorPageController) {
errorPageController.diagnoseErrorsButtonClick();
}
}
function portalSignin() {
if (window.errorPageController) {
errorPageController.portalSigninButtonClick();
}
}
// Subframes use a different layout but the same html file. This is to make it
// easier to support platforms that load the error page via different
// mechanisms (Currently just iOS). We also use the subframe style for portals
// as they are embedded like subframes and can't be interacted with by the user.
let isSubFrame = false;
if (window.top.location !== window.location || window.portalHost) {
document.documentElement.setAttribute('subframe', '');
isSubFrame = true;
}
// Re-renders the error page using |strings| as the dictionary of values.
// Used by NetErrorTabHelper to update DNS error pages with probe results.
function updateForDnsProbe(strings) {
const context = new JsEvalContext(strings);
jstProcess(context, document.getElementById('t'));
onDocumentLoadOrUpdate();
}
// Adds an icon class to the list and removes classes previously set.
function updateIconClass(newClass) {
const frameSelector = isSubFrame ? '#sub-frame-error' : '#main-frame-error';
const iconEl = document.querySelector(frameSelector + ' .icon');
if (iconEl.classList.contains(newClass)) {
return;
}
iconEl.className = 'icon ' + newClass;
}
// Implements button clicks. This function is needed during the transition
// between implementing these in trunk chromium and implementing them in iOS.
function reloadButtonClick(url) {
if (window.errorPageController) {
// <if expr="is_ios">
errorPageController.reloadButtonClick(url);
// </if>
// <if expr="not is_ios">
errorPageController.reloadButtonClick();
// </if>
} else {
window.location = url;
}
}
function downloadButtonClick() {
if (window.errorPageController) {
errorPageController.downloadButtonClick();
const downloadButton = document.getElementById('download-button');
downloadButton.disabled = true;
/** @suppress {missingProperties} */
downloadButton.textContent = downloadButton.disabledText;
document.getElementById('download-link-wrapper')
.classList.add(HIDDEN_CLASS);
document.getElementById('download-link-clicked-wrapper')
.classList.remove(HIDDEN_CLASS);
}
}
function detailsButtonClick() {
if (window.errorPageController) {
errorPageController.detailsButtonClick();
}
}
let primaryControlOnLeft = true;
// clang-format off
// <if expr="is_macosx or is_ios or is_linux or is_chromeos or is_android">
// clang-format on
primaryControlOnLeft = false;
// </if>
function setAutoFetchState(scheduled, can_schedule) {
document.getElementById('cancel-save-page-button')
.classList.toggle(HIDDEN_CLASS, !scheduled);
document.getElementById('save-page-for-later-button')
.classList.toggle(HIDDEN_CLASS, scheduled || !can_schedule);
}
function savePageLaterClick() {
errorPageController.savePageForLater();
// savePageForLater will eventually trigger a call to setAutoFetchState() when
// it completes.
}
function cancelSavePageClick() {
errorPageController.cancelSavePage();
// setAutoFetchState is not called in response to cancelSavePage(), so do it
// now.
setAutoFetchState(false, true);
}
function toggleErrorInformationPopup() {
document.getElementById('error-information-popup-container')
.classList.toggle(HIDDEN_CLASS);
}
function launchOfflineItem(itemID, name_space) {
errorPageController.launchOfflineItem(itemID, name_space);
}
function launchDownloadsPage() {
errorPageController.launchDownloadsPage();
}
function getIconForSuggestedItem(item) {
// Note: |item.content_type| contains the enum values from
// chrome::mojom::AvailableContentType.
switch (item.content_type) {
case 1: // kVideo
return 'image-video';
case 2: // kAudio
return 'image-music-note';
case 0: // kPrefetchedPage
case 3: // kOtherPage
return 'image-earth';
}
return 'image-file';
}
function getSuggestedContentDiv(item, index) {
// Note: See AvailableContentToValue in available_offline_content_helper.cc
// for the data contained in an |item|.
// TODO(carlosk): Present |snippet_base64| when that content becomes
// available.
let thumbnail = '';
const extraContainerClasses = [];
// html_inline.py will try to replace src attributes with data URIs using a
// simple regex. The following is obfuscated slightly to avoid that.
const source = 'src';
if (item.thumbnail_data_uri) {
extraContainerClasses.push('suggestion-with-image');
thumbnail = `<img ${source}="${item.thumbnail_data_uri}">`;
} else {
extraContainerClasses.push('suggestion-with-icon');
const iconClass = getIconForSuggestedItem(item);
thumbnail = `<div><img class="${iconClass}"></div>`;
}
let favicon = '<img ${source}="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAA3XAAAN1wFCKJt4AAABxklEQVRYw81XoW7DMBB9mYKKM2LJKjEJTmn4cPFG23/oB+QfGjpePB7a4BCDZZaMiks3cp28yE7s1G13UqUmju13d+/e2QkiGFOyBJB7ft5pLprLQ4o49gpg4/ltDeAXQBLB+2/6ewbQUSQWU/M0FwkAPCGedZqLFYHwtpgAcqbkMYALUTkACnsROilmBGbZwwGkN15/+2gAraVSzvcEcBw8r4agUkNQjgAqzcXBU4DWAHaO4QOAyqYVYykoAGQeG+cASvq5yu6kuWhvRcISwD5WjhKLprckqUPP9wEN508laC7qEB1YMiX3TMnlYPMyYNPGpwRdKcjI0xNTsqd3oZ53mouaKVlMNacxDuyuza/mYjIK/6oXbM2Tyt17AeUsIw7kV6z5FuJIYim3wiKhIbbyFSEXBzrS7C6U+XPmJSOSuwPw4ln/DYAPzUU1WwkdIDaesjuqdqMkJOItXWICoDZk2myrhQ0cNauF5/59CuDZ0dV6OusP31XG2NYCIvfpqsZdwu/ywZT8ZEq+O8Y2V+uAsWAGYG25x1Vz8xxahmc6NrUAvszeYIuAx9gkCXOj1BrNRWc5TNYGBxAw5izxS8kmDgB3sx9qpKWGIYm9DgAAAABJRU5ErkJggg==">';
if (item.favicon_data_uri) {
favicon = `<img ${source}="${item.favicon_data_uri}">`;
} else {
extraContainerClasses.push('no-favicon');
}
if (!item.attribution_base64) {
extraContainerClasses.push('no-attribution');
}
return `
<div class="offline-content-suggestion ${extraContainerClasses.join(' ')}"
onclick="launchOfflineItem('${item.ID}', '${item.name_space}')">
<div class="offline-content-suggestion-texts">
<div id="offline-content-suggestion-title-${index}"
class="offline-content-suggestion-title">
</div>
<div class="offline-content-suggestion-attribution-freshness">
<div id="offline-content-suggestion-favicon-${index}"
class="offline-content-suggestion-favicon">
${favicon}
</div>
<div id="offline-content-suggestion-attribution-${index}"
class="offline-content-suggestion-attribution">
</div>
<div class="offline-content-suggestion-freshness">
${item.date_modified}
</div>
<div class="offline-content-suggestion-pin-spacer"></div>
<div class="offline-content-suggestion-pin"></div>
</div>
</div>
<div class="offline-content-suggestion-thumbnail">
${thumbnail}
</div>
</div>`;
}
/**
* @typedef {{
* ID: string,
* name_space: string,
* title_base64: string,
* snippet_base64: string,
* date_modified: string,
* attribution_base64: string,
* thumbnail_data_uri: string,
* favicon_data_uri: string,
* content_type: number,
* }}
*/
let AvailableOfflineContent;
// Populates a list of suggested offline content.
// Note: For security reasons all content downloaded from the web is considered
// unsafe and must be securely handled to be presented on the dino page. Images
// have already been safely re-encoded but textual content -- like title and
// attribution -- must be properly handled here.
// @param {boolean} isShown
// @param {Array<AvailableOfflineContent>} suggestions
function offlineContentAvailable(isShown, suggestions) {
if (!suggestions || !loadTimeData.valueExists('offlineContentList')) {
return;
}
const suggestionsHTML = [];
for (let index = 0; index < suggestions.length; index++) {
suggestionsHTML.push(getSuggestedContentDiv(suggestions[index], index));
}
document.getElementById('offline-content-suggestions').innerHTML =
suggestionsHTML.join('\n');
// Sets textual web content using |textContent| to make sure it's handled as
// plain text.
for (let index = 0; index < suggestions.length; index++) {
document.getElementById(`offline-content-suggestion-title-${index}`)
.textContent =
decodeUTF16Base64ToString(suggestions[index].title_base64);
document.getElementById(`offline-content-suggestion-attribution-${index}`)
.textContent =
decodeUTF16Base64ToString(suggestions[index].attribution_base64);
}
const contentListElement = document.getElementById('offline-content-list');
if (document.dir === 'rtl') {
contentListElement.classList.add('is-rtl');
}
contentListElement.hidden = false;
// The list is configured as hidden by default. Show it if needed.
if (isShown) {
toggleOfflineContentListVisibility(false);
}
}
function toggleOfflineContentListVisibility(updatePref) {
if (!loadTimeData.valueExists('offlineContentList')) {
return;
}
const contentListElement = document.getElementById('offline-content-list');
const isVisible = !contentListElement.classList.toggle('list-hidden');
if (updatePref && window.errorPageController) {
errorPageController.listVisibilityChanged(isVisible);
}
}
// Called on document load, and from updateForDnsProbe().
function onDocumentLoadOrUpdate() {
const downloadButtonVisible = loadTimeData.valueExists('downloadButton') &&
loadTimeData.getValue('downloadButton').msg;
const detailsButton = document.getElementById('details-button');
// If offline content suggestions will be visible, the usual buttons will not
// be presented.
const offlineContentVisible =
loadTimeData.valueExists('suggestedOfflineContentPresentation');
if (offlineContentVisible) {
document.querySelector('.nav-wrapper').classList.add(HIDDEN_CLASS);
detailsButton.classList.add(HIDDEN_CLASS);
document.getElementById('download-link').hidden = !downloadButtonVisible;
document.getElementById('download-links-wrapper')
.classList.remove(HIDDEN_CLASS);
document.getElementById('error-information-popup-container')
.classList.add('use-popup-container', HIDDEN_CLASS);
document.getElementById('error-information-button')
.classList.remove(HIDDEN_CLASS);
}
const attemptAutoFetch = loadTimeData.valueExists('attemptAutoFetch') &&
loadTimeData.getValue('attemptAutoFetch');
const reloadButtonVisible = loadTimeData.valueExists('reloadButton') &&
loadTimeData.getValue('reloadButton').msg;
const reloadButton = document.getElementById('reload-button');
const downloadButton = document.getElementById('download-button');
if (reloadButton.style.display === 'none' &&
downloadButton.style.display === 'none') {
detailsButton.classList.add('singular');
}
// Show or hide control buttons.
const controlButtonDiv = document.getElementById('control-buttons');
controlButtonDiv.hidden =
offlineContentVisible || !(reloadButtonVisible || downloadButtonVisible);
const iconClass = loadTimeData.valueExists('iconClass') &&
loadTimeData.getValue('iconClass');
updateIconClass(iconClass);
if (!isSubFrame && iconClass === 'icon-offline') {
document.documentElement.classList.add('offline');
new Runner('.interstitial-wrapper');
}
}
function onDocumentLoad() {
// Sets up the proper button layout for the current platform.
const buttonsDiv = document.getElementById('buttons');
if (primaryControlOnLeft) {
buttonsDiv.classList.add('suggested-left');
} else {
buttonsDiv.classList.add('suggested-right');
}
onDocumentLoadOrUpdate();
}
document.addEventListener('DOMContentLoaded', onDocumentLoad);

View file

@ -1,7 +1,12 @@
// Copyright (c) 2014 The Chromium Authors. All rights reserved.
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {loadTimeData} from 'chrome://resources/js/load_time_data.js';
import {HIDDEN_CLASS} from './constants.js';
import {CollisionBox, spriteDefinitionByType} from './offline-sprite-definitions.js';
/**
* T-Rex runner.
* @param {string} outerContainerId Outer containing element id.
@ -10,7 +15,7 @@
* @implements {EventListener}
* @export
*/
function Runner(outerContainerId, opt_config) {
export function Runner(outerContainerId, opt_config) {
// Singleton
if (Runner.instance_) {
return Runner.instance_;
@ -28,7 +33,7 @@ function Runner(outerContainerId, opt_config) {
this.dimensions = Runner.defaultDimensions;
this.gameType = null;
Runner.spriteDefinition = Runner.spriteDefinitionByType['original'];
Runner.spriteDefinition = spriteDefinitionByType['original'];
this.altGameImageSprite = null;
this.altGameModeActive = false;
@ -670,7 +675,7 @@ Runner.prototype = {
*/
enableAltGameMode() {
Runner.imageSprite = Runner.altGameImageSprite;
Runner.spriteDefinition = Runner.spriteDefinitionByType[Runner.gameType];
Runner.spriteDefinition = spriteDefinitionByType[Runner.gameType];
if (IS_HIDPI) {
this.spriteDef = Runner.spriteDefinition.HDPI;
@ -1273,9 +1278,8 @@ Runner.prototype = {
// Game over panel.
if (!this.gameOverPanel) {
const origSpriteDef = IS_HIDPI ?
Runner.spriteDefinitionByType.original.HDPI :
Runner.spriteDefinitionByType.original.LDPI;
const origSpriteDef = IS_HIDPI ? spriteDefinitionByType.original.HDPI :
spriteDefinitionByType.original.LDPI;
if (this.canvas) {
if (Runner.isAltGameModeEnabled) {
@ -1982,9 +1986,9 @@ GameOverPanel.prototype = {
// Game over text
if (this.altGameModeActive &&
Runner.spriteDefinitionByType.original.ALT_GAME_OVER_TEXT_CONFIG) {
spriteDefinitionByType.original.ALT_GAME_OVER_TEXT_CONFIG) {
const altTextConfig =
Runner.spriteDefinitionByType.original.ALT_GAME_OVER_TEXT_CONFIG;
spriteDefinitionByType.original.ALT_GAME_OVER_TEXT_CONFIG;
if (this.flashCounter < GameOverPanel.FLASH_ITERATIONS &&
this.flashTimer > altTextConfig.FLASH_DURATION) {
@ -2162,24 +2166,6 @@ function boxCompare(tRexBox, obstacleBox) {
}
//******************************************************************************
/**
* Collision box object.
* @param {number} x X position.
* @param {number} y Y Position.
* @param {number} w Width.
* @param {number} h Height.
* @constructor
*/
function CollisionBox(x, y, w, h) {
this.x = x;
this.y = y;
this.width = w;
this.height = h;
}
//******************************************************************************
/**
@ -3618,7 +3604,7 @@ NightMode.prototype = {
let moonSourceX = this.spritePos.x + NightMode.phases[this.currentPhase];
const moonOutputWidth = moonSourceWidth;
let starSize = NightMode.config.STAR_SIZE;
let starSourceX = Runner.spriteDefinitionByType.original.LDPI.STAR.x;
let starSourceX = spriteDefinitionByType.original.LDPI.STAR.x;
if (IS_HIDPI) {
moonSourceWidth *= 2;
@ -3626,7 +3612,7 @@ NightMode.prototype = {
moonSourceX = this.spritePos.x +
(NightMode.phases[this.currentPhase] * 2);
starSize *= 2;
starSourceX = Runner.spriteDefinitionByType.original.HDPI.STAR.x;
starSourceX = spriteDefinitionByType.original.HDPI.STAR.x;
}
this.canvasCtx.save();
@ -3663,12 +3649,10 @@ NightMode.prototype = {
this.stars[i].y = getRandomNum(0, NightMode.config.STAR_MAX_Y);
if (IS_HIDPI) {
this.stars[i].sourceY =
Runner.spriteDefinitionByType.original.HDPI.STAR.y +
this.stars[i].sourceY = spriteDefinitionByType.original.HDPI.STAR.y +
NightMode.config.STAR_SIZE * 2 * i;
} else {
this.stars[i].sourceY =
Runner.spriteDefinitionByType.original.LDPI.STAR.y +
this.stars[i].sourceY = spriteDefinitionByType.original.LDPI.STAR.y +
NightMode.config.STAR_SIZE * i;
}
}
@ -3880,7 +3864,7 @@ Horizon.prototype = {
* Initialise the horizon. Just add the line and a cloud. No obstacles.
*/
init() {
Obstacle.types = Runner.spriteDefinitionByType.original.OBSTACLES;
Obstacle.types = spriteDefinitionByType.original.OBSTACLES;
this.addCloud();
// Multiple Horizon lines
for (let i = 0; i < Runner.spriteDefinition.LINES.length; i++) {

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

View file

@ -1,4 +1,4 @@
# Copyright 2023 The Chromium Authors and Alex313031
# Copyright 2024 The Chromium Authors and Alex313031
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@ -29,8 +29,8 @@ if (is_android) {
import("//v8/gni/v8.gni")
} else if (is_fuchsia) {
import("//build/config/fuchsia/generate_runner_scripts.gni")
import("//third_party/fuchsia-sdk/sdk/build/component.gni")
import("//third_party/fuchsia-sdk/sdk/build/package.gni")
import("//third_party/fuchsia-gn-sdk/src/component.gni")
import("//third_party/fuchsia-gn-sdk/src/package.gni")
} else if (is_ios) {
import("//build/config/ios/config.gni")
}
@ -124,6 +124,9 @@ static_library("content_shell_app") {
"app/ios/web_tests_support_ios.mm",
]
}
if (is_chromeos) {
deps += [ "//ui/gfx/linux:gbm" ]
}
defines = [
"CONTENT_SHELL_VERSION=\"$content_shell_version\"",
"CONTENT_SHELL_MAJOR_VERSION=\"$content_shell_major_version\"",
@ -607,12 +610,7 @@ if (is_android) {
declare_args() {
# The bundle identifier. Overriding this will affect the provisioning profile
# used, and hence will affect the app's capabilities.
if (ios_use_shared_bundle_id_for_test_apps) {
ios_content_shell_bundle_identifier = shared_bundle_id_for_test_apps
} else {
ios_content_shell_bundle_identifier =
"$ios_app_bundle_id_prefix.ios-content-shell"
}
ios_content_shell_bundle_identifier = shared_bundle_id_for_test_apps
# Path to an entitlements file used in ios_content_shell. Can be overridden
# to provide an alternative.

View file

@ -1,41 +0,0 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by test_shell.rc
//
#define IDR_MAINFRAME 128
#define IDM_EXIT 105
#define IDM_CLOSE_WINDOW 106
#define IDM_NEW_WINDOW 107
#define IDM_SHOW_DEVELOPER_TOOLS 108
#define IDC_CONTENTSHELL 109
#define IDD_ALERT 130
#define IDD_CONFIRM 131
#define IDD_PROMPT 132
#define IDC_NAV_BACK 1001
#define IDC_NAV_FORWARD 1002
#define IDC_NAV_RELOAD 1003
#define IDC_NAV_STOP 1004
#define IDC_PROMPTEDIT 1005
#define IDC_DIALOGTEXT 1006
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 130
#define _APS_NEXT_RESOURCE_VALUE 129
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 117
#endif
#endif

View file

@ -1,7 +1,6 @@
//Microsoft Visual C++ generated resource script.
//
#include "content/shell/app/resource.h"
#include "build/branding_buildflags.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@ -90,6 +90,10 @@
#include "content/shell/app/ios/shell_application_ios.h"
#endif
#if BUILDFLAG(IS_CHROMEOS)
#include "ui/gfx/linux/gbm_util.h" // nogncheck
#endif
namespace {
#if !BUILDFLAG(IS_FUCHSIA)
@ -362,6 +366,13 @@ absl::optional<int> ShellMainDelegate::PostEarlyInitialization(
// Apply field trial testing configuration since content did not.
browser_client_->CreateFeatureListAndFieldTrials();
}
#if BUILDFLAG(IS_CHROMEOS)
// At this point, the base::FeatureList has been initialized and the process
// should still be single threaded. Additionally, minigbm shouldn't have been
// used yet by this process. Therefore, it's a good time to ensure the Intel
// media compression environment flag for minigbm is correctly set.
ui::EnsureIntelMediaCompressionEnvVarIsSet();
#endif // BUILDFLAG(IS_CHROMEOS)
if (!ShouldInitializeMojo(invoked_in)) {
InitializeMojoCore();
}

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031
// Copyright 2024 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

View file

@ -1,4 +1,4 @@
# Copyright 2023 The Chromium Authors and Alex313031
# Copyright 2024 The Chromium Authors and Alex313031
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@ -200,6 +200,8 @@ static_library("test_support") {
"../public/test/fake_service_worker_context.h",
"../public/test/fake_speech_recognition_manager.cc",
"../public/test/fake_speech_recognition_manager.h",
"../public/test/fenced_frame_reporter_observer.cc",
"../public/test/fenced_frame_reporter_observer.h",
"../public/test/fenced_frame_test_util.cc",
"../public/test/fenced_frame_test_util.h",
"../public/test/file_system_chooser_test_helpers.cc",
@ -245,8 +247,6 @@ static_library("test_support") {
"../public/test/mock_render_process_host.h",
"../public/test/mock_render_thread.cc",
"../public/test/mock_render_thread.h",
"../public/test/mock_resource_context.cc",
"../public/test/mock_resource_context.h",
"../public/test/mock_web_contents_observer.cc",
"../public/test/mock_web_contents_observer.h",
"../public/test/navigation_handle_observer.cc",
@ -299,8 +299,6 @@ static_library("test_support") {
"../public/test/test_aggregation_service.h",
"../public/test/test_browser_context.cc",
"../public/test/test_browser_context.h",
"../public/test/test_cert_verifier_service_factory.cc",
"../public/test/test_cert_verifier_service_factory.h",
"../public/test/test_content_client_initializer.cc",
"../public/test/test_content_client_initializer.h",
"../public/test/test_devtools_protocol_client.cc",
@ -516,7 +514,6 @@ static_library("test_support") {
deps = [
":content_test_mojo_bindings",
":web_ui_mojo_test_resources",
":web_ui_test_mojo_bindings",
"//base/third_party/dynamic_annotations",
"//build:chromeos_buildflags",
"//cc:test_support",
@ -535,7 +532,7 @@ static_library("test_support") {
"//content/app:for_content_tests",
"//content/browser:for_content_tests",
"//content/browser/attribution_reporting:mojo_bindings",
"//content/browser/attribution_reporting:store_source_result_mojom",
"//content/browser/attribution_reporting:registration_result_mojom",
"//content/child:for_content_tests",
"//content/common:for_content_tests",
"//content/gpu",
@ -639,6 +636,10 @@ static_library("test_support") {
]
}
if (is_chromeos_ash) {
deps += [ ":web_ui_test_mojo_bindings" ]
}
# HID support is not available without udev.
is_linux_without_udev = (is_linux || is_chromeos) && !use_udev
if (!is_linux_without_udev && !is_android) {
@ -804,6 +805,8 @@ static_library("test_support") {
"../browser/smart_card/mock_smart_card_context_factory.cc",
"../browser/smart_card/mock_smart_card_context_factory.h",
]
deps += [ "//ui/gfx/linux:gbm" ]
}
if (is_fuchsia) {
@ -930,6 +933,7 @@ group("webgpu_cts_scripts") {
group("telemetry_gpu_common_data") {
testonly = true
data = [
"//chrome/VERSION",
"//content/test/data/gpu/",
"//content/test/gpu/gpu_path_util/",
"//content/test/gpu/gpu_tests/",
@ -1066,17 +1070,23 @@ mojom("content_test_mojo_bindings") {
]
}
mojom("web_ui_test_mojo_bindings") {
testonly = true
sources = [
"data/web_ui_test.test-mojom",
"data/web_ui_test_types.test-mojom",
]
public_deps = [
":web_ui_js_bridge_test_bindings",
"//url/mojom:url_mojom_gurl",
]
webui_module_path = "/content/test/data"
# Testing JS bindings only on Ash, since they are primarily used there and
# because this test relies on the URL WebUI mojo bindings, which are
# TypeScript only on other platforms.
if (is_chromeos_ash) {
mojom("web_ui_test_mojo_bindings") {
testonly = true
sources = [
"data/web_ui_test.test-mojom",
"data/web_ui_test_types.test-mojom",
]
public_deps = [ "//url/mojom:url_mojom_gurl" ]
webui_module_path = "/content/test/data"
# Generate WebUI bindings in JavaScript instead of TypeScript. This is
# necessary since this target is intentionally testing JS WebUI bindings.
use_typescript_sources = false
}
}
mojom_with_webui_js_bridge("web_ui_js_bridge_test_bindings") {
@ -1120,7 +1130,10 @@ mojom("web_ui_ts_test_mojo_bindings") {
preprocess_if_expr("preprocess_mojo_webui_test") {
in_folder = "./data"
out_folder = "$target_gen_dir/data"
in_files = [ "web_ui_mojo_ts_test.ts" ]
in_files = [
"web_ui_mojo_ts_test.ts",
"web_ui_managed_interface_test.ts",
]
}
ts_library("web_ui_mojo_test_build_ts") {
@ -1130,10 +1143,13 @@ ts_library("web_ui_mojo_test_build_ts") {
"web_ui_mojo_ts_test.ts",
"web_ui_ts_test.test-mojom-webui.ts",
"web_ui_ts_test_types.test-mojom-webui.ts",
"web_ui_managed_interface_test.ts",
"web_ui_managed_interface_test.test-mojom-webui.ts",
]
deps = [ "//ui/webui/resources/mojo:build_ts" ]
extra_deps = [
":preprocess_mojo_webui_test",
":web_ui_js_bridge_test_bindings_ts__generator",
":web_ui_ts_test_mojo_bindings_ts__generator",
]
}
@ -1243,7 +1259,6 @@ if (is_android) {
":content_browsertests_resources",
"//base:base_java",
"//base:base_java_test_support",
"//base:jni_java",
"//components/download/internal/common:internal_java",
"//components/metrics:metrics_java",
"//components/viz/service:service_java",
@ -1251,6 +1266,7 @@ if (is_android) {
"//content/public/test/android:content_java_test_support",
"//content/shell/android:content_shell_browsertests_java",
"//testing/android/native_test:native_test_java",
"//third_party/jni_zero:jni_zero_java",
"//ui/android:ui_java",
]
}
@ -1369,6 +1385,7 @@ test("content_browsertests") {
"../browser/file_system_access/file_system_access_capacity_allocation_host_impl_browsertest.cc",
"../browser/file_system_access/file_system_access_observer_browsertest.cc",
"../browser/find_request_manager_browsertest.cc",
"../browser/first_party_sets/first_party_sets_handler_impl_browsertest.cc",
"../browser/first_party_sets/test/first_party_sets_initialization_browsertest.cc",
"../browser/font_access/font_access_manager_browsertest.cc",
"../browser/font_unique_name_lookup/font_unique_name_browsertest.cc",
@ -1385,6 +1402,7 @@ test("content_browsertests") {
"../browser/keyboard_lock_browsertest.cc",
"../browser/keyboard_lock_browsertest.h",
"../browser/largest_contentful_paint_browsertests.cc",
"../browser/loader/background_resource_fetch_browsertests.cc",
"../browser/loader/cors_file_origin_browsertest.cc",
"../browser/loader/cors_origin_pattern_setter_browsertest.cc",
"../browser/loader/cors_preflight_cache_browsertest.cc",
@ -1433,7 +1451,6 @@ test("content_browsertests") {
"../browser/network/sandboxed_http_cache_browsertest.cc",
"../browser/network/sandboxed_network_list_browsertest.cc",
"../browser/network/sandboxed_nqe_browsertest.cc",
"../browser/network/sandboxed_socket_broker_browsertest.cc",
"../browser/network/shared_dictionary_browsertest.cc",
"../browser/network/split_cache_browsertest.cc",
"../browser/network/transferable_socket_browsertest.cc",
@ -1568,10 +1585,10 @@ test("content_browsertests") {
"../browser/web_contents/web_contents_view_aura_browsertest.cc",
"../browser/web_package/signed_exchange_request_handler_browsertest.cc",
"../browser/web_package/signed_exchange_subresource_prefetch_browsertest.cc",
"../browser/webid/test/mock_digital_credential_provider.cc",
"../browser/webid/test/mock_digital_credential_provider.h",
"../browser/webid/test/mock_identity_request_dialog_controller.cc",
"../browser/webid/test/mock_identity_request_dialog_controller.h",
"../browser/webid/test/mock_mdoc_provider.cc",
"../browser/webid/test/mock_mdoc_provider.h",
"../browser/webid/test/mock_modal_dialog_view_delegate.cc",
"../browser/webid/test/mock_modal_dialog_view_delegate.h",
"../browser/webid/test/webid_test_content_browser_client.cc",
@ -1643,6 +1660,10 @@ test("content_browsertests") {
]
}
if (is_win) {
sources += [ "../browser/network/sandboxed_socket_broker_browsertest.cc" ]
}
if (enable_reporting) {
sources += [
"../browser/network/cross_origin_opener_policy_reporting_browsertest.cc",
@ -1669,8 +1690,8 @@ test("content_browsertests") {
":browsertest_support",
":content_test_mojo_bindings",
":test_support",
":web_ui_js_bridge_test_bindings__generator",
":web_ui_js_bridge_test_bindings_webui_js_bridge_impl",
":web_ui_test_mojo_bindings",
":web_ui_ts_test_mojo_bindings",
"//base/test:proto_test_support",
"//base/test:test_support",
@ -1819,10 +1840,21 @@ test("content_browsertests") {
]
}
if (is_chromeos_ash) {
deps += [ ":web_ui_test_mojo_bindings" ]
}
if (enable_plugins) {
sources += [ "../browser/plugin_service_impl_browsertest.cc" ]
}
if (enable_library_cdms) {
deps += [ "//media/cdm:cdm_paths" ]
# Runtime dependencies.
data_deps += [ "//media/cdm/library_cdm/clear_key_cdm" ]
}
if (enable_ppapi) {
sources += [
"../renderer/pepper/fake_pepper_plugin_instance.cc",
@ -2223,11 +2255,11 @@ grit("web_ui_mojo_test_resources") {
"grit/web_ui_mojo_test_resources_map.h",
"web_ui_mojo_test_resources.pak",
]
deps = [
":web_ui_js_bridge_test_bindings_js__generator",
":web_ui_mojo_test_build_ts",
":web_ui_test_mojo_bindings_js__generator",
]
deps = [ ":web_ui_mojo_test_build_ts" ]
if (is_chromeos_ash) {
deps += [ ":web_ui_test_mojo_bindings_js__generator" ]
}
}
static_library("run_all_unittests") {
@ -2284,7 +2316,7 @@ test("content_unittests") {
"../browser/attribution_reporting/attribution_storage_sql_unittest.cc",
"../browser/attribution_reporting/attribution_storage_unittest.cc",
"../browser/attribution_reporting/attribution_utils_unittest.cc",
"../browser/attribution_reporting/combinatorics_unittest.cc",
"../browser/attribution_reporting/privacy_math_unittest.cc",
"../browser/attribution_reporting/rate_limit_table_unittest.cc",
"../browser/background_fetch/background_fetch_cross_origin_filter_unittest.cc",
"../browser/background_fetch/background_fetch_data_manager_unittest.cc",
@ -2307,7 +2339,8 @@ test("content_unittests") {
"../browser/background_sync/one_shot_background_sync_service_impl_unittest.cc",
"../browser/background_sync/periodic_background_sync_service_impl_unittest.cc",
"../browser/blob_storage/blob_url_unittest.cc",
"../browser/blob_storage/file_backed_blob_factory_impl_unittest.cc",
"../browser/blob_storage/file_backed_blob_factory_frame_impl_unittest.cc",
"../browser/blob_storage/file_backed_blob_factory_worker_impl_unittest.cc",
"../browser/bluetooth/bluetooth_allowed_devices_unittest.cc",
"../browser/bluetooth/bluetooth_blocklist_unittest.cc",
"../browser/bluetooth/bluetooth_device_chooser_controller_unittest.cc",
@ -2379,7 +2412,7 @@ test("content_unittests") {
"../browser/first_party_sets/local_set_declaration_unittest.cc",
"../browser/font_access/font_access_manager_unittest.cc",
"../browser/font_access/font_enumeration_data_source_unittest.cc",
"../browser/generic_sensor/sensor_provider_proxy_impl_unittest.cc",
"../browser/generic_sensor/web_contents_sensor_provider_proxy_unittest.cc",
"../browser/geolocation/geolocation_service_impl_unittest.cc",
"../browser/gpu/gpu_data_manager_impl_private_unittest.cc",
"../browser/gpu/gpu_data_manager_testing_arrays_and_structs_autogen.h",
@ -2427,6 +2460,7 @@ test("content_unittests") {
"../browser/interest_group/bidding_and_auction_server_key_fetcher_unittest.cc",
"../browser/interest_group/header_direct_from_seller_signals_unittest.cc",
"../browser/interest_group/interest_group_auction_reporter_unittest.cc",
"../browser/interest_group/interest_group_caching_storage_unittest.cc",
"../browser/interest_group/interest_group_k_anonymity_manager_unittest.cc",
"../browser/interest_group/interest_group_pa_report_util_unittest.cc",
"../browser/interest_group/interest_group_permissions_cache_unittest.cc",
@ -2699,7 +2733,9 @@ test("content_unittests") {
"../browser/webid/federated_auth_request_impl_multiple_frames_unittest.cc",
"../browser/webid/federated_auth_request_impl_registry_unittest.cc",
"../browser/webid/federated_auth_request_impl_unittest.cc",
"../browser/webid/federated_auth_revoke_request_unittest.cc",
"../browser/webid/federated_auth_user_info_request_unittest.cc",
"../browser/webid/federated_provider_fetcher_unittest.cc",
"../browser/webid/identity_registry_unittest.cc",
"../browser/webid/idp_network_request_manager_unittest.cc",
"../browser/webid/test/delegated_idp_network_request_manager.cc",
@ -2808,6 +2844,12 @@ test("content_unittests") {
]
}
if (is_ios) {
sources += [
"../browser/date_time_chooser/ios/date_time_chooser_util_unittest.mm",
]
}
if (use_atk) {
sources += [
"../browser/accessibility/browser_accessibility_auralinux_unittest.cc",
@ -2850,8 +2892,10 @@ test("content_unittests") {
}
if (is_win) {
sources +=
[ "../renderer/media/win/overlay_state_observer_impl_unittest.cc" ]
sources += [
"../browser/media/web_app_system_media_controls_manager_unittest.cc",
"../renderer/media/win/overlay_state_observer_impl_unittest.cc",
]
}
if (is_android || is_linux || is_chromeos || is_mac || is_win || is_fuchsia) {
@ -2906,6 +2950,7 @@ test("content_unittests") {
"//components/services/storage/service_worker:service_worker_proto",
"//components/system_media_controls:test_support",
"//components/ukm:test_support",
"//components/user_prefs/test:test_support",
"//components/viz/client",
"//components/viz/common",
"//components/viz/host",
@ -3130,7 +3175,7 @@ test("content_unittests") {
]
sources += [
"../browser/media/capture/desktop_capture_device_unittest.cc",
"../browser/renderer_host/media/crop_id_web_contents_helper_unittest.cc",
"../browser/renderer_host/media/sub_capture_target_id_web_contents_helper_unittest.cc",
]
}
}
@ -3410,8 +3455,8 @@ if (is_android) {
"$google_play_services_package:google_play_services_basement_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:jni_java",
"//content/public/android:content_java",
"//third_party/jni_zero:jni_zero_java",
"//ui/android:ui_full_java",
]
}

View file

@ -1,6 +1,4 @@
#!special-case-list-v1
# TODO(https://crbug.com/1515966): update to glob patterns
# Copyright (c) 2024 Alex313031 and RobRich999
# This file defines which warnings should be ignored while running clang's
# control flow integrity sanitizer, as run by the cfi_flags build target.
@ -165,12 +163,6 @@ fun:*AddTraceEvent*
# Dawn, calls to OpenGL and Vulkan function pointers from shared library.
src:*third_party/dawn/src/dawn/native/*
# Dawn uses std::function for callbacks from the main binary to
# liboptimization_guide_internal.so.
# TODO(crbug.com/1511050): See if we can avoid disabling CFI for std::function.
src:*third_party/libc*/invoke.h
src:*third_party/libc*/function.h
# PPAPI
src:*ppapi/*
src:*content/renderer/pepper*
@ -271,9 +263,6 @@ fun:*InvokeAccessorGetterCallback*
src:*third_party/pthreadpool/src/src/fastpath.c
src:*third_party/pthreadpool/src/src/portable-api.c
# XNNPack casts incorrect function signature.
src:*third_party/xnnpack/src/src/operators/deconvolution-nhwc.c
######### Uncategorized
src:*native_client/*

View file

@ -1,4 +1,4 @@
# Copyright 2023 The Chromium Authors and Alex313031
# Copyright 2024 The Chromium Authors and Alex313031
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

View file

@ -49,7 +49,7 @@ ffmpeg_branding = "Chrome"
# Set to false for Polly build
clang_use_chrome_plugins = true
enable_ffmpeg_video_decoders = true
is_component_ffmpeg = false
is_component_ffmpeg = true
use_webaudio_ffmpeg = false
use_webaudio_pffft = true
# enable_av1_decoder = true