M130 stage 1

This commit is contained in:
Alexander Frick 2024-11-19 14:37:14 -06:00
parent 78a577b876
commit 60cd5f2570
26 changed files with 664 additions and 225 deletions

View file

@ -5,6 +5,7 @@
import("//build/buildflag_header.gni")
import("//build/config/android/config.gni")
import("//build/config/c++/c++.gni")
import("//build/config/compiler_opt.gni")
import("//build/config/chrome_build.gni")
import("//build/config/chromeos/args.gni")
import("//build/config/chromeos/ui_mode.gni")
@ -67,9 +68,6 @@ declare_args() {
# Requires profiling to be set to true.
enable_full_stack_frames_for_profiling = false
# Whether to enable LLVM's Polly optimizations. See https://polly.llvm.org/
use_polly = false
# Whether to use Raspberry Pi specific optimizations.
is_raspi = false

View file

@ -92,7 +92,7 @@ process_template() (
-e "s#@@PRODUCTURL@@#${PRODUCTURL}#g" \
-e "s#@@PREDEPENDS@@#${PREDEPENDS}#g" \
-e "s#@@DEPENDS@@#${DEPENDS}#g" \
-e "s#@@RECOMMENDS@@#${RECOMMENDS}#g" \
# -e "s#@@RECOMMENDS@@#${RECOMMENDS}#g" \
-e "s#@@PROVIDES@@#${PROVIDES}#g" \
-e "s#@@ARCHITECTURE@@#${ARCHITECTURE}#g" \
-e "s#@@MAINTNAME@@#${MAINTNAME}#g" \

View file

@ -38,8 +38,13 @@
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt.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">default_browser_prompt.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/browser/ui/startup/bad_flags_prompt.cc;bpv=1" ADD_DATE="1674977639" 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">bad_flags_prompt.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/linux/;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">installer/linux - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/mini_installer/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/130.0.6723.135:chrome/installer/mini_installer/chrome.release;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.release - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/mini_installer/mini_installer_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">mini_installer_constants.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/mini_installer/mini_installer_exe_main.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">mini_installer_exe_main.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/mini_installer/mini_installer_exe_version.rc.version;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">mini_installer_exe_version.rc.version - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/util/shell_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">shell_util.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/util/util_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">util_constants.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:components/download/public/common/download_features.cc;l=24;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">download_features.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:components/search_engines/prepopulated_engines.json;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">prepopulated_engines.json - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:components/search_engines/search_engine_countries-inc.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">search_engine_countries-inc.cc - Chromium Code Search</A>
@ -119,15 +124,11 @@
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135: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/130.0.6723.135: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/130.0.6723.135: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>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/util/shell_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">shell_util.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/util/util_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">util_constants.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:content/shell/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/130.0.6723.135:content/shell/android/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/130.0.6723.135:content/shell/app/shell_main_delegate.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">shell_main_delegate.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/common/channel_info_posix.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">channel_info_posix.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/browser/shell_integration_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">shell_integration_linux.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:chrome/installer/mini_installer/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/130.0.6723.135:chrome/installer/mini_installer/mini_installer_exe_version.rc.version;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">mini_installer_exe_version.rc.version - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:content/browser/launch_as_mojo_client_browsertest.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">launch_as_mojo_client_browsertest.cc - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:build/win/reorder-imports.py;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">reorder-imports.py - Chromium Code Search</A>
<DT><A HREF="https://source.chromium.org/chromium/chromium/src/+/refs/tags/130.0.6723.135:build/vs_toolchain.py;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">vs_toolchain.py - Chromium Code Search</A>

View file

@ -4,6 +4,7 @@
import("//build/config/android/rules.gni")
import("//build/config/c++/c++.gni")
import("//build/config/compiler_opt.gni")
import("//build/config/compiler/compiler.gni")
import("//build/config/sanitizers/sanitizers.gni")

View file

@ -5,6 +5,7 @@
import("//build/buildflag_header.gni")
import("//build/config/android/config.gni")
import("//build/config/c++/c++.gni")
import("//build/config/compiler_opt.gni")
import("//build/config/chrome_build.gni")
import("//build/config/chromeos/args.gni")
import("//build/config/chromeos/ui_mode.gni")
@ -16,7 +17,6 @@ import("//build/config/gclient_args.gni")
import("//build/config/host_byteorder.gni")
import("//build/config/pch.gni")
import("//build/config/rust.gni")
import("//build/config/simd_opt.gni")
import("//build/config/ui.gni")
import("//build/config/unwind.gni")
import("//build/toolchain/cc_wrapper.gni")
@ -68,9 +68,6 @@ declare_args() {
# Requires profiling to be set to true.
enable_full_stack_frames_for_profiling = false
# Whether to enable LLVM's Polly optimizations. See https://polly.llvm.org/
use_polly = false
# Enable fatal linker warnings. Building Chromium with certain versions
# of binutils can cause linker warning.
fatal_linker_warnings = true

View file

@ -4,6 +4,7 @@
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/clang/clang.gni")
import("//build/config/compiler_opt.gni")
import("//build/config/compiler/compiler.gni")
import("//build/config/compiler/pgo/pgo.gni")
import("//build/config/features.gni")

View file

@ -2,8 +2,21 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
## For information about compiler flags and optimizations
## that this uses, see https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
import("//build/config/BUILDCONFIG.gn")
declare_args() {
# Whether to enable LLVM's Polly optimizations.
# See https://polly.llvm.org/
use_polly = false
# Whether to enable LLVM's BOLT optimizations.
# See https://github.com/llvm/llvm-project/blob/main/bolt/README.md
use_bolt = false
# SIMD compiler optimization flags
# Propagated to //build/config/* to allow controlling
# x86_64 SIMD optimization levels. This was done to refactor
@ -18,7 +31,6 @@ declare_args() {
# and AMD SanDiego (2nd Gen. Opteron).
# Only applicable to 32 Bit Windows and Linux builds, where
# setting it to false allows making an SSE2 build. (`-mmmx -msse2`)
# Baseline for Windows since a Windows 7 update.
# `-msse3`
use_sse3 = true
@ -51,11 +63,10 @@ declare_args() {
# AVX2 (x86-64-v3)
# Second generation AVX, expanded to 256-bit registers.
# Used in much professional software.
# Present since Haswell (4th Gen. Core i series), and
# AMD Excavator (4th Gen. refinement of Bulldozer cores) and
# Zen (1st Gen. Ryzen).
# Includes FMA3 `-mfma -mavx2` (`-ffp-contract` see below at FMA)
# Includes FMA3 `-mfma -mavx2` (`-ffp-contract` see below at FMA section)
use_avx2 = false
# AVX-512
@ -75,6 +86,11 @@ declare_args() {
use_fma = use_avx2
}
if (is_debug || !use_thin_lto) {
assert(!use_polly, "use_polly only works with non-debug builds")
assert(!use_bolt, "use_bolt only works with non-debug builds")
}
# 32 Bit OSes cant use anything above SSE4.2, and 32 Bit Apps can't benefit
# from anything higher usually.
if (use_avx || use_avx2 || use_fma) {
@ -82,9 +98,29 @@ if (use_avx || use_avx2 || use_fma) {
assert(!target_cpu == "x86", "AVX, AVX2, and FMA require x64. Set target_cpu to x64")
}
# AVX2 always requires FMA, however, there are times one might want
# use_fma = true even with AVX2 off, such as when making a build for
# AVX2 always should have FMA, however, there are times one might want
# to set use_fma = true even with AVX2 off, such as when making a build for
# an AMD Piledriver or Steamroller CPU.
if (use_avx2) {
assert(use_fma, "use_fma must be true when AVX2 is enabled")
if (use_avx2 && !use_fma) {
print("WARNING: Use_avx2 is true while use_fma is false. This will create a
build compiled with AVX2, but without FMA or floating point contraction.")
print("This should only be set intentionally for testing.")
}
# Not a normal configuration, that normally means a mistake was made configuring
# your args. However, there are a few CPUs out there for which this makes sense.
# Alex313031 TODO: Maybe add -mfma3 -mfma4 for this config?
if (!use_avx2 && use_fma) {
print("WARNING: Use_avx2 is false while use_fma true. This will
create an AVX build with FMA.")
print("This should only be set intentionally for testing, or for specific CPUs
that have AVX and FMA, but not AVX2, such as AMD Piledriver.")
}
if (use_fma) {
assert(use_avx, "ERROR: use_fma is true while use_avx is false. FMA requires AVX.")
}
if (!use_sse3 && current_cpu == "x64") {
print("use_sse3 is disabled. This should only be done for 32 Bit builds.")
}

View file

@ -4,6 +4,7 @@
import("//build/config/apple/symbols.gni")
import("//build/config/c++/c++.gni")
import("//build/config/compiler_opt.gni")
import("//build/config/mac/mac_sdk.gni")
import("//build/config/sysroot.gni")
import("//build/toolchain/rbe.gni")

View file

@ -3,12 +3,12 @@
# found in the LICENSE file.
import("//build/config/c++/c++.gni")
import("//build/config/compiler_opt.gni")
import("//build/config/chrome_build.gni")
import("//build/config/clang/clang.gni")
import("//build/config/compiler/compiler.gni")
import("//build/config/rust.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/simd_opt.gni")
import("//build/config/win/control_flow_guard.gni")
import("//build/config/win/visual_studio_version.gni")
import("//build/timestamp.gni")

View file

@ -0,0 +1,75 @@
// 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/net/default_dns_over_https_config_source.h"
#include <string>
#include "build/build_config.h"
#include "chrome/browser/net/secure_dns_config.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"
DefaultDnsOverHttpsConfigSource::DefaultDnsOverHttpsConfigSource(
PrefService* local_state,
bool set_up_pref_defaults) {
pref_change_registrar_.Init(local_state);
// Update the DoH default preferences based on the corresponding
// features before registering change callbacks for these preferences.
// Changing prefs or defaults after registering change callbacks could
// result in reentrancy and mess up registration between this code and
// NetworkService creation.
if (set_up_pref_defaults) {
local_state->SetDefaultPrefValue(prefs::kDnsOverHttpsMode,
base::Value(SecureDnsConfig::ModeToString(
net::SecureDnsMode::kSecure)));
}
}
DefaultDnsOverHttpsConfigSource::~DefaultDnsOverHttpsConfigSource() = default;
// static
void DefaultDnsOverHttpsConfigSource::RegisterPrefs(
PrefRegistrySimple* registry) {
registry->RegisterStringPref(prefs::kDnsOverHttpsMode, std::string());
registry->RegisterStringPref(prefs::kDnsOverHttpsTemplates, std::string());
#if BUILDFLAG(IS_CHROMEOS)
registry->RegisterStringPref(prefs::kDnsOverHttpsEffectiveTemplatesChromeOS,
std::string());
#endif
}
std::string DefaultDnsOverHttpsConfigSource::GetDnsOverHttpsMode() const {
return pref_change_registrar_.prefs()->GetString(prefs::kDnsOverHttpsMode);
}
std::string DefaultDnsOverHttpsConfigSource::GetDnsOverHttpsTemplates() const {
#if BUILDFLAG(IS_CHROMEOS_LACROS)
return pref_change_registrar_.prefs()->GetString(
prefs::kDnsOverHttpsEffectiveTemplatesChromeOS);
#else
return pref_change_registrar_.prefs()->GetString(
prefs::kDnsOverHttpsTemplates);
#endif
}
bool DefaultDnsOverHttpsConfigSource::IsConfigManaged() const {
return pref_change_registrar_.prefs()
->FindPreference(prefs::kDnsOverHttpsMode)
->IsManaged();
}
void DefaultDnsOverHttpsConfigSource::SetDohChangeCallback(
base::RepeatingClosure callback) {
CHECK(pref_change_registrar_.IsEmpty());
pref_change_registrar_.Add(prefs::kDnsOverHttpsMode, callback);
#if BUILDFLAG(IS_CHROMEOS_LACROS)
pref_change_registrar_.Add(prefs::kDnsOverHttpsEffectiveTemplatesChromeOS,
callback);
#else
pref_change_registrar_.Add(prefs::kDnsOverHttpsTemplates, callback);
#endif
}

View file

@ -11,6 +11,7 @@
#include "base/base64.h"
#include "base/check_op.h"
#include "base/command_line.h"
#include "base/containers/flat_map.h"
#include "base/feature_list.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
@ -22,6 +23,8 @@
#include "base/notreached.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/task_traits.h"
#include "base/task/thread_pool.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
@ -33,7 +36,7 @@
#include "chrome/browser/domain_reliability/service_factory.h"
#include "chrome/browser/first_party_sets/first_party_sets_policy_service.h"
#include "chrome/browser/first_party_sets/first_party_sets_policy_service_factory.h"
#include "chrome/browser/ip_protection/ip_protection_config_provider.h"
#include "chrome/browser/ip_protection/ip_protection_core_host.h"
#include "chrome/browser/net/system_network_context_manager.h"
#include "chrome/browser/privacy_sandbox/privacy_sandbox_settings_factory.h"
#include "chrome/browser/privacy_sandbox/tracking_protection_settings_factory.h"
@ -76,6 +79,7 @@
#include "crypto/crypto_buildflags.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "net/base/features.h"
#include "net/cert/asn1_util.h"
#include "net/http/http_auth_preferences.h"
#include "net/http/http_util.h"
#include "net/net_buildflags.h"
@ -89,10 +93,6 @@
#include "services/network/public/mojom/network_service.mojom.h"
#include "third_party/blink/public/common/features.h"
#if BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
#include "net/cert/asn1_util.h"
#endif
#if BUILDFLAG(IS_CHROMEOS)
#include "chrome/browser/certificate_provider/certificate_provider.h"
#include "chrome/browser/certificate_provider/certificate_provider_service.h"
@ -106,10 +106,10 @@
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_switches.h"
#include "chrome/browser/ash/kcer/kcer_factory_ash.h"
#include "chrome/browser/ash/net/client_cert_store_ash.h"
#include "chrome/browser/ash/net/client_cert_store_kcer.h"
#include "chrome/browser/ash/profiles/profile_helper.h"
#include "chrome/browser/chromeos/kcer/kcer_factory.h"
#include "chrome/browser/policy/profile_policy_connector.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_manager.h"
@ -319,7 +319,6 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
certificate_transparency::prefs::kCTExcludedSPKIs,
base::BindRepeating(&ProfileNetworkContextService::ScheduleUpdateCTPolicy,
base::Unretained(this)));
#if BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
// When any of the following Certificate preferences change, we schedule an
// update to aggregate the actual update using a |cert_policy_update_timer_|.
base::RepeatingClosure schedule_update_cert_policy = base::BindRepeating(
@ -337,7 +336,6 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
pref_change_registrar_.Add(prefs::kCAPlatformIntegrationEnabled,
schedule_update_cert_policy);
#endif
#endif // BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
pref_change_registrar_.Add(
prefs::kGloballyScopeHTTPAuthCacheEnabled,
@ -349,6 +347,26 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
base::BindRepeating(&ProfileNetworkContextService::
UpdateCorsNonWildcardRequestHeadersSupport,
base::Unretained(this)));
#if BUILDFLAG(ENABLE_REPORTING)
if (base::FeatureList::IsEnabled(
net::features::kReportingApiEnableEnterpriseCookieIssues)) {
pref_change_registrar_.Add(
prefs::kReportingEndpoints,
base::BindRepeating(
&ProfileNetworkContextService::UpdateEnterpriseReportingEndpoints,
base::Unretained(this)));
}
#endif // BUILDFLAG(ENABLE_REPORTING)
#if BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
if (base::FeatureList::IsEnabled(features::kEnableCertManagementUIV2Write)) {
server_cert_database_ = base::SequenceBound<net::ServerCertificateDatabase>(
base::ThreadPool::CreateSequencedTaskRunner(
{base::MayBlock(), base::TaskPriority::USER_BLOCKING,
base::TaskShutdownBehavior::BLOCK_SHUTDOWN}),
profile->GetPath());
}
#endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
}
ProfileNetworkContextService::~ProfileNetworkContextService() = default;
@ -387,7 +405,6 @@ void ProfileNetworkContextService::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kGloballyScopeHTTPAuthCacheEnabled,
false);
registry->RegisterListPref(prefs::kHSTSPolicyBypassList);
#if BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
registry->RegisterListPref(prefs::kCACertificates);
registry->RegisterListPref(prefs::kCACertificatesWithConstraints);
registry->RegisterListPref(prefs::kCADistrustedCertificates);
@ -396,7 +413,6 @@ void ProfileNetworkContextService::RegisterProfilePrefs(
// Include user added platform certs by default.
registry->RegisterBooleanPref(prefs::kCAPlatformIntegrationEnabled, true);
#endif
#endif // BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
}
// static
@ -517,7 +533,6 @@ void ProfileNetworkContextService::ScheduleUpdateCTPolicy() {
&ProfileNetworkContextService::UpdateCTPolicy);
}
#if BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
cert_verifier::mojom::AdditionalCertificatesPtr
ProfileNetworkContextService::GetCertificatePolicy(
const base::FilePath& storage_partition_path) {
@ -743,7 +758,6 @@ ProfileNetworkContextService::GetCertificatePolicyForView() {
#endif
return policies;
}
#endif // BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
bool ProfileNetworkContextService::ShouldSplitAuthCacheByNetworkIsolationKey()
const {
@ -778,6 +792,38 @@ void ProfileNetworkContextService::
});
}
#if BUILDFLAG(ENABLE_REPORTING)
base::flat_map<std::string, GURL>
ProfileNetworkContextService::GetEnterpriseReportingEndpoints() const {
using FlatMap = base::flat_map<std::string, GURL>;
// Create the underlying container first to allow sorting to
// be done in a single pass.
FlatMap::container_type pairs;
const base::Value::Dict& pref_dict =
profile_->GetPrefs()->GetDict(prefs::kReportingEndpoints);
pairs.reserve(pref_dict.size());
// The iterator for base::Value::Dict returns a temporary value when
// dereferenced, so a const reference is not used below.
for (const auto [endpoint_name, endpoint_url] : pref_dict) {
GURL endpoint(endpoint_url.GetString());
if (endpoint.is_valid() && endpoint.SchemeIsCryptographic()) {
pairs.emplace_back(endpoint_name, std::move(endpoint));
}
}
return FlatMap(std::move(pairs));
}
void ProfileNetworkContextService::UpdateEnterpriseReportingEndpoints() {
base::flat_map<std::string, GURL> endpoints =
GetEnterpriseReportingEndpoints();
profile_->ForEachLoadedStoragePartition(
[&](content::StoragePartition* storage_partition) {
storage_partition->GetNetworkContext()->SetEnterpriseReportingEndpoints(
endpoints);
});
}
#endif
// static
network::mojom::CookieManagerParamsPtr
ProfileNetworkContextService::CreateCookieManagerParams(
@ -896,7 +942,8 @@ ProfileNetworkContextService::CreateClientCertStore() {
if (ash::features::ShouldUseKcerClientCertStore()) {
return std::make_unique<ash::ClientCertStoreKcer>(
std::move(certificate_provider), kcer::KcerFactory::GetKcer(profile_));
std::move(certificate_provider),
kcer::KcerFactoryAsh::GetKcer(profile_));
} else {
std::string username_hash;
const user_manager::User* user =
@ -981,6 +1028,24 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
current_field_trial_status +=
(field_trial ? field_trial->group_name() : "None");
// For the HTTP Cache keying experiments, if a flag indicates that the user is
// in an experiment group, modify `current_field_trial_status` to ensure that
// the cache gets cleared. If the user is not a part of the experiment, don't
// make any changes so as not to invalidate the existing cache.
if (base::FeatureList::IsEnabled(
net::features::kSplitCacheByCrossSiteMainFrameNavigationBoolean)) {
current_field_trial_status += " 20240814-CrossSiteNavBool";
} else if (base::FeatureList::IsEnabled(
net::features::kSplitCacheByMainFrameNavigationInitiator)) {
current_field_trial_status += " 20240814-MainFrameNavigationInitiator";
} else if (base::FeatureList::IsEnabled(
net::features::kSplitCacheByNavigationInitiator)) {
current_field_trial_status += " 20240814-NavigationInitiator";
} else if (base::FeatureList::IsEnabled(
net::features::kHttpCacheKeyingExperimentControlGroup2024)) {
current_field_trial_status += " 20240814-ExperimentControlGroup";
}
std::string previous_field_trial_status =
local_state->GetString(kHttpCacheFinchExperimentGroups);
local_state->SetString(kHttpCacheFinchExperimentGroups,
@ -1092,6 +1157,12 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
#if BUILDFLAG(ENABLE_REPORTING)
network_context_params->file_paths->reporting_and_nel_store_database_name =
base::FilePath(chrome::kReportingAndNelStoreFilename);
if (base::FeatureList::IsEnabled(
net::features::kReportingApiEnableEnterpriseCookieIssues)) {
network_context_params->enterprise_reporting_endpoints =
GetEnterpriseReportingEndpoints();
}
#endif // BUILDFLAG(ENABLE_REPORTING)
if (relative_partition_path.empty()) { // This is the main partition.
@ -1210,13 +1281,21 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
}
#endif
#if BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
// TODO(crbug.com/40928765): check to see if IsManaged() ensures the pref
// isn't set in user profiles, or if that does something else. If that's true,
// add an isManaged() check here.
// TODO(crbug.com/40928765): add async calls to get the User Certs from
// server_cert_database_ and then feed it to the CertVerifiers
// through the cert_verifier_updater
// (storage_partition->GetCertVerifierServiceUpdater()).
// verifications need to wait for for these certs to get to the cert verifier.
//
// Will have to think about if separate mojom call should be used or if the
// currently existing one should be repurposed.
// Will also have to consider any caching/reuse to reduce amount of DB reads
// necessary.
cert_verifier_creation_params->initial_additional_certificates =
GetCertificatePolicy(GetPartitionPath(relative_partition_path));
#endif
#if BUILDFLAG(IS_CHROMEOS)
// Disable idle sockets close on memory pressure if configured by finch or
@ -1266,16 +1345,15 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
profile_->GetPrefs()->GetBoolean(
prefs::kAccessControlAllowMethodsInCORSPreflightSpecConformant);
IpProtectionConfigProvider* ipp_config_provider =
IpProtectionConfigProvider::Get(profile_);
if (ipp_config_provider) {
ipp_config_provider->AddNetworkService(
IpProtectionCoreHost* ipp_core_host = IpProtectionCoreHost::Get(profile_);
if (ipp_core_host) {
ipp_core_host->AddNetworkService(
network_context_params->ip_protection_config_getter
.InitWithNewPipeAndPassReceiver(),
network_context_params->ip_protection_proxy_delegate
.InitWithNewPipeAndPassRemote());
network_context_params->enable_ip_protection =
ipp_config_provider->IsIpProtectionEnabled();
ipp_core_host->IsIpProtectionEnabled();
}
network_context_params->device_bound_sessions_enabled =

View file

@ -21,6 +21,8 @@
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/net/default_dns_over_https_config_source.h"
#include "chrome/browser/net/dns_over_https_config_source.h"
#include "chrome/browser/net/secure_dns_config.h"
#include "chrome/browser/net/secure_dns_util.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
@ -42,12 +44,6 @@
#include "chrome/browser/enterprise/util/android_enterprise_info.h"
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include <optional>
#include "chrome/browser/ash/net/dns_over_https/templates_uri_resolver_impl.h"
#endif
#if BUILDFLAG(IS_WIN)
#include "base/enterprise_util.h"
#include "base/win/win_util.h"
@ -83,7 +79,7 @@ enum class SecureDnsModeDetailsForHistogram {
#if BUILDFLAG(IS_WIN)
bool ShouldDisableDohForWindowsParentalControls() {
return GetWinParentalControls().web_filter;
return false;
}
#endif // BUILDFLAG(IS_WIN)
@ -109,35 +105,25 @@ constexpr base::TimeDelta StubResolverConfigReader::kParentalControlsCheckDelay;
StubResolverConfigReader::StubResolverConfigReader(PrefService* local_state,
bool set_up_pref_defaults)
: local_state_(local_state) {
default_doh_source_ = std::make_unique<DefaultDnsOverHttpsConfigSource>(
local_state_, set_up_pref_defaults);
if (set_up_pref_defaults) {
// Update the DnsClient based on the corresponding features before
// registering change callbacks for these preferences. Changing prefs or
// defaults after registering change callbacks could result in reentrancy
// and mess up registration between this code and NetworkService creation.
local_state->SetDefaultPrefValue(prefs::kBuiltInDnsClientEnabled,
base::Value(ShouldEnableAsyncDns()));
}
base::RepeatingClosure pref_callback =
base::BindRepeating(&StubResolverConfigReader::UpdateNetworkService,
base::Unretained(this), false /* record_metrics */);
default_doh_source_->SetDohChangeCallback(pref_callback);
pref_change_registrar_.Init(local_state_);
// Update the DnsClient and DoH default preferences based on the corresponding
// features before registering change callbacks for these preferences.
// Changing prefs or defaults after registering change callbacks could result
// in reentrancy and mess up registration between this code and NetworkService
// creation.
if (set_up_pref_defaults) {
local_state_->SetDefaultPrefValue(prefs::kBuiltInDnsClientEnabled,
base::Value(ShouldEnableAsyncDns()));
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsMode,
base::Value(SecureDnsConfig::ModeToString(
net::SecureDnsMode::kSecure)));
}
pref_change_registrar_.Add(prefs::kBuiltInDnsClientEnabled, pref_callback);
pref_change_registrar_.Add(prefs::kDnsOverHttpsMode, pref_callback);
pref_change_registrar_.Add(prefs::kAdditionalDnsQueryTypesEnabled,
pref_callback);
#if BUILDFLAG(IS_CHROMEOS)
pref_change_registrar_.Add(prefs::kDnsOverHttpsEffectiveTemplatesChromeOS,
pref_callback);
#else
pref_change_registrar_.Add(prefs::kDnsOverHttpsTemplates, pref_callback);
#endif
parental_controls_delay_timer_.Start(
FROM_HERE, kParentalControlsCheckDelay,
@ -145,7 +131,7 @@ StubResolverConfigReader::StubResolverConfigReader(PrefService* local_state,
base::Unretained(this)));
#if BUILDFLAG(IS_ANDROID)
chrome::enterprise_util::AndroidEnterpriseInfo::GetInstance()
enterprise_util::AndroidEnterpriseInfo::GetInstance()
->GetAndroidEnterpriseInfoState(base::BindOnce(
&StubResolverConfigReader::OnAndroidOwnedStateCheckComplete,
weak_factory_.GetWeakPtr()));
@ -163,16 +149,7 @@ void StubResolverConfigReader::RegisterPrefs(PrefRegistrySimple* registry) {
// captured). Thus, the preference defaults are updated in the constructor
// for SystemNetworkContextManager, at which point the feature list is ready.
registry->RegisterBooleanPref(prefs::kBuiltInDnsClientEnabled, false);
registry->RegisterStringPref(prefs::kDnsOverHttpsMode, std::string());
registry->RegisterStringPref(prefs::kDnsOverHttpsTemplates, std::string());
registry->RegisterBooleanPref(prefs::kAdditionalDnsQueryTypesEnabled, true);
#if BUILDFLAG(IS_CHROMEOS)
registry->RegisterStringPref(prefs::kDnsOverHttpsTemplatesWithIdentifiers,
std::string());
registry->RegisterStringPref(prefs::kDnsOverHttpsEffectiveTemplatesChromeOS,
std::string());
registry->RegisterStringPref(prefs::kDnsOverHttpsSalt, std::string());
#endif
}
SecureDnsConfig StubResolverConfigReader::GetSecureDnsConfiguration(
@ -189,42 +166,31 @@ void StubResolverConfigReader::UpdateNetworkService(bool record_metrics) {
}
bool StubResolverConfigReader::ShouldDisableDohForManaged() {
// This function ignores cloud policies which are loaded on a per-profile basis.
#if BUILDFLAG(IS_ANDROID)
// Check for MDM/management/owner apps. android_has_owner_ is true if either a
// device or policy owner app is discovered by
// GetAndroidEnterpriseInfoState(). If android_has_owner_ is nullopt, take a
// value of false so that we don't disable DoH during the async check.
// Because Android policies can only be loaded with owner apps this is
// sufficient to check for the prescences of policies as well.
if (android_has_owner_.value_or(false))
return true;
#elif BUILDFLAG(IS_WIN)
// TODO(crbug.com/40229843): What is the correct function to use here? (This
// may or may not obsolete the following TODO)
// TODO(crbug.com/40223626): For legacy compatibility, this uses
// IsEnterpriseDevice() which effectively equates to a domain join check.
// Consider whether this should use IsManagedDevice() instead.
if (base::win::IsEnrolledToDomain())
return true;
#endif
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
if (g_browser_process->browser_policy_connector()->HasMachineLevelPolicies())
return true;
#endif
return false;
}
bool StubResolverConfigReader::ShouldDisableDohForParentalControls() {
if (parental_controls_testing_override_.has_value())
return parental_controls_testing_override_.value();
#if BUILDFLAG(IS_WIN)
return ShouldDisableDohForWindowsParentalControls();
#else
return false;
#endif
}
void StubResolverConfigReader::SetOverrideDnsOverHttpsConfigSource(
std::unique_ptr<DnsOverHttpsConfigSource> doh_source) {
override_doh_source_ = std::move(doh_source);
if (override_doh_source_) {
override_doh_source_->SetDohChangeCallback(base::BindRepeating(
&StubResolverConfigReader::UpdateNetworkService,
weak_factory_.GetWeakPtr(), /*record_metrics=*/false));
}
UpdateNetworkService(/*record_metrics=*/false);
}
const DnsOverHttpsConfigSource*
StubResolverConfigReader::GetDnsOverHttpsConfigSource() const {
if (override_doh_source_) {
return override_doh_source_.get();
}
return default_doh_source_.get();
}
void StubResolverConfigReader::OnParentalControlsDelayTimer() {
@ -255,14 +221,13 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
SecureDnsModeDetailsForHistogram mode_details;
SecureDnsConfig::ManagementMode forced_management_mode =
SecureDnsConfig::ManagementMode::kNoOverride;
bool is_managed =
local_state_->FindPreference(prefs::kDnsOverHttpsMode)->IsManaged();
bool is_managed = GetDnsOverHttpsConfigSource()->IsConfigManaged();
if (!is_managed && ShouldDisableDohForManaged()) {
secure_dns_mode = net::SecureDnsMode::kOff;
forced_management_mode = SecureDnsConfig::ManagementMode::kDisabledManaged;
} else {
secure_dns_mode = SecureDnsConfig::ParseMode(
local_state_->GetString(prefs::kDnsOverHttpsMode))
GetDnsOverHttpsConfigSource()->GetDnsOverHttpsMode())
.value_or(net::SecureDnsMode::kOff);
}
@ -316,6 +281,19 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
// Check parental controls last because it can be expensive and should only be
// checked if necessary for the otherwise-determined mode.
if (check_parental_controls) {
if (ShouldDisableDohForParentalControls()) {
forced_management_mode =
SecureDnsConfig::ManagementMode::kDisabledParentalControls;
secure_dns_mode = net::SecureDnsMode::kOff;
mode_details =
SecureDnsModeDetailsForHistogram::kOffByDetectedParentalControls;
// If parental controls had not previously been checked, need to update
// network service.
if (!parental_controls_checked_)
update_network_service = true;
}
parental_controls_checked_ = true;
}
@ -332,13 +310,8 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
net::DnsOverHttpsConfig doh_config;
if (secure_dns_mode != net::SecureDnsMode::kOff) {
#if BUILDFLAG(IS_CHROMEOS)
doh_config = net::DnsOverHttpsConfig::FromStringLax(local_state_->GetString(
prefs::kDnsOverHttpsEffectiveTemplatesChromeOS));
#else
doh_config = net::DnsOverHttpsConfig::FromStringLax(
local_state_->GetString(prefs::kDnsOverHttpsTemplates));
#endif
GetDnsOverHttpsConfigSource()->GetDnsOverHttpsTemplates());
}
if (update_network_service) {
content::GetNetworkService()->ConfigureStubHostResolver(
@ -361,16 +334,3 @@ void StubResolverConfigReader::OnAndroidOwnedStateCheckComplete(
UpdateNetworkService(false /* record_metrics */);
}
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
std::optional<std::string>
StubResolverConfigReader::GetDohWithIdentifiersDisplayServers() {
ash::dns_over_https::TemplatesUriResolverImpl doh_template_uri_resolver;
doh_template_uri_resolver.Update(local_state_);
if (doh_template_uri_resolver.GetDohWithIdentifiersActive())
return doh_template_uri_resolver.GetDisplayTemplates();
return std::nullopt;
}
#endif

View file

@ -19,6 +19,8 @@
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"
#include "components/prefs/scoped_user_pref_update.h"
#include "components/sharing_message/buildflags.h"
#include "components/sharing_message/pref_names.h"
#include "components/translate/core/browser/translate_pref_names.h"
#include "media/media_buildflags.h"
#include "third_party/blink/public/common/peerconnection/webrtc_ip_handling_policy.h"
@ -170,6 +172,9 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kHttpsOnlyModeEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
prefs::kHttpsFirstBalancedMode, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
prefs::kHttpsFirstModeIncognito, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);

View file

@ -39,7 +39,7 @@
namespace {
void ShowPrompt() {
return;
continue;
}
// Do not show the prompt if "suppress_default_browser_prompt_for_version" in

View file

@ -277,7 +277,7 @@ copy("deb_packaging_files") {
"debian/changelog.template",
"debian/control.template",
"debian/debian.menu",
"debian/manual_recommends",
# "debian/manual_recommends",
"debian/postinst",
"debian/postrm",
"debian/prerm",
@ -449,6 +449,8 @@ template("linux_package") {
deb_arch = "mips64el"
} else if (current_cpu == "loong64") {
deb_arch = "loong64"
} else if (current_cpu == "riscv64") {
deb_arch = "riscv64"
} else {
assert(false, "Linux installer not configured for this architecture.")
}
@ -500,6 +502,8 @@ template("linux_package") {
rpm_arch = "mips64el"
} else if (current_cpu == "loong64") {
rpm_arch = "loongarch64"
} else if (current_cpu == "riscv64") {
rpm_arch = "riscv64"
} else {
assert(false, "Linux installer not configured for this architecture.")
}

View file

@ -92,7 +92,7 @@ process_template() (
-e "s#@@PRODUCTURL@@#${PRODUCTURL}#g" \
-e "s#@@PREDEPENDS@@#${PREDEPENDS}#g" \
-e "s#@@DEPENDS@@#${DEPENDS}#g" \
-e "s#@@RECOMMENDS@@#${RECOMMENDS}#g" \
# -e "s#@@RECOMMENDS@@#${RECOMMENDS}#g" \
-e "s#@@PROVIDES@@#${PROVIDES}#g" \
-e "s#@@ARCHITECTURE@@#${ARCHITECTURE}#g" \
-e "s#@@MAINTNAME@@#${MAINTNAME}#g" \

View file

@ -0,0 +1,33 @@
# 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.
#
# Additional dependencies not in the dpkg-shlibdeps output.
# Make sure users have SSL certificates.
ca-certificates
# Make sure users have compatible fonts for viewing PDFs.
fonts-liberation
# GTK is dlopen()'ed. Versions 3 or 4 are supported.
libgtk-3-0 (>= 3.9.10) | libgtk-4-1
# Pull a more recent version of NSS than required by runtime linking, for
# security and stability updates in NSS.
libnss3 (>= 2:3.35)
# For uploading crash reports with Breakpad.
wget
libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3
# u2f udev rules have moved from being installed by default by systemd on Debian
# systems to a separate package called libu2f-udev. Pull it in manually so that
# u2f keys will work.
libu2f-udev
# Try to use Vulkan when possible.
libvulkan1
# For OS integration.
xdg-utils (>= 1.0.2)

View file

@ -112,7 +112,7 @@ do_package() {
log_cmd echo "Packaging ${ARCHITECTURE}..."
PREDEPENDS="$COMMON_PREDEPS"
DEPENDS="${COMMON_DEPS}"
RECOMMENDS="${COMMON_RECOMMENDS}"
# RECOMMENDS="${COMMON_RECOMMENDS}"
PROVIDES="www-browser"
gen_changelog
process_template "${SCRIPTDIR}/control.template" "${DEB_CONTROL}"
@ -159,15 +159,15 @@ verify_channel() {
case $CHANNEL in
stable )
CHANNEL=stable
RELEASENOTES="https://chromereleases.googleblog.com/search/label/Stable%20updates"
RELEASENOTES="https://github.com/Alex313031/Thorium/releases"
;;
beta|testing )
CHANNEL=beta
RELEASENOTES="https://chromereleases.googleblog.com/search/label/Beta%20updates"
RELEASENOTES="https://github.com/Alex313031/Thorium/releases"
;;
dev|unstable|alpha )
CHANNEL=unstable
RELEASENOTES="https://chromereleases.googleblog.com/search/label/Dev%20updates"
RELEASENOTES="https://github.com/Alex313031/Thorium/releases"
;;
# Canary is released twice a day automatically, so no release notes
# attached.
@ -272,8 +272,8 @@ export ARCHITECTURE="${ARCHITECTURE}"
DEB_COMMON_DEPS="${OUTPUTDIR}/deb_common.deps"
COMMON_DEPS=$(sed ':a;N;$!ba;s/\n/, /g' "${DEB_COMMON_DEPS}")
COMMON_PREDEPS="dpkg (>= 1.14.0)"
MANUAL_RECOMMENDS="${SCRIPTDIR}/manual_recommends"
COMMON_RECOMMENDS=$(grep -v ^$ "${MANUAL_RECOMMENDS}" | grep -v ^# |
# MANUAL_RECOMMENDS="${SCRIPTDIR}/manual_recommends"
# COMMON_RECOMMENDS=$(grep -v ^$ "${MANUAL_RECOMMENDS}" | grep -v ^# |
sed ':a;N;$!ba;s/\n/, /g')
# Make everything happen in the OUTPUTDIR.

View file

@ -2,14 +2,14 @@ Source: @@PACKAGE@@
Section: web
Priority: optional
Maintainer: @@MAINTNAME@@ <@@MAINTMAIL@@>
Build-Depends: dpkg-dev, devscripts, fakeroot, xz-utils
Standards-Version: 3.8.0
Build-Depends: dpkg-dev, devscripts, fakeroot, xz-utils, zip
Standards-Version: 3.9.8
Package: @@PACKAGE@@
Provides: @@PROVIDES@@
Pre-Depends: @@PREDEPENDS@@
Depends: @@DEPENDS@@
Recommends: @@RECOMMENDS@@
Recommends: vdpau-driver-all
Conflicts: thorium-browser-unstable
Replaces: thorium-browser-unstable
Architecture: @@ARCHITECTURE@@

View file

@ -22,7 +22,7 @@ thor_ver: %(ChromeDir)s\
#
# Chrome version dir entries, sorted alphabetically.
#
blink_test_plugin.dll: %(VersionDir)s\
# blink_test_plugin.dll: %(VersionDir)s\
chrome.dll: %(VersionDir)s\
chrome_100_percent.pak: %(VersionDir)s\
chromedriver.exe: %(VersionDir)s\
@ -37,7 +37,6 @@ eventlog_provider.dll: %(VersionDir)s\
icudtl.dat: %(VersionDir)s\
libEGL.dll: %(VersionDir)s\
libGLESv2.dll: %(VersionDir)s\
mojo_core.dll: %(VersionDir)s\
notification_helper.exe: %(VersionDir)s\
optimization_guide_internal.dll: %(VersionDir)s\
resources.pak: %(VersionDir)s\

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/40285824): Remove this and convert code to safer constructs.
#pragma allow_unsafe_buffers
#endif
#include <stdint.h>
#include "base/clang_profiling_buildflags.h"
@ -54,13 +59,13 @@ void* memset(void* dest, int c, size_t count) {
return dest;
}
// SET BY ALEX313031 FOR ALL BUILDS BECAUSE IT CAUSES ERRORS
// DURING CROSS-BUILDING IF UNSET.
//#if defined(_DEBUG) && defined(ARCH_CPU_ARM64)
// The compiler generates calls to memcpy for ARM64 debug builds so we need to
// supply a memcpy implementation in that configuration.
// See comments above for why we do this incantation.
// SET BY ALEX313031 FOR ALL BUILDS BECAUSE IT CAUSES ERRORS
// DURING CROSS-BUILDING IF UNSET.
__attribute__((used))
void* memcpy(void* destination, const void* source, size_t count) {
auto* dst = reinterpret_cast<uint8_t*>(destination);

View file

@ -77,6 +77,8 @@ constexpr char kIsSharedStorageAllowedHistogram[] =
"PrivacySandbox.IsSharedStorageAllowed";
constexpr char kIsSharedStorageSelectURLAllowedHistogram[] =
"PrivacySandbox.IsSharedStorageSelectURLAllowed";
constexpr char kIsLocalUnpartitionedDataAccessAllowedHistogram[] =
"PrivacySandbox.IsLocalUnpartitionedDataAccessAllowed";
constexpr char kIsPrivateAggregationAllowedHistogram[] =
"PrivacySandbox.IsPrivateAggregationAllowed";
@ -712,6 +714,40 @@ bool PrivacySandboxSettingsImpl::IsSharedStorageSelectURLAllowed(
return IsAllowed(status);
}
bool PrivacySandboxSettingsImpl::IsLocalUnpartitionedDataAccessAllowed(
const url::Origin& top_frame_origin,
const url::Origin& accessing_origin,
content::RenderFrameHost* console_frame) const {
// TODO(crbug.com/365788691): Before checking the attestation status, check
// the 3PC setting here. If the toggle "Block all third-party cookies" is
// enabled, the local unpartitioned data access feature will be disabled.
Status attestation_status =
PrivacySandboxAttestations::GetInstance()->IsSiteAttested(
net::SchemefulSite(accessing_origin),
PrivacySandboxAttestationsGatedAPI::kLocalUnpartitionedDataAccess);
if (!IsAllowed(attestation_status)) {
JoinHistogram(kIsLocalUnpartitionedDataAccessAllowedHistogram,
attestation_status);
if (console_frame) {
console_frame->AddMessageToConsole(
blink::mojom::ConsoleMessageLevel::kError,
base::StrCat(
{"Attestation check for local unpartitioned data access on ",
accessing_origin.Serialize(), " failed."}));
}
return false;
}
Status status = GetPrivacySandboxAllowedStatus();
if (IsAllowed(status)) {
status =
GetSiteAccessAllowedStatus(top_frame_origin, accessing_origin.GetURL());
}
JoinHistogram(kIsLocalUnpartitionedDataAccessAllowedHistogram, status);
return IsAllowed(status);
}
bool PrivacySandboxSettingsImpl::IsPrivateAggregationAllowed(
const url::Origin& top_frame_origin,
const url::Origin& reporting_origin,
@ -745,13 +781,24 @@ bool PrivacySandboxSettingsImpl::IsPrivateAggregationDebugModeAllowed(
return false;
}
// If this feature is disabled, provide a top-frame origin anyway to match
// previous behavior.
std::optional<url::Origin> top_frame_origin_to_query;
if (!base::FeatureList::IsEnabled(
kPrivateAggregationDebugReportingIgnoreSiteExceptions)) {
top_frame_origin_to_query = top_frame_origin;
}
// Third party cookies must also be available for this context. An empty site
// for cookies is provided so the context is always treated as a third party.
// for cookies and empty top-frame origin is provided so the context is always
// treated as a third party. That is, we ignore any top-level site cookie
// exceptions (see crbug.com/364318217).
content_settings::CookieSettingsBase::CookieSettingWithMetadata
cookie_setting_with_metadata;
if (cookie_settings_->IsFullCookieAccessAllowed(
reporting_origin.GetURL(), net::SiteForCookies(), top_frame_origin,
net::CookieSettingOverrides(), &cookie_setting_with_metadata)) {
reporting_origin.GetURL(), net::SiteForCookies(),
top_frame_origin_to_query, net::CookieSettingOverrides(),
&cookie_setting_with_metadata)) {
return true;
}
@ -839,12 +886,12 @@ PrivacySandboxSettingsImpl::GetSiteAccessAllowedStatus(
PrivacySandboxSettingsImpl::Status
PrivacySandboxSettingsImpl::GetPrivacySandboxAllowedStatus(
bool should_ignore_restriction /*=false*/) const {
if (delegate_->IsIncognitoProfile()) {
return Status::kIncognitoProfile;
}
// Always return restricted in Thorium
return Status::kRestricted;
bool should_ignore_restriction /*=false*/) const {
if (delegate_->IsIncognitoProfile()) {
return Status::kIncognitoProfile;
}
// Always return restricted in Thorium
return Status::kRestricted;
}
PrivacySandboxSettingsImpl::Status

View file

@ -46,29 +46,21 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterTimePref(prefs::kTrackingProtectionSilentOnboardedSince,
base::Time());
// Full 3PCD prefs.
registry->RegisterTimePref(prefs::kTrackingProtectionFull3PCDOnboarded,
base::Time());
registry->RegisterBooleanPref(
prefs::kEnableDoNotTrack, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kUserBypass3pcExceptionsMigrated, false);
// Tracking Protection Reminder Prefs
registry->RegisterIntegerPref(
prefs::kTrackingProtectionReminderStatus,
static_cast<int>(TrackingProtectionReminderStatus::kUnset));
// Tracking Protection Survey Prefs
registry->RegisterTimePref(prefs::kTrackingProtectionSurveyWindowStartTime,
base::Time());
// Tracking Protection Settings Prefs
// TODO(https://b/333527273): Deprecate
registry->RegisterBooleanPref(
prefs::kBlockAll3pcToggleEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kTrackingProtection3pcdEnabled, false);
registry->RegisterBooleanPref(prefs::kAllowAll3pcToggleEnabled, false);
registry->RegisterIntegerPref(
prefs::kTrackingProtectionLevel,
static_cast<int>(TrackingProtectionLevel::kStandard),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kTrackingProtection3pcdEnabled, false);
registry->RegisterBooleanPref(
prefs::kIpProtectionEnabled, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
@ -77,10 +69,6 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kFingerprintingProtectionEnabled, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
prefs::kEnableDoNotTrack, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kUserBypass3pcExceptionsMigrated, false);
}
} // namespace privacy_sandbox::tracking_protection

View file

@ -1,4 +1,4 @@
// Copyright 2024 The Chromium Authors and Alex313031 and tomByrer
// Copyright 2024 The Chromium Authors, Alex313031, and tomByrer
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@ -18,6 +18,8 @@
// - Use HTTPS URLs when adding new search engines or adding URLs to existing
// ones. It's not the 90s anymore.
// LINT.IfChange(prepopulated_engines.json)
{
"int_variables": {
// When adding new engines, increment this number and use it as the new
@ -29,7 +31,7 @@
// existing data should get a new version. Otherwise, existing data may
// continue to be used and updates made here will not always appear.
// Also then run tools/search_engine_choice/generate_search_engine_icons.py.
"kCurrentDataVersion": 165
"kCurrentDataVersion": 167
},
// The following engines are included in country lists and are added to the
@ -64,13 +66,25 @@
"name": "Bing",
"keyword": "bing.com",
"favicon_url": "https://www.bing.com/sa/simg/bing_p_rr_teal_min.ico",
"search_url": "https://www.bing.com/search?q={searchTerms}&PC=U316&FORM=CHROMN",
"suggest_url": "https://www.bing.com/osjson.aspx?query={searchTerms}&language={language}&PC=U316",
"search_url": "https://www.bing.com/search?q={searchTerms}",
"suggest_url": "https://www.bing.com/osjson.aspx?query={searchTerms}&language={language}",
"image_url": "https://www.bing.com/images/detail/search?iss=sbiupload&FORM=CHROMI#enterInsights",
"new_tab_url": "https://www.bing.com/chrome/newtab",
"image_url_post_params": "imageBin={google:imageThumbnailBase64}",
"type": "SEARCH_ENGINE_BING",
"id": 3
"id": 3,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "PC=U316&FORM=CHROMN",
"suggest_params": "PC=U316"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "PC=U534&FORM=U534DF",
"suggest_params": "PC=U534&FORM=U534SS"
}
]
},
"brave": {
@ -110,18 +124,30 @@
"suggest_url": "https://duckduckgo.com/ac/?q={searchTerms}&type=list",
"new_tab_url": "https://duckduckgo.com/chrome_newtab",
"type": "SEARCH_ENGINE_DUCKDUCKGO",
"id": 92
"id": 92,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "t=euandroid"
}
]
},
"ecosia": {
"name": "Ecosia",
"keyword": "ecosia.org",
"favicon_url": "https://cdn.ecosia.org/assets/images/ico/favicon.ico",
"search_url": "https://www.ecosia.org/search?q={searchTerms}&addon=opensearch",
"suggest_url": "https://ac.ecosia.org/autocomplete?q={searchTerms}&type=list",
"search_url": "https://www.ecosia.org/search?q={searchTerms}",
"suggest_url": "https://ac.ecosia.org?q={searchTerms}&mkt={language}&type=list&language={language}",
"new_tab_url": "https://www.ecosia.org/newtab/",
"type": "SEARCH_ENGINE_ECOSIA",
"id": 101
"id": 101,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "addon=opensearch"
}
]
},
// *** *** *** *** WARNING *** *** *** ***
@ -268,10 +294,22 @@
"name": "Qwant",
"keyword": "qwant.com",
"favicon_url": "https://www.qwant.com/favicon.ico",
"search_url": "https://www.qwant.com/?q={searchTerms}&client=opensearch",
"suggest_url": "https://api.qwant.com/api/suggest/?q={searchTerms}&client=opensearch",
"search_url": "https://www.qwant.com/?q={searchTerms}",
"suggest_url": "https://api.qwant.com/api/suggest/?q={searchTerms}",
"type": "SEARCH_ENGINE_QWANT",
"id": 94
"id": 94,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "client=cs-chrome",
"suggest_params": "client=opensearch"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "client=acs",
"suggest_params": "client=opensearch"
}
]
},
"seznam_cz": {
@ -282,7 +320,13 @@
"suggest_url": "https://suggest.seznam.cz/fulltext_ff?phrase={searchTerms}",
"new_tab_url": "https://search.seznam.cz/newtab",
"type": "SEARCH_ENGINE_SEZNAM",
"id": 25
"id": 25,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "sourceid=srch_ga_cs"
}
]
},
// TODO(b/335397380): Remove this entry once b/322513019 is fixed.
@ -294,7 +338,13 @@
"suggest_url": "https://suggest.seznam.cz/fulltext_ff?phrase={searchTerms}",
"new_tab_url": "https://search.seznam.cz/newtab",
"type": "SEARCH_ENGINE_SEZNAM",
"id": 25
"id": 25,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "sourceid=srch_ga_cs"
}
]
},
"so_360": {
@ -349,10 +399,22 @@
"name": "Yahoo! \u00d6sterreich",
"keyword": "at.yahoo.com",
"favicon_url": "https://at.search.yahoo.com/favicon.ico",
"search_url": "https://at.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"suggest_url": "https://at.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
"search_url": "https://at.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"suggest_url": "https://at.search.yahoo.com/sugg/chrome?output=fxjson&command={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_au": {
@ -419,10 +481,22 @@
"name": "Yahoo! Deutschland",
"keyword": "de.yahoo.com",
"favicon_url": "https://de.search.yahoo.com/favicon.ico",
"search_url": "https://de.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"suggest_url": "https://de.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
"search_url": "https://de.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"suggest_url": "https://de.search.yahoo.com/sugg/chrome?output=fxjson&command={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
// For regional Yahoo variants without a region-specific suggestion service,
@ -432,48 +506,108 @@
"name": "Yahoo! Danmark",
"keyword": "dk.yahoo.com",
"favicon_url": "https://dk.search.yahoo.com/favicon.ico",
"search_url": "https://dk.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"search_url": "https://dk.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_emea": {
"name": "Yahoo Search",
"keyword": "emea.yahoo.com",
"favicon_url": "https://search.yahoo.com/favicon.ico",
"search_url": "https://emea.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"suggest_url": "https://emea.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
"search_url": "https://emea.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"suggest_url": "https://emea.search.yahoo.com/sugg/chrome?output=fxjson&command={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_es": {
"name": "Yahoo Búsquedas",
"keyword": "es.yahoo.com",
"favicon_url": "https://es.search.yahoo.com/favicon.ico",
"search_url": "https://es.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"suggest_url": "https://es.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
"search_url": "https://es.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"suggest_url": "https://es.search.yahoo.com/sugg/chrome?output=fxjson&command={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_fi": {
"name": "Yahoo! Suomi",
"keyword": "fi.yahoo.com",
"favicon_url": "https://fi.search.yahoo.com/favicon.ico",
"search_url": "https://fi.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"search_url": "https://fi.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_fr": {
"name": "Yahoo Recherche",
"keyword": "fr.yahoo.com",
"favicon_url": "https://fr.search.yahoo.com/favicon.ico",
"search_url": "https://fr.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"suggest_url": "https://fr.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
"search_url": "https://fr.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"suggest_url": "https://fr.search.yahoo.com/sugg/chrome?output=fxjson&command={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_hk": {
@ -510,10 +644,22 @@
"name": "Ricerca di Yahoo",
"keyword": "it.yahoo.com",
"favicon_url": "https://it.search.yahoo.com/favicon.ico",
"search_url": "https://it.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"suggest_url": "https://it.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
"search_url": "https://it.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"suggest_url": "https://it.search.yahoo.com/sugg/chrome?output=fxjson&command={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_jp": {
@ -550,10 +696,22 @@
"name": "Yahoo! Nederland",
"keyword": "nl.yahoo.com",
"favicon_url": "https://nl.search.yahoo.com/favicon.ico",
"search_url": "https://nl.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"suggest_url": "https://nl.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
"search_url": "https://nl.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"suggest_url": "https://nl.search.yahoo.com/sugg/chrome?output=fxjson&command={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_nz": {
@ -590,9 +748,21 @@
"name": "Yahoo! Sverige",
"keyword": "se.yahoo.com",
"favicon_url": "https://se.search.yahoo.com/favicon.ico",
"search_url": "https://se.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"search_url": "https://se.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_sg": {
@ -638,10 +808,22 @@
"name": "Yahoo Search",
"keyword": "uk.yahoo.com",
"favicon_url": "https://uk.search.yahoo.com/favicon.ico",
"search_url": "https://uk.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
"suggest_url": "https://uk.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
"search_url": "https://uk.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&p={searchTerms}",
"suggest_url": "https://uk.search.yahoo.com/sugg/chrome?output=fxjson&command={searchTerms}",
"type": "SEARCH_ENGINE_YAHOO",
"id": 2
"id": 2,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "fr=crmas",
"suggest_params": "appid=crmas"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=yset_eu_chr_googchoic",
"suggest_params": "appid=gglandreucrmas"
}
]
},
"yahoo_ve": {
@ -682,12 +864,24 @@
"name": "Yandex",
"keyword": "yandex.com",
"favicon_url": "https://yastatic.net/lego/_/rBTjd6UOPk5913OSn5ZQVYMTQWQ.ico",
"search_url": "https://yandex.com/search/?text={searchTerms}&from=os&clid=1836588",
"suggest_url": "https://suggest.yandex.com/suggest-ff.cgi?part={searchTerms}&{google:cursorPosition}&uil=en&v=3&sn=5",
"search_url": "https://yandex.com/{yandex:searchPath}?text={searchTerms}",
"suggest_url": "https://suggest.yandex.com/suggest-ff.cgi?part={searchTerms}&{google:cursorPosition}",
"image_url": "https://yandex.com/images/search?rpt=imageview",
"image_url_post_params": "upfile={google:imageThumbnail},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight},prg=1",
"type": "SEARCH_ENGINE_YANDEX",
"id": 15
"id": 15,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kDefault",
"search_params": "from=os&clid=1836588",
"suggest_params": "uil=en&v=3&sn=5"
},
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "clid=5143284",
"suggest_params": "uil=en"
}
]
},
"yandex_kz": {
@ -790,7 +984,7 @@
"favicon_url": "http://static.mediacentrum.sk/katalog/atlas.sk/images/favicon.ico",
"search_url": "https://hladaj.atlas.sk/fulltext/?phrase={searchTerms}",
"alternate_urls": [
"http://hladaj.atlas.sk/fulltext/?phrase={searchTerms}"
"http://hladaj.atlas.sk/fulltext/?phrase={searchTerms}"
],
"type": "SEARCH_ENGINE_ATLAS",
"id": 27
@ -841,7 +1035,7 @@
"favicon_url": "https://www.delfi.lt/favicon.ico",
"search_url": "https://www.delfi.lt/paieska/?q={searchTerms}",
"alternate_urls": [
"http://www.delfi.lt/paieska/?q={searchTerms}"
"http://www.delfi.lt/paieska/?q={searchTerms}"
],
"type": "SEARCH_ENGINE_DELFI",
"id": 45
@ -895,6 +1089,7 @@
"favicon_url": "https://www.givero.com/favicon.ico",
"search_url": "https://www.givero.com/search?q={searchTerms}",
"suggest_url": "https://www.givero.com/suggest?q={searchTerms}",
"new_tab_url": "https://givero.com/new_tab",
"type": "SEARCH_ENGINE_GIVERO",
"id": 95
},
@ -1090,7 +1285,14 @@
"suggest_url": "https://api.oceanhero.today/suggestions?q={searchTerms}",
"new_tab_url": "https://oceanhero.today/home",
"type": "SEARCH_ENGINE_OCEANHERO",
"id": 99
"id": 99,
"regulatory_extensions": [
{
"variant": "RegulatoryExtensionType::kAndroidEEA",
"search_params": "fr=ch_om",
"suggest_params": "fr=ch_om"
}
]
},
"ok": {
@ -1302,3 +1504,6 @@
"array_name": "kAllEngines"
}
}
// LINT.ThenChange(//depot/google3/chrome/webstore/manifest/prepopulated_engines.json)
// Override using NO_IFTTT=cl/<number>

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/40285824): Remove this and convert code to safer constructs.
#pragma allow_unsafe_buffers
#endif
// NOTE: You should probably not change the data in this file without changing
// |kCurrentDataVersion| in prepopulated_engines.json. See comments in
// GetDataVersion() below!

View file

@ -4,7 +4,7 @@
import("//build/config/android/config.gni")
import("//build/config/arm.gni")
import("//build/config/simd_opt.gni")
import("//build/config/compiler_opt.gni")
import("//build/config/coverage/coverage.gni")
import("//build/config/dcheck_always_on.gni")
import("//build/config/host_byteorder.gni")