M128 stage 3

This commit is contained in:
Alexander Frick 2024-10-03 10:50:15 -05:00
parent 856d6b0d4c
commit b0c1ef99cc
7 changed files with 292 additions and 280 deletions

View file

@ -102,12 +102,13 @@
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:components/security_interstitials_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">security_interstitials_strings.grdp - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:components/ssl_errors_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">ssl_errors_strings.grdp - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:components/version_ui_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">ssl_errors_strings.grdp - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:chrome/install_static/user_data_dir_win_unittest.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">user_data_dir_win_unittest.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:chrome/install_static/chromium_install_modes.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">chromium_install_modes.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:chrome/install_static/user_data_dir_win_unittest.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">user_data_dir_win_unittest.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:chrome/common/chrome_paths_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">chrome_paths_linux.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:chrome/common/chrome_paths_mac.mm;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_paths_mac.mm - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:extensions/browser/ui_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">ui_util.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:chrome/browser/ui/ui_features.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">ui_features.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:chrome/browser/ui/tabs/features.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">features.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/128.0.6613.181:net/cert/x509_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">x509_util.cc - Chromium Code Search</A>
</DL><p>
<DT><H3 ADD_DATE="1706580105" LAST_MODIFIED="0">THOR4</H3>

View file

@ -460,7 +460,7 @@ void CreateOrUpdateDesktopShortcutsAndIconForProfile(
base::FilePath chrome_exe;
if (!base::PathService::Get(base::FILE_EXE, &chrome_exe)) {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
return;
}
@ -622,7 +622,7 @@ void UnpinAndDeleteDesktopShortcuts(
base::FilePath chrome_exe;
if (!base::PathService::Get(base::FILE_EXE, &chrome_exe)) {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
return;
}
@ -658,7 +658,7 @@ bool HasAnyProfileShortcuts(const base::FilePath& profile_path) {
base::FilePath chrome_exe;
if (!base::PathService::Get(base::FILE_EXE, &chrome_exe)) {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
return false;
}
@ -785,7 +785,7 @@ bool IsChromeShortcutForProfile(const base::FilePath& shortcut,
const base::FilePath& profile_path) {
base::FilePath chrome_exe;
if (!base::PathService::Get(base::FILE_EXE, &chrome_exe)) {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
return false;
}
@ -939,7 +939,7 @@ void ProfileShortcutManagerWin::GetShortcutProperties(
base::FilePath* icon_path) {
base::FilePath chrome_exe;
if (!base::PathService::Get(base::FILE_EXE, &chrome_exe)) {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
return;
}
@ -1066,7 +1066,7 @@ base::FilePath ProfileShortcutManagerWin::GetOtherProfilePath(
if (path != profile_path)
return path;
}
NOTREACHED();
NOTREACHED_IN_MIGRATION();
return base::FilePath();
}

View file

@ -0,0 +1,59 @@
// 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.
#include "chrome/browser/ui/tabs/features.h"
#include "base/feature_list.h"
#include "chrome/browser/buildflags.h"
namespace tabs {
// Splits pinned and unpinned tabs into separate TabStrips.
// https://crbug.com/1346019
// TODO: Alex313031 Possibly Re-Enable after feedback
BASE_FEATURE(kSplitTabStrip,
"SplitTabStrip",
base::FEATURE_DISABLED_BY_DEFAULT);
// Enables tabs to scroll in the tabstrip. https://crbug.com/951078
BASE_FEATURE(kScrollableTabStrip,
"ScrollableTabStrip",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kMinimumTabWidthFeatureParameterName[] = "minTabWidth";
// Enables tab scrolling while dragging tabs in tabstrip
// https://crbug.com/1145747
BASE_FEATURE(kScrollableTabStripWithDragging,
"kScrollableTabStripWithDragging",
base::FEATURE_ENABLED_BY_DEFAULT);
const char kTabScrollingWithDraggingModeName[] = "tabScrollWithDragMode";
// Enables different methods of overflow when scrolling tabs in tabstrip
// https://crbug.com/951078
BASE_FEATURE(kScrollableTabStripOverflow,
"kScrollableTabStripOverflow",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kScrollableTabStripOverflowModeName[] = "tabScrollOverflow";
BASE_FEATURE(kTabSearchPositionSetting,
"TabSearchPositionSetting",
base::FEATURE_DISABLED_BY_DEFAULT);
// Stores the tabs as a tree based data structure instead of a
// vector in the tabstrip model. b/323937237
BASE_FEATURE(kTabStripCollectionStorage,
"TabStripCollectionStorage",
base::FEATURE_DISABLED_BY_DEFAULT);
bool CanShowTabSearchPositionSetting() {
// Mac and other platforms will always have the tab search position in the
// correct location, cros/linux/win git the user the option to change.
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
return base::FeatureList::IsEnabled(kTabSearchPositionSetting);
#else
return false;
#endif
}
} // namespace tabs

View file

@ -30,17 +30,6 @@ BASE_FEATURE(kAllowEyeDropperWGCScreenCapture,
#endif // BUILDFLAG(IS_WIN)
);
#if !defined(ANDROID)
// Enables experiment were the cast item in the app menu may be reordered and
// its subgroup renamed.
BASE_FEATURE(kCastAppMenuExperiment,
"CastAppMenuExperiment",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<bool> kCastListedFirst{&kCastAppMenuExperiment,
"cast_listed_first", false};
#endif
// Enables icon in titlebar for web apps.
BASE_FEATURE(kWebAppIconInTitlebar,
"WebAppIconInTitlebar",
@ -105,8 +94,7 @@ BASE_FEATURE(kExtensionsMenuInAppMenu,
base::FEATURE_ENABLED_BY_DEFAULT);
bool IsExtensionMenuInRootAppMenu() {
return base::FeatureList::IsEnabled(kExtensionsMenuInAppMenu) ||
features::IsChromeRefresh2023();
return base::FeatureList::IsEnabled(kExtensionsMenuInAppMenu);
}
#if !defined(ANDROID)
@ -121,6 +109,14 @@ BASE_FEATURE(kEvDetailsInPageInfo,
"EvDetailsInPageInfo",
base::FEATURE_ENABLED_BY_DEFAULT);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
// Enables the feature to remove the last confirmation dialog when relaunching
// to update Chrome.
BASE_FEATURE(kFewerUpdateConfirmations,
"FewerUpdateConfirmations",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING)
// Enables showing the "Get the most out of Chrome" section in settings.
BASE_FEATURE(kGetTheMostOutOfChrome,
@ -145,6 +141,12 @@ BASE_FEATURE(kIOSPromoBookmarkBubble,
"IOSPromoBookmarkBubble",
base::FEATURE_DISABLED_BY_DEFAULT);
// This feature controls whether the user can be shown the Chrome for iOS promo
// when saving or updating payments.
BASE_FEATURE(kIOSPromoPaymentBubble,
"IOSPromoPaymentBubble",
base::FEATURE_DISABLED_BY_DEFAULT);
// This array lists the different activation params that can be passed in the
// experiment config, with their corresponding string.
constexpr base::FeatureParam<IOSPromoBookmarkBubbleActivation>::Option
@ -201,6 +203,9 @@ const base::FeatureParam<PreloadTopChromeWebUIMode> kPreloadTopChromeWebUIMode{
&kPreloadTopChromeWebUI, kPreloadTopChromeWebUIModeName,
PreloadTopChromeWebUIMode::kPreloadOnMakeContents,
&kPreloadTopChromeWebUIModeOptions};
const char kPreloadTopChromeWebUISmartPreloadName[] = "smart-preload";
const base::FeatureParam<bool> kPreloadTopChromeWebUISmartPreload{
&kPreloadTopChromeWebUI, kPreloadTopChromeWebUISmartPreloadName, false};
// Enables exiting browser fullscreen (users putting the browser itself into the
// fullscreen mode via the browser UI or shortcuts) with press-and-hold Esc.
@ -255,22 +260,11 @@ BASE_FEATURE(kSidePanelJourneysQueryless,
BASE_FEATURE(kSidePanelCompanionDefaultPinned,
"SidePanelCompanionDefaultPinned",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSidePanelPinning,
"SidePanelPinning",
base::FEATURE_ENABLED_BY_DEFAULT);
bool IsSidePanelPinningEnabled() {
return (IsChromeRefresh2023() &&
base::FeatureList::IsEnabled(kSidePanelPinning));
}
#endif
// Enables tabs to scroll in the tabstrip. https://crbug.com/951078
BASE_FEATURE(kScrollableTabStrip,
"ScrollableTabStrip",
BASE_FEATURE(kSidePanelResizing,
"SidePanelResizing",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kMinimumTabWidthFeatureParameterName[] = "minTabWidth";
// Enables buttons when scrolling the tabstrip https://crbug.com/951078
BASE_FEATURE(kTabScrollingButtonPosition,
@ -278,33 +272,6 @@ BASE_FEATURE(kTabScrollingButtonPosition,
base::FEATURE_ENABLED_BY_DEFAULT);
const char kTabScrollingButtonPositionParameterName[] = "buttonPosition";
// Enables tab scrolling while dragging tabs in tabstrip
// https://crbug.com/1145747
BASE_FEATURE(kScrollableTabStripWithDragging,
"kScrollableTabStripWithDragging",
base::FEATURE_ENABLED_BY_DEFAULT);
const char kTabScrollingWithDraggingModeName[] = "tabScrollWithDragMode";
// Enables different methods of overflow when scrolling tabs in tabstrip
// https://crbug.com/951078
BASE_FEATURE(kScrollableTabStripOverflow,
"kScrollableTabStripOverflow",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kScrollableTabStripOverflowModeName[] = "tabScrollOverflow";
// Splits pinned and unpinned tabs into separate TabStrips.
// https://crbug.com/1346019
// TODO: Alex313031 Possibly Re-Enable after feedback
BASE_FEATURE(kSplitTabStrip,
"SplitTabStrip",
base::FEATURE_DISABLED_BY_DEFAULT);
// Stores the tabs as a tree based data structure instead of a
// vector in the tabstrip model. b/323937237
BASE_FEATURE(kTabStripCollectionStorage,
"TabStripCollectionStorage",
base::FEATURE_DISABLED_BY_DEFAULT);
// Enables tabs to be frozen when collapsed.
// https://crbug.com/1110108
BASE_FEATURE(kTabGroupsCollapseFreezing,
@ -337,8 +304,7 @@ BASE_FEATURE(kTabOrganization,
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsTabOrganization() {
return IsChromeRefresh2023() &&
base::FeatureList::IsEnabled(features::kTabOrganization);
return base::FeatureList::IsEnabled(features::kTabOrganization);
}
BASE_FEATURE(kMultiTabOrganization,
@ -381,38 +347,7 @@ BASE_FEATURE(kTabSearchFeedback,
"TabSearchFeedback",
base::FEATURE_DISABLED_BY_DEFAULT);
// Controls whether or not to use fuzzy search for tab search.
BASE_FEATURE(kTabSearchFuzzySearch,
"TabSearchFuzzySearch",
base::FEATURE_DISABLED_BY_DEFAULT);
const char kTabSearchSearchThresholdName[] = "TabSearchSearchThreshold";
const base::FeatureParam<bool> kTabSearchSearchIgnoreLocation{
&kTabSearchFuzzySearch, "TabSearchSearchIgnoreLocation", false};
// If this feature parameter is enabled, show media tabs in both "Audio & Video"
// section and "Open Tabs" section.
const char kTabSearchAlsoShowMediaTabsinOpenTabsSectionParameterName[] =
"Also show Media Tabs in Open Tabs Section";
const base::FeatureParam<int> kTabSearchSearchDistance{
&kTabSearchFuzzySearch, "TabSearchSearchDistance", 200};
const base::FeatureParam<double> kTabSearchSearchThreshold{
&kTabSearchFuzzySearch, kTabSearchSearchThresholdName, 0.6};
const base::FeatureParam<double> kTabSearchTitleWeight{
&kTabSearchFuzzySearch, "TabSearchTitleWeight", 2.0};
const base::FeatureParam<double> kTabSearchHostnameWeight{
&kTabSearchFuzzySearch, "TabSearchHostnameWeight", 1.0};
const base::FeatureParam<double> kTabSearchGroupTitleWeight{
&kTabSearchFuzzySearch, "TabSearchGroupTitleWeight", 1.5};
const base::FeatureParam<bool> kTabSearchMoveActiveTabToBottom{
&kTabSearchFuzzySearch, "TabSearchMoveActiveTabToBottom", true};
// Controls feature parameters for Tab Search's `Recently Closed` entries.
BASE_FEATURE(kTabSearchRecentlyClosed,
@ -438,8 +373,7 @@ BASE_FEATURE(kToolbarPinning,
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsToolbarPinningEnabled() {
return (IsSidePanelPinningEnabled() &&
base::FeatureList::IsEnabled(kToolbarPinning));
return base::FeatureList::IsEnabled(kToolbarPinning);
}
#endif
@ -467,6 +401,11 @@ BASE_FEATURE(kEnterpriseProfileBadging,
"EnterpriseProfileBadging",
base::FEATURE_ENABLED_BY_DEFAULT);
// Enables the management button on the toolbar.
BASE_FEATURE(kManagementToolbarButton,
"ManagementToolbarButton",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEnterpriseUpdatedProfileCreationScreen,
"EnterpriseUpdatedProfileCreationScreen",
base::FEATURE_DISABLED_BY_DEFAULT);
@ -501,19 +440,6 @@ BASE_FEATURE(kWebUITabStripContextMenuAfterTap,
);
#if BUILDFLAG(IS_MAC)
// Enabled an experiment which increases the prominence to grant MacOS system
// location permission to Chrome when location permissions have already been
// approved. https://crbug.com/1211052
BASE_FEATURE(kLocationPermissionsExperiment,
"LocationPermissionsExperiment",
base::FEATURE_DISABLED_BY_DEFAULT);
constexpr base::FeatureParam<int>
kLocationPermissionsExperimentBubblePromptLimit{
&kLocationPermissionsExperiment, "bubble_prompt_count", 3};
constexpr base::FeatureParam<int>
kLocationPermissionsExperimentLabelPromptLimit{
&kLocationPermissionsExperiment, "label_prompt_count", 5};
BASE_FEATURE(kViewsFirstRunDialog,
"ViewsFirstRunDialog",
base::FEATURE_DISABLED_BY_DEFAULT);
@ -525,13 +451,6 @@ BASE_FEATURE(kViewsTaskManager,
BASE_FEATURE(kViewsJSAppModalDialog,
"ViewsJSAppModalDialog",
base::FEATURE_DISABLED_BY_DEFAULT);
int GetLocationPermissionsExperimentBubblePromptLimit() {
return kLocationPermissionsExperimentBubblePromptLimit.Get();
}
int GetLocationPermissionsExperimentLabelPromptLimit() {
return kLocationPermissionsExperimentLabelPromptLimit.Get();
}
#endif
// Reduce resource usage when view is hidden by not rendering loading animation.
@ -540,4 +459,10 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
"StopLoadingAnimationForHiddenWindow",
base::FEATURE_ENABLED_BY_DEFAULT);
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
BASE_FEATURE(kUsePortalAccentColor,
"UsePortalAccentColor",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
} // namespace features

View file

@ -28,6 +28,7 @@
#include "ui/base/window_open_disposition_utils.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/metrics.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h"
@ -40,15 +41,11 @@ ReloadButton::ReloadButton(CommandUpdater* command_updater)
CreateMenuModel(),
nullptr),
command_updater_(command_updater),
reload_icon_(features::IsChromeRefresh2023()
? base::CommandLine::ForCurrentProcess()->HasSwitch("disable-thorium-icons") ? vector_icons::kReloadChromeRefreshIcon
reload_icon_(base::CommandLine::ForCurrentProcess()->HasSwitch("disable-thorium-icons")
? vector_icons::kReloadChromeRefreshIcon
: vector_icons::kReloadChromeRefreshThoriumIcon
: base::CommandLine::ForCurrentProcess()->HasSwitch("disable-thorium-icons") ? vector_icons::kReloadIcon
: vector_icons::kReloadThoriumIcon),
reload_touch_icon_(kReloadTouchIcon),
stop_icon_(features::IsChromeRefresh2023()
? kNavigateStopChromeRefreshIcon
: kNavigateStopIcon),
stop_icon_(kNavigateStopChromeRefreshIcon),
stop_touch_icon_(kNavigateStopTouchIcon),
double_click_timer_delay_(
base::Milliseconds(views::GetDoubleClickInterval())),
@ -56,7 +53,7 @@ ReloadButton::ReloadButton(CommandUpdater* command_updater)
SetVisibleMode(Mode::kReload);
SetTriggerableEventFlags(ui::EF_LEFT_MOUSE_BUTTON |
ui::EF_MIDDLE_MOUSE_BUTTON);
SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_RELOAD));
GetViewAccessibility().SetName(l10n_util::GetStringUTF16(IDS_ACCNAME_RELOAD));
SetProperty(views::kElementIdentifierKey, kReloadButtonElementId);
SetID(VIEW_ID_RELOAD_BUTTON);
}

View file

@ -2,6 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifdef UNSAFE_BUFFERS_BUILD
// TODO(crbug.com/40284755): Remove this and spanify to fix the errors.
#pragma allow_unsafe_buffers
#endif
#include "net/cert/x509_util.h"
#include <string.h>
@ -10,7 +15,6 @@
#include <memory>
#include <string_view>
#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/memory/raw_ptr.h"
#include "base/notreached.h"
@ -93,24 +97,6 @@ const EVP_MD* ToEVP(DigestAlgorithm alg) {
return nullptr;
}
class BufferPoolSingleton {
public:
BufferPoolSingleton() {
crypto::EnsureOpenSSLInit();
pool_ = CRYPTO_BUFFER_POOL_new();
}
CRYPTO_BUFFER_POOL* pool() { return pool_; }
private:
// The singleton is leaky, so there is no need to use a smart pointer.
raw_ptr<CRYPTO_BUFFER_POOL> pool_;
};
base::LazyInstance<BufferPoolSingleton>::Leaky g_buffer_pool_singleton =
LAZY_INSTANCE_INITIALIZER;
} // namespace
// Adds an X.509 Name with the specified distinguished name to |cbb|.
@ -268,7 +254,7 @@ bool GetTLSServerEndPointChannelBinding(const X509Certificate& certificate,
// Legacy digests are not supported, and
// `GetTlsServerEndpointDigestAlgorithm` internally maps MD5 and SHA-1 to
// SHA-256.
NOTREACHED();
NOTREACHED_IN_MIGRATION();
break;
case bssl::DigestAlgorithm::Sha256:
@ -342,7 +328,6 @@ bool CreateCert(EVP_PKEY* subject_key,
std::string_view issuer,
EVP_PKEY* issuer_key,
std::string* der_encoded) {
crypto::EnsureOpenSSLInit();
crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);
// See RFC 5280, section 4.1. First, construct the TBSCertificate.
@ -444,7 +429,8 @@ bool CreateSelfSignedCert(EVP_PKEY* key,
}
CRYPTO_BUFFER_POOL* GetBufferPool() {
return g_buffer_pool_singleton.Get().pool();
static CRYPTO_BUFFER_POOL* const kSharedPool = CRYPTO_BUFFER_POOL_new();
return kSharedPool;
}
bssl::UniquePtr<CRYPTO_BUFFER> CreateCryptoBuffer(
@ -488,7 +474,7 @@ base::span<const uint8_t> CryptoBufferAsSpan(const CRYPTO_BUFFER* buffer) {
scoped_refptr<X509Certificate> CreateX509CertificateFromBuffers(
const STACK_OF(CRYPTO_BUFFER) * buffers) {
if (sk_CRYPTO_BUFFER_num(buffers) == 0) {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
return nullptr;
}
@ -505,7 +491,6 @@ scoped_refptr<X509Certificate> CreateX509CertificateFromBuffers(
bool CreateCertBuffersFromPKCS7Bytes(
base::span<const uint8_t> data,
std::vector<bssl::UniquePtr<CRYPTO_BUFFER>>* handles) {
crypto::EnsureOpenSSLInit();
crypto::OpenSSLErrStackTracer err_cleaner(FROM_HERE);
CBS der_data;

View file

@ -52,12 +52,6 @@ BASE_FEATURE(kAdInterestGroupAPIRestrictedPolicyByDefault,
"AdInterestGroupAPIRestrictedPolicyByDefault",
base::FEATURE_ENABLED_BY_DEFAULT);
// Make MediaDevicesDispatcherHost and ended MediaStreamTrack not block BFCache.
// See https://crbug.com/1502395 for more details.
BASE_FEATURE(kAllowBFCacheWhenClosedMediaStreamTrack,
"AllowBFCacheWhenClosedMediaStreamTrack",
base::FEATURE_ENABLED_BY_DEFAULT);
// Allow DeprecatedRenderURLReplacements when
// CookieDeprecationFacilitatedTesting is enabled.
BASE_FEATURE(kAlwaysAllowFledgeDeprecatedRenderURLReplacements,
@ -104,7 +98,7 @@ const base::FeatureParam<AlignFontDisplayAutoTimeoutWithLCPGoalMode>
BASE_FEATURE(kAllowDatapipeDrainedAsBytesConsumerInBFCache,
"AllowDatapipeDrainedAsBytesConsumerInBFCache",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kAllowDevToolsMainThreadDebuggerForMultipleMainFrames,
"AllowDevToolsMainThreadDebuggerForMultipleMainFrames",
@ -170,20 +164,11 @@ BASE_FEATURE(kAudioWorkletThreadPool,
"AudioWorkletThreadPool",
base::FEATURE_ENABLED_BY_DEFAULT);
// If enabled, blink will not set the autofill state of a field after JS
// modifies its value, and will instead leave it to the WebAutofillClient to
// take care of the state setting.
// This feature should be enabled with
// autofill::features::kAutofillFixCachingOnJavaScriptChanges.
BASE_FEATURE(kAutofillDontSetAutofillStateAfterJavaScriptChanges,
"AutofillDontSetAutofillStateAfterJavaScriptChanges",
base::FEATURE_DISABLED_BY_DEFAULT);
// When enabled, extraction of unassociated listed elements includes elements
// inside Shadow DOM.
BASE_FEATURE(kAutofillIncludeShadowDomInUnassociatedListedElements,
"AutofillIncludeShadowDomInUnassociatedListedElements",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
// When enabled, Autofill extracts all top level shadow DOM form elements of a
// document. Additionally, the shadow-tree-including form control elements of a
@ -192,7 +177,7 @@ BASE_FEATURE(kAutofillIncludeShadowDomInUnassociatedListedElements,
// itself is a descendant of `f`).
BASE_FEATURE(kAutofillIncludeFormElementsInShadowDom,
"AutofillIncludeFormElementsInShadowDom",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
// If disabled (default for many years), autofilling triggers KeyDown and
// KeyUp events that do not send any key codes. If enabled, these events
@ -299,8 +284,12 @@ BASE_FEATURE(kBackForwardCacheWithKeepaliveRequest,
BASE_FEATURE(kBackgroundResourceFetch,
"BackgroundResourceFetch",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<bool> kBackgroundResponseProcessor{
&kBackgroundResourceFetch, "background-response-processor", true};
const base::FeatureParam<bool> kBackgroundFontResponseProcessor{
&kBackgroundResourceFetch, "background-font-response-processor", true};
const base::FeatureParam<bool> kBackgroundScriptResponseProcessor{
&kBackgroundResourceFetch, "background-script-response-processor", true};
const base::FeatureParam<bool> kBackgroundCodeCacheDecoderStart{
&kBackgroundResourceFetch, "background-code-cache-decoder-start", true};
// Redefine the oklab and oklch spaces to have gamut mapping baked into them.
// https://crbug.com/1508329
@ -508,11 +497,6 @@ BASE_FEATURE(kGetUserMediaDeferredDeviceSettingsSelection,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
// Whether to losslessly compress the resulting image after canvas hibernation.
BASE_FEATURE(kCanvasCompressHibernatedImage,
"CanvasCompressHibernatedImage",
base::FEATURE_ENABLED_BY_DEFAULT);
// When hibernating, make sure that the just-used transfer memory (to transfer
// the snapshot) is freed.
BASE_FEATURE(kCanvas2DHibernationReleaseTransferMemory,
@ -622,6 +606,8 @@ BASE_FEATURE(kCorrectFloatExtensionTestForWebGL,
"CorrectFloatExtensionTestForWebGL",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCrabbyAvif, "CrabbyAvif", base::FEATURE_DISABLED_BY_DEFAULT);
// When enabled, add a new option, {imageOrientation: 'none'}, to
// createImageBitmap, which ignores the image orientation metadata of the source
// and renders the image as encoded.
@ -629,10 +615,6 @@ BASE_FEATURE(kCreateImageBitmapOrientationNone,
"CreateImageBitmapOrientationNone",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kDOMContentLoadedWaitForAsyncScript,
"DOMContentLoadedWaitForAsyncScript",
base::FEATURE_DISABLED_BY_DEFAULT);
// When enabled, pages that don't specify a layout width will default to the
// window width rather than the traditional mobile fallback width of 980px.
// Has no effect unless viewport handling is enabled.
@ -759,8 +741,8 @@ BASE_FEATURE(kDiscardInputEventsToRecentlyMovedFrames,
"DiscardInputEventsToRecentlyMovedFrames",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kDisableThirdPartyStoragePartitioningDeprecationTrial,
"DisableThirdPartyStoragePartitioningDeprecationTrial",
BASE_FEATURE(kDisableThirdPartyStoragePartitioningDeprecationTrial2,
"DisableThirdPartyStoragePartitioningDeprecationTrial2",
base::FEATURE_ENABLED_BY_DEFAULT);
// Kill switch for not WebGL DrawingBuffer using SharedImage without
@ -789,7 +771,7 @@ BASE_FEATURE(kEstablishGpuChannelAsync,
// events.
BASE_FEATURE(kEventTimingKeypressAndCompositionInteractionId,
"EventTimingKeypressAndCompositionInteractionId",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
// Enables unload handler deprecation via Permissions-Policy.
// https://crbug.com/1324111
@ -815,17 +797,11 @@ BASE_FEATURE(kDeprecateUnloadByAllowList,
const base::FeatureParam<std::string> kDeprecateUnloadAllowlist{
&kDeprecateUnloadByAllowList, "allowlist", ""};
// Enables using a base::ProtectedMemory<bool> value to provide extra protection
// against MojoJS bindings being enabled via a data-only attack.
BASE_FEATURE(kEnableMojoJSProtectedMemory,
"EnableMojoJSProtectedMemory",
base::FEATURE_ENABLED_BY_DEFAULT);
// Enable reporting the modal dialog start time as an alternative end time for
// duration measurement in performance event timing.
BASE_FEATURE(kEventTimingFallbackToModalDialogStart,
"EventTimingFallbackToModalDialogStart",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
// Enable not reporting orphan pointerup (pointerup not accompanied by
// pointerdown) as an interaction in performance event timing.
@ -900,7 +876,7 @@ BASE_FEATURE(kFencedFramesCrossOriginAutomaticBeacons,
// `content/public/common/content_features.cc` for more information.
BASE_FEATURE(kFencedFramesCrossOriginEventReportingUnlabeledTraffic,
"FencedFramesCrossOriginEventReportingUnlabeledTraffic",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
// The "AllTraffic" flag allows the feature for all traffic regardless of label.
BASE_FEATURE(kFencedFramesCrossOriginEventReportingAllTraffic,
"FencedFramesCrossOriginEventReportingAllTraffic",
@ -919,6 +895,10 @@ BASE_FEATURE(kFencedFramesLocalUnpartitionedDataAccess,
"FencedFramesLocalUnpartitionedDataAccess",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFencedFramesReportEventHeaderChanges,
"FencedFramesReportEventHeaderChanges",
base::FEATURE_DISABLED_BY_DEFAULT);
// Controls access to an API to exempt certain URLs from fenced frame
// network revocation to facilitate testing.
BASE_FEATURE(kExemptUrlFromNetworkRevocationForTesting,
@ -959,7 +939,7 @@ const base::FeatureParam<std::string> kFilteringScrollPredictionFilterParam{
// See https://github.com/WICG/turtledove/blob/main/FLEDGE.md
// Enables FLEDGE implementation. See https://crbug.com/1186444.
BASE_FEATURE(kFledge, "Fledge", base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFledge, "Fledge", base::FEATURE_ENABLED_BY_DEFAULT);
// See
// https://github.com/WICG/turtledove/blob/main/FLEDGE_browser_bidding_and_auction_API.md
@ -1017,8 +997,7 @@ BASE_FEATURE(kFledgeSplitTrustedSignalsFetchingURL,
base::FEATURE_ENABLED_BY_DEFAULT);
const base::FeatureParam<int> kFledgeCustomMaxAuctionAdComponentsValue{
&kFledgeCustomMaxAuctionAdComponents, "FledgeAdComponentLimit",
kMaxAdAuctionAdComponentsDefault};
&kFledgeCustomMaxAuctionAdComponents, "FledgeAdComponentLimit", 40};
BASE_FEATURE(kFledgeNumberBidderWorkletGroupByOriginContextsToKeep,
"FledgeBidderWorkletGroupByOriginContextsToKeep",
@ -1044,9 +1023,20 @@ const base::FeatureParam<int> kFledgeRealTimeReportingNumBuckets{
&kFledgeRealTimeReporting, "FledgeRealTimeReportingNumBuckets", 1024};
const base::FeatureParam<double> kFledgeRealTimeReportingEpsilon{
&kFledgeRealTimeReporting, "FledgeRealTimeReportingEpsilon", 1};
const base::FeatureParam<double>
kFledgeRealTimeReportingPlatformContributionPriority{
&kFledgeRealTimeReporting,
"FledgeRealTimeReportingPlatformContributionPriority", 1};
const base::FeatureParam<base::TimeDelta> kFledgeRealTimeReportingWindow{
&kFledgeRealTimeReporting, "FledgeRealTimeReportingWindow",
base::Seconds(20)};
const base::FeatureParam<int> kFledgeRealTimeReportingMaxReports{
&kFledgeRealTimeReporting, "FledgeRealTimeReportingMaxReports", 10};
BASE_FEATURE(kForceDeferScriptIntervention,
"ForceDeferScriptIntervention",
// Enable enforcement of permission policy for
// privateAggregation.contributeToHistogramOnEvent.
BASE_FEATURE(kFledgeEnforcePermissionPolicyContributeOnEvent,
"FledgeEnforcePermissionPolicyContributeOnEvent",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kForceHighPerformanceGPUForWebGL,
@ -1207,7 +1197,7 @@ const base::FeatureParam<int> kInterestGroupStorageMaxOpsBeforeMaintenance{
// sandboxes are isolated.
BASE_FEATURE(kIsolateSandboxedIframes,
"IsolateSandboxedIframes",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
const base::FeatureParam<IsolateSandboxedIframesGrouping>::Option
isolated_sandboxed_iframes_grouping_types[] = {
{IsolateSandboxedIframesGrouping::kPerSite, "per-site"},
@ -1271,10 +1261,6 @@ const base::FeatureParam<LcppResourceLoadPriority>
&kLCPCriticalPathPredictor, "lcpp_image_load_priority",
LcppResourceLoadPriority::kVeryHigh, &lcpp_resource_load_priorities};
const base::FeatureParam<bool>
kLCPCriticalPathPredictorEnableElementLocatorPerformanceImprovements{
&kLCPCriticalPathPredictor, "lcpp_enable_perf_improvements", true};
const base::FeatureParam<bool>
kLCPCriticalPathPredictorImageLoadPriorityEnabledForHTMLImageElement{
&kLCPCriticalPathPredictor,
@ -1332,6 +1318,20 @@ BASE_FEATURE(kLCPPDeferUnusedPreload,
"LCPPDeferUnusedPreload",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<LcppDeferUnusedPreloadExcludedResourceType>::Option
lcpp_defer_unused_preload_excluded_resource_type[] = {
{LcppDeferUnusedPreloadExcludedResourceType::kNone, "none"},
{LcppDeferUnusedPreloadExcludedResourceType::kStyleSheet, "stylesheet"},
{LcppDeferUnusedPreloadExcludedResourceType::kScript, "script"},
{LcppDeferUnusedPreloadExcludedResourceType::kMock, "mock"},
};
const base::FeatureParam<LcppDeferUnusedPreloadExcludedResourceType>
kLcppDeferUnusedPreloadExcludedResourceType{
&kLCPPDeferUnusedPreload, "excluded_resource_type",
LcppDeferUnusedPreloadExcludedResourceType::kNone,
&lcpp_defer_unused_preload_excluded_resource_type};
const base::FeatureParam<double> kLCPPDeferUnusedPreloadFrequencyThreshold{
&kLCPPDeferUnusedPreload, "lcpp_unused_preload_frequency_threshold", 0.5};
@ -1355,6 +1355,8 @@ const base::FeatureParam<LcppDeferUnusedPreloadTiming>::Option
{LcppDeferUnusedPreloadTiming::kPostTask, "post_task"},
{LcppDeferUnusedPreloadTiming::kLcpTimingPredictor,
"lcp_timing_predictor"},
{LcppDeferUnusedPreloadTiming::kLcpTimingPredictorWithPostTask,
"lcp_timing_predictor_with_post_task"},
};
const base::FeatureParam<LcppDeferUnusedPreloadTiming>
@ -1388,10 +1390,25 @@ const base::FeatureParam<double> kLCPPFontURLPredictorThresholdInMbps{
const base::FeatureParam<std::string> kLCPPFontURLPredictorExcludedHosts{
&kLCPPFontURLPredictor, "lcpp_font_prefetch_excluded_hosts", ""};
BASE_FEATURE(kLCPPInitiatorOrigin,
"LCPPInitiatorOrigin",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<int> kLcppInitiatorOriginHistogramSlidingWindowSize{
&kLCPPInitiatorOrigin,
"lcpp_initiator_origin_histogram_sliding_window_size", 10000};
const base::FeatureParam<int> kLcppInitiatorOriginMaxHistogramBuckets{
&kLCPPInitiatorOrigin, "lcpp_initiator_origin_max_histogram_buckets", 100};
BASE_FEATURE(kLCPPLazyLoadImagePreload,
"LCPPLazyLoadImagePreload",
base::FEATURE_DISABLED_BY_DEFAULT);
// If true, do not make a preload request.
const base::FeatureParam<bool> kLCPPLazyLoadImagePreloadDryRun{
&kLCPPLazyLoadImagePreload, "lcpp_lazy_load_image_preload_dry_run", false};
const base::FeatureParam<
LcppPreloadLazyLoadImageType>::Option lcpp_preload_lazy_load_image[] = {
{LcppPreloadLazyLoadImageType::kNone, "none"},
@ -1404,6 +1421,19 @@ const base::FeatureParam<LcppPreloadLazyLoadImageType>
&kLCPPLazyLoadImagePreload, "lcpp_preload_lazy_load_image_type",
LcppPreloadLazyLoadImageType::kNone, &lcpp_preload_lazy_load_image};
BASE_FEATURE(kPreloadSystemFonts,
"PreloadSystemFonts",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<std::string> kPreloadSystemFontsTargets{
&kPreloadSystemFonts, "preload_system_fonts_targets", "[]"};
const base::FeatureParam<bool> kPreloadSystemFontsFromPage{
&kPreloadSystemFonts, "preload_system_fonts_from_page", false};
const base::FeatureParam<int> kPreloadSystemFontsRequiredMemoryGB{
&kPreloadSystemFonts, "preload_system_fonts_required_memory_gb", 4};
BASE_FEATURE(kLCPPMultipleKey,
"LCPPMultipleKey",
base::FEATURE_DISABLED_BY_DEFAULT);
@ -1507,11 +1537,11 @@ BASE_FEATURE(kLogUnexpectedIPCPostedToBackForwardCachedDocuments,
// (Canvas2DImageChromium is disabled).
BASE_FEATURE(kLowLatencyCanvas2dImageChromium,
"LowLatencyCanvas2dImageChromium",
#if BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_ANDROID)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif // BUILDFLAG(IS_CHROMEOS)
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
);
// Allow low latency WebGL to be in overlay (generally meaning scanned out
@ -1519,7 +1549,12 @@ BASE_FEATURE(kLowLatencyCanvas2dImageChromium,
// (WebGLImageChromium is disabled).
BASE_FEATURE(kLowLatencyWebGLImageChromium,
"LowLatencyWebGLImageChromium",
base::FEATURE_DISABLED_BY_DEFAULT);
#if BUILDFLAG(IS_ANDROID)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
);
BASE_FEATURE(kLowPriorityAsyncScriptExecution,
"LowPriorityAsyncScriptExecution",
@ -1686,6 +1721,13 @@ const base::FeatureParam<int> kPredictorTrafficClientEnabledPercent{
#endif
};
// Used to control the collection of new viewport related anchor element
// metrics. Metrics will not be recorded if either this or kNavigationPredictor
// is disabled.
BASE_FEATURE(kNavigationPredictorNewViewportFeatures,
"NavigationPredictorNewViewportFeatures",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kNoForcedFrameUpdatesForWebTests,
"NoForcedFrameUpdatesForWebTests",
base::FEATURE_DISABLED_BY_DEFAULT);
@ -1743,42 +1785,20 @@ BASE_FEATURE(kPath2DPaintCache,
// Enable browser-initiated dedicated worker script loading
// (PlzDedicatedWorker). https://crbug.com/906991
BASE_FEATURE(kPlzDedicatedWorker,
"PlzDedicatedWorker",
// TODO(350785857): remove the non-plzdedicatedworker path.
#if BUILDFLAG(IS_FUCHSIA)
#define DISABLED_ON_FUCHSIA base::FEATURE_DISABLED_BY_DEFAULT
#else
#define DISABLED_ON_FUCHSIA base::FEATURE_ENABLED_BY_DEFAULT
#endif
BASE_FEATURE(kPlzDedicatedWorker, "PlzDedicatedWorker", DISABLED_ON_FUCHSIA);
BASE_FEATURE(kDedicatedWorkerAblationStudyEnabled,
"DedicatedWorkerAblationStudyEnabled",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(
kPostMessageFirstPartyToThirdPartyDifferentBucketSameOriginBlocked,
"PostMessageFirstPartyToThirdPartyDifferentBucketSameOriginBlocked",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(
kPostMessageFirstPartyToThirdPartyDifferentBucketSameOriginBlockedIfStorageIsPartitioned,
"PostMessageFirstPartyToThirdPartyDifferentBucketSameOriginBlockedIfStorage"
"IsPartitioned",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(
kPostMessageThirdPartyToFirstPartyDifferentBucketSameOriginBlocked,
"PostMessageThirdPartyToFirstPartyDifferentBucketSameOriginBlocked",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(
kPostMessageThirdPartyToFirstPartyDifferentBucketSameOriginBlockedIfStorageIsPartitioned,
"PostMessageThirdPartyToFirstPartyDifferentBucketSameOriginBlockedIfStorage"
"IsPartitioned",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(
kPostMessageThirdPartyToThirdPartyDifferentBucketSameOriginBlocked,
"PostMessageThirdPartyToThirdPartyDifferentBucketSameOriginBlocked",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(
kPostMessageThirdPartyToThirdPartyDifferentBucketSameOriginBlockedIfStorageIsPartitioned,
"PostMessageThirdPartyToThirdPartyDifferentBucketSameOriginBlockedIfStorage"
"IsPartitioned",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<int> kDedicatedWorkerStartDelayInMs = {
&kDedicatedWorkerAblationStudyEnabled, "DedicatedWorkerStartDelayInMs", 0};
BASE_FEATURE(kPreInitializePageAndFrameForSVGImage,
"PreInitializePageAndFrameForSVGImage",
@ -1788,9 +1808,10 @@ constexpr base::FeatureParam<int>
kMaxCountOfPreInitializePageAndFrameForSVGImage{
&kPreInitializePageAndFrameForSVGImage, "max_pre_initialize_count", 5};
// TODO: Alex313031. Maybe re-enable?
BASE_FEATURE(kPrecompileInlineScripts,
"PrecompileInlineScripts",
base::FEATURE_ENABLED_BY_DEFAULT);
base::FEATURE_DISABLED_BY_DEFAULT);
// Whether we should composite a PLSA (paint layer scrollable area) even if it
// means losing lcd text.
@ -1832,6 +1853,10 @@ const base::FeatureParam<int> kPreloadingModelTimerInterval{
&kPreloadingHeuristicsMLModel, "timer_interval", 100};
const base::FeatureParam<bool> kPreloadingModelOneExecutionPerHover{
&kPreloadingHeuristicsMLModel, "one_execution_per_hover", true};
// The default max hover time of 10s covers the 98th percentile of hovering
// cases that are relevant to the model.
const base::FeatureParam<base::TimeDelta> kPreloadingModelMaxHoverTime{
&kPreloadingHeuristicsMLModel, "max_hover_time", base::Seconds(10)};
const base::FeatureParam<bool> kPreloadingModelEnactCandidates{
&kPreloadingHeuristicsMLModel, "enact_candidates", false};
const base::FeatureParam<int> kPreloadingModelPrefetchModerateThreshold{
@ -1861,6 +1886,29 @@ BASE_FEATURE(kPrerender2EarlyDocumentLifecycleUpdate,
"Prerender2EarlyDocumentLifecycleUpdate",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kPrerender2NoVarySearch,
"Prerender2NoVarySearch",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kPrerender2WarmUpCompositor,
"Prerender2WarmUpCompositor",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<Prerender2WarmUpCompositorTriggerPoint>::Option
prerender2_warm_up_compositor_trigger_point[] = {
{Prerender2WarmUpCompositorTriggerPoint::kDidCommitLoad,
"did_commit_load"},
{Prerender2WarmUpCompositorTriggerPoint::
kDidDispatchDOMContentLoadedEvent,
"did_dispatch_dom_content_loaded_event"},
{Prerender2WarmUpCompositorTriggerPoint::kDidFinishLoad,
"did_finish_load"},
};
const base::FeatureParam<Prerender2WarmUpCompositorTriggerPoint>
kPrerender2WarmUpCompositorTriggerPoint{
&kPrerender2WarmUpCompositor, "trigger_point",
Prerender2WarmUpCompositorTriggerPoint::kDidCommitLoad,
&prerender2_warm_up_compositor_trigger_point};
// Enable limiting previews loading hints to specific resource types.
BASE_FEATURE(kPreviewsResourceLoadingHintsSpecificResourceTypes,
"PreviewsResourceLoadingHintsSpecificResourceTypes",
@ -1884,11 +1932,6 @@ const base::FeatureParam<bool> kPrewarmFantasy = {&kPrewarmDefaultFontFamilies,
"prewarm_fantasy", false};
#endif
// Disabled by Alex313031
BASE_FEATURE(kPrivacySandboxAdsAPIs,
"PrivacySandboxAdsAPIs",
base::FEATURE_DISABLED_BY_DEFAULT);
// Enables the Private Aggregation API. Note that this API also requires the
// `kPrivacySandboxAggregationService` to be enabled to successfully send
// reports.
@ -1922,12 +1965,6 @@ constexpr base::FeatureParam<bool> kPrivateAggregationApiDebugModeEnabledAtAll{
&kPrivateAggregationApi, "debug_mode_enabled_at_all",
/*default_value=*/true};
// Allows for different aggregation coordinators to be set. If disabled, any
// selection will be ignored and replaced with the default.
BASE_FEATURE(kPrivateAggregationApiMultipleCloudProviders,
"PrivateAggregationApiMultipleCloudProviders",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kProcessHtmlDataImmediately,
"ProcessHtmlDataImmediately",
base::FEATURE_DISABLED_BY_DEFAULT);
@ -1963,7 +2000,7 @@ BASE_FEATURE(kConsumeCompileHints,
BASE_FEATURE(kLocalCompileHints,
"LocalCompileHints",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
// Enables the JPEG XL Image File Format (JXL).
BASE_FEATURE(kJXL, "JXL", base::FEATURE_ENABLED_BY_DEFAULT);
@ -2093,18 +2130,18 @@ BASE_FEATURE(kServiceWorkerUpdateDelay,
"ServiceWorkerUpdateDelay",
base::FEATURE_DISABLED_BY_DEFAULT);
// If enabled, client_id and resultingClientId behavior keeps the old
// If disabled, client_id and resultingClientId behavior keeps the old
// Chromium behavior even after the PlzDedicatedWorker is enabled.
// This is workaround for crbug.com/1520512 until the fix gets ready.
BASE_FEATURE(kServiceWorkerClientIdAlignedWithSpec,
"ServiceWorkerClientIdAlignedWithSpec",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
// If enabled, the "not" condition become usable in the ServiceWorker
// static routing API.
BASE_FEATURE(kServiceWorkerStaticRouterNotConditionEnabled,
"ServiceWorkerStaticRouterNotConditionEnabled",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
// When enabled, beacons (and friends) have ResourceLoadPriority::kLow,
// not ResourceLoadPriority::kVeryLow.
@ -2187,6 +2224,10 @@ BASE_FEATURE(kSharedStorageAPIM125,
"SharedStorageAPIM125",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kSharedStorageCrossOriginScript,
"SharedStorageCrossOriginScript",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSharedStorageAPIEnableWALForDatabase,
"SharedStorageAPIEnableWALForDatabase",
base::FEATURE_ENABLED_BY_DEFAULT);
@ -2298,6 +2339,25 @@ const base::FeatureParam<bool>
const base::FeatureParam<bool> kSpeculativeServiceWorkerWarmUpOnIdleTimeout{
&kSpeculativeServiceWorkerWarmUp, "sw_warm_up_on_idle_timeout", true};
// If enabled, force renderer process foregrounded from CommitNavigation to
// DOMContentLoad (crbug/351953350).
BASE_FEATURE(kBoostRenderProcessForLoading,
"BoostRenderProcessForLoading",
base::FEATURE_DISABLED_BY_DEFAULT);
// An empty json array means that this feature is applied unconditionally. If
// specified, it means that the specified URLs will be the target of the new
// behavior.
const base::FeatureParam<std::string> kBoostRenderProcessForLoadingTargetUrls{
&kBoostRenderProcessForLoading, "target_urls", "[]"};
// If true is specified, kBoostRenderProcessForLoading feature also prioritizes
// the renderer process that is used for prerendering. This is a part of an
// ablation study. See https://crbug.com/351953350.
const base::FeatureParam<bool>
kBoostRenderProcessForLoadingPrioritizePrerendering{
&kBoostRenderProcessForLoading, "prioritize_prerendering", false};
// Freeze scheduler task queues in background after allowed grace time.
// "stop" is a legacy name.
BASE_FEATURE(kStopInBackground,
@ -2324,10 +2384,6 @@ BASE_FEATURE(kStylusRichGestures,
"StylusRichGestures",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kSystemColorChooser,
"SystemColorChooser",
base::FEATURE_DISABLED_BY_DEFAULT);
// Enables third party script regex matching for detecting technologies.
BASE_FEATURE(kThirdPartyScriptDetection,
"ThirdPartyScriptDetection",
@ -2391,7 +2447,7 @@ BASE_FEATURE(kEmulateLoadStartedForInspectorOncePerResource,
BASE_FEATURE(kBlinkSchedulerPrioritizeNavigationIPCs,
"BlinkSchedulerPrioritizeNavigationIPCs",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kEnableFileBackedBlobFactory,
"EnableFileBackedBlobFactory",
@ -2463,12 +2519,7 @@ BASE_FEATURE(kWebRtcAudioSinkUseTimestampAligner,
// Enable borderless mode for desktop PWAs. go/borderless-mode
BASE_FEATURE(kWebAppBorderless,
"WebAppBorderless",
#if BUILDFLAG(IS_CHROMEOS)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif // BUILDFLAG(IS_CHROMEOS)
);
base::FEATURE_DISABLED_BY_DEFAULT);
// Controls scope extensions feature in web apps. Controls parsing of
// "scope_extensions" field in web app manifests. See explainer for more
@ -2501,11 +2552,6 @@ BASE_FEATURE(kWebAudioBypassOutputBuffering,
"WebAudioBypassOutputBuffering",
base::FEATURE_DISABLED_BY_DEFAULT);
// Allow OnRenderError callback to propagate in WebAudio
BASE_FEATURE(kWebAudioHandleOnRenderError,
"WebAudioHandleOnRenderError",
base::FEATURE_DISABLED_BY_DEFAULT);
/// Enables cache-aware WebFonts loading. See https://crbug.com/570205.
// The feature is disabled on Android for WebView API issue discussed at
// https://crbug.com/942440.
@ -2543,10 +2589,6 @@ BASE_FEATURE(kWebRtcIgnoreUnspecifiedColorSpace,
"WebRtcIgnoreUnspecifiedColorSpace",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kWebRtcInitializeEncoderOnFirstFrame,
"WebRtcInitializeEncoderOnFirstFrame",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kWebRtcThreadsUseResourceEfficientType,
"WebRtcThreadsUseResourceEfficientType",
base::FEATURE_DISABLED_BY_DEFAULT);
@ -2566,6 +2608,11 @@ BASE_FEATURE(kWebRtcUseMinMaxVEADimensions,
// Enabled for MV2 Extensions by Alex313031
BASE_FEATURE(kWebSQLAccess, "kWebSQLAccess", base::FEATURE_ENABLED_BY_DEFAULT);
// Kill switch for https://crbug.com/338955051.
BASE_FEATURE(kWebUSBTransferSizeLimit,
"WebUSBTransferSizeLimit",
base::FEATURE_ENABLED_BY_DEFAULT);
// Enables small accelerated canvases for webview (crbug.com/1004304)
BASE_FEATURE(kWebviewAccelerateSmallCanvases,
"WebviewAccelerateSmallCanvases",
@ -2587,21 +2634,15 @@ bool IsAllowURNsInIframeEnabled() {
return base::FeatureList::IsEnabled(blink::features::kAllowURNsInIframes);
}
bool IsCanvas2DHibernationEnabled() {
return base::FeatureList::IsEnabled(features::kCanvas2DHibernation);
}
bool DisplayWarningDeprecateURNIframesUseFencedFrames() {
return base::FeatureList::IsEnabled(
blink::features::kDisplayWarningDeprecateURNIframesUseFencedFrames);
}
bool IsAllowBFCacheWhenClosedMediaStreamTrackEnabled() {
return base::FeatureList::IsEnabled(
blink::features::kAllowBFCacheWhenClosedMediaStreamTrack);
}
bool IsEnableMojoJSProtectedMemoryEnabled() {
return base::FeatureList::IsEnabled(
blink::features::kEnableMojoJSProtectedMemory);
}
bool IsFencedFramesEnabled() {
return base::FeatureList::IsEnabled(blink::features::kFencedFrames);
}
@ -2659,5 +2700,9 @@ BASE_FEATURE(kRenderSizeInScoreAdBrowserSignals,
"RenderSizeInScoreAdBrowserSignals",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kOptimizeLoadingDataUrls,
"OptimizeLoadingDataUrls",
base::FEATURE_DISABLED_BY_DEFAULT);
} // namespace features
} // namespace blink