M128 stage 4

This commit is contained in:
Alexander Frick 2024-10-03 11:28:28 -05:00
parent b0c1ef99cc
commit 20b6c37ea4
16 changed files with 346 additions and 2978 deletions

View file

@ -197,6 +197,29 @@ index 88d43505881b5..92a452fc5f9e9 100644
value.Set("textdirection", base::i18n::IsRTL() ? "rtl" : "ltr");
std::string str = webui::GetI18nTemplateHtml(
ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(
diff --git a/chrome/installer/util/shell_util.cc b/chrome/installer/util/shell_util.cc
index 87a2c70b6cb1a..50af870f26203 100644
--- a/chrome/installer/util/shell_util.cc
+++ b/chrome/installer/util/shell_util.cc
@@ -1,4 +1,4 @@
-// Copyright 2012 The Chromium Authors
+// 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.
//
@@ -1523,10 +1523,10 @@ const wchar_t* ShellUtil::kDefaultFileAssociations[] = {
const wchar_t* ShellUtil::kPotentialFileAssociations[] = {
L".htm", L".html", L".pdf", L".shtml", L".svg",
L".xht", L".xhtml", L".webp", nullptr};
-const wchar_t* ShellUtil::kBrowserProtocolAssociations[] = {L"http", L"https",
+const wchar_t* ShellUtil::kBrowserProtocolAssociations[] = {L"ftp", L"http", L"https",
nullptr};
const wchar_t* ShellUtil::kPotentialProtocolAssociations[] = {
- L"http", L"https", L"irc", L"mailto", L"mms", L"news", L"nntp",
+ L"ftp", L"http", L"https", L"irc", L"mailto", L"mms", L"news", L"nntp",
L"sms", L"smsto", L"snews", L"tel", L"urn", L"webcal", nullptr};
const wchar_t* ShellUtil::kRegUrlProtocol = L"URL Protocol";
const wchar_t* ShellUtil::kRegApplication = L"\\Application";
diff --git a/chrome/test/data/ftp/dir1/test.html b/chrome/test/data/ftp/dir1/test.html
new file mode 100644
index 0000000000000..ce0c4c91818cd

View file

@ -20,6 +20,7 @@ import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/ui.gni")
import("//build/gn_logs.gni")
import("//build/util/generate_wrapper.gni")
import("//chrome/enterprise_companion/buildflags.gni")
import("//components/enterprise/buildflags/buildflags.gni")
import("//components/nacl/features.gni")
import("//device/vr/buildflags/buildflags.gni")
@ -184,6 +185,7 @@ group("gn_all") {
"//third_party/distributed_point_functions/shim:distributed_point_functions_shim_unittests",
"//third_party/flatbuffers:flatbuffers_unittests",
"//third_party/liburlpattern:liburlpattern_unittests",
"//third_party/rapidhash:rapidhash_fuzztests",
"//tools/binary_size:binary_size_trybot_py",
"//tools/ipc_fuzzer:ipc_fuzzer_all",
"//tools/metrics:metrics_metadata",
@ -220,10 +222,8 @@ group("gn_all") {
deps += [
"//components/subresource_filter/tools:subresource_filter_tools",
"//components/zucchini:zucchini",
"//gpu/gles2_conform_support:gles2_conform_test",
"//gpu/khronos_glcts_support:khronos_glcts_test",
"//net:hpack_example_generator",
"//third_party/vulkan-deps/spirv-tools/src:SPIRV-Tools",
"//third_party/spirv-tools/src:SPIRV-Tools",
"//tools/aggregation_service:aggregation_service_tool",
"//tools/perf/clear_system_cache",
"//tools/polymer:polymer_tools_python_unittests",
@ -240,6 +240,10 @@ group("gn_all") {
deps += [ "//chrome/updater" ]
}
if (enable_enterprise_companion) {
deps += [ "//chrome/enterprise_companion" ]
}
if (enable_ppapi) {
deps += [
"//ppapi:ppapi_unittests",
@ -452,7 +456,6 @@ group("gn_all") {
"//chrome/android/webapk/shell_apk/prepare_upload_dir:prepare_webapk_shell_upload_dir",
"//chrome/test:android_browsertests",
"//components:components_junit_tests",
"//components/ip_protection/android_auth_client_lib/javatests:ip_protection_auth_test_apk",
"//content/public/android:content_junit_tests",
"//content/shell/android:content_shell_apk",
"//device:device_junit_tests",
@ -482,7 +485,7 @@ group("gn_all") {
deps += [
"//android_webview:empty_group",
"//android_webview/test",
"//android_webview/tools/automated_ui_tests:webview_ui_test_app",
"//android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk",
"//android_webview/tools/captured_sites_tests:captured_sites_test_app",
"//android_webview/tools/sdk_sandbox",
"//android_webview/tools/system_webview_shell",
@ -517,9 +520,9 @@ group("gn_all") {
"//ash/components:ash_components_unittests",
"//ash/keyboard/ui:keyboard_unittests",
"//ash/webui:ash_webui_unittests",
"//chrome/browser/ash/child_accounts/time_limit_consistency_test:usage_time_limit_unittests",
"//chrome/browser/metrics/perf:profile_provider_unittest",
"//chrome/test:ash_crosapi_tests",
"//chrome/test:usage_time_limit_unittests",
"//chromeos/ash/components/proximity_auth:proximity_auth_unittests",
"//chromeos/components:chromeos_components_unittests",
"//components/exo/wayland:wayland_client_compatibility_tests",
@ -673,16 +676,15 @@ group("gn_all") {
"//mojo:mojo_perftests",
"//services/service_manager/public/cpp",
"//testing/gmock:gmock_main",
"//third_party/breakpad:dump_syms($host_toolchain)",
"//third_party/breakpad:microdump_stackwalk($host_toolchain)",
"//third_party/breakpad:minidump_dump($host_toolchain)",
"//third_party/breakpad:minidump_stackwalk($host_toolchain)",
"//third_party/breakpad:dump_syms($host_system_allocator_toolchain)",
"//third_party/breakpad:microdump_stackwalk($host_system_allocator_toolchain)",
"//third_party/breakpad:minidump_dump($host_system_allocator_toolchain)",
"//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)",
]
}
if (is_linux || is_chromeos_lacros) {
deps += [
"//gpu/khronos_glcts_support:khronos_glcts_test",
"//skia:filter_fuzz_stub",
"//skia:image_operations_bench",
"//ui/snapshot:snapshot_unittests",
@ -699,7 +701,7 @@ group("gn_all") {
if (is_mac) {
deps += [
"//third_party/breakpad:dump_syms",
"//third_party/breakpad:dump_syms($host_system_allocator_toolchain)",
# The following are accessibility API tools.
"//tools/accessibility/inspect:ax_dump_events",
@ -743,7 +745,29 @@ group("gn_all") {
host_os == "win") {
deps += [ "//chrome/test/mini_installer:mini_installer_tests" ]
}
} else if (!is_android && !is_ios && !is_fuchsia) {
}
if (!is_fuchsia) {
# The official builders use this binary from the default toolchain's
# output directory after building in order to upload the symbols of that
# binary. They build the binary like `ninja symupload` which requires the
# target to be a dependency in the default_toolchain from `gn_all` for the
# name to resolve.
deps += [ "//third_party/breakpad:symupload" ]
}
if (is_mac && host_cpu == "arm64") {
# TODO(crbug.com/349268750): This alias exists because the official Mac
# arm64 builders (which cross-build the x64 binaries) use the hardcoded
# path of the `$host_toolchain/symupload` to build and run the symupload
# binary. And the same recipes are used on all branches!! So we would break
# the stable branch builders by changing the recipe to build and run the
# binary from the root_build_dir.
#
# Once this code is in stable, we can land the following CLs to change how
# symupload is built and run on Mac arm64 official builders, and then this
# alias can be removed.
# Build: https://chrome-internal-review.googlesource.com/c/chrome/src-internal/+/7430844
# Run: https://chrome-internal-review.googlesource.com/c/chrome/tools/release/scripts/+/7430843
deps += [ "//third_party/breakpad:symupload($host_toolchain)" ]
}
@ -956,6 +980,9 @@ if (enable_remoting && ((is_linux && ozone_platform_x11) ||
"//remoting/host:host",
"//tools/traffic_annotation:annotations_xml",
]
if (enable_enterprise_companion) {
deps += [ "//chrome/enterprise_companion" ]
}
}
}
@ -1027,6 +1054,11 @@ if (is_win) {
if (is_chrome_branded) {
deps += [ "//remoting/host:remoting_host_installation" ]
}
if (enable_platform_experience) {
deps += [
"//chrome/browser/platform_experience/win:platform_experience_helper",
]
}
}
group("chrome_official_builder") {
@ -1044,7 +1076,7 @@ if (is_win) {
"//net:net_unittests",
"//printing:printing_unittests",
"//sql:sql_unittests",
"//third_party/breakpad:symupload($host_toolchain)",
"//third_party/breakpad:symupload",
"//ui/base:ui_base_unittests",
"//ui/gfx:gfx_unittests",
"//ui/touch_selection:ui_touch_selection_unittests",
@ -1072,7 +1104,8 @@ if (is_chromeos_ash) {
"//media/capture:capture_unittests",
"//sandbox/linux:chrome_sandbox",
"//sandbox/linux:sandbox_linux_unittests",
"//third_party/breakpad:minidump_stackwalk($host_toolchain)",
"//services/screen_ai:screen_ai_ocr_perf_test",
"//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)",
"//third_party/dawn/src/dawn/tests:dawn_end2end_tests",
"//third_party/dawn/src/dawn/tests:dawn_unittests",
"//ui/ozone:ozone_integration_tests",
@ -1133,7 +1166,8 @@ if (use_blink && !is_cronet_build) {
deps = [
"//chrome/test/chromedriver:chromedriver_server",
"//chrome/test/chromedriver:chromedriver_unittests",
"//chrome/test/chromedriver:generate_chromedriver_license",
"//chrome/test/chromedriver:copy_license",
"//chrome/test/chromedriver:generate_chromedriver_notices",
]
}
}
@ -1191,13 +1225,7 @@ if (use_blink && !is_cronet_build) {
script_test("headless_shell_wpt") {
script = "//third_party/blink/tools/run_wpt_tests.py"
args = [
"--test-type",
"testharness",
"reftest",
"crashtest",
"print-reftest",
"--product=headless_shell",
"--no-virtual-tests",
"--no-wpt-internal",
"--no-show-results",
"--zero-tests-executed-ok",
@ -1205,10 +1233,13 @@ if (use_blink && !is_cronet_build) {
data_deps = [
":blink_web_tests_expectations",
":blink_web_tests_support_data",
"//chrome:chrome",
"//chrome/test/chromedriver:chromedriver_server",
"//headless:headless_shell",
"//third_party/blink/tools:wpt_tests_isolate",
]
if (is_mac || is_linux) {
data_deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ]
}
}
}
@ -1224,6 +1255,7 @@ if (use_blink && !is_cronet_build) {
"//device/vr/public/mojom:vr_service_js_data_deps",
"//media/capture/mojom:image_capture_js_data_deps",
"//media/midi:mojo_js_data_deps",
"//media/mojo/mojom:web_speech_recognition_js_data_deps",
"//mojo/public/interfaces/bindings/tests:test_data_deps",
"//mojo/public/js/ts/bindings/tests:test_interfaces_js_data_deps",
"//mojo/public/mojom/base:base_js_data_deps",
@ -1247,28 +1279,40 @@ if (use_blink && !is_cronet_build) {
if (is_android) {
data_deps += [
"//third_party/breakpad:breakpad_unittests",
"//tools/android/forwarder2",
# Using the target toolchain for this tool, as it's run during tests not
# during the build. This places a symlink in the root_build_dir for
# scrips to use.
"//third_party/breakpad:dump_syms",
"//third_party/breakpad:microdump_stackwalk",
"//third_party/breakpad:minidump_dump",
"//third_party/breakpad:minidump_stackwalk",
"//third_party/breakpad:symupload",
"//tools/android/forwarder2",
]
} else {
data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ]
}
if (!is_win && !is_android) {
data_deps +=
[ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
# Using the default toolchain for this tool, as it's run during tests not
# during the build. This places a symlink in the root_build_dir for scrips
# to use.
data_deps += [ "//third_party/breakpad:minidump_stackwalk" ]
}
if (is_mac) {
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
# Using the default toolchain for this tool, as it's run during tests not
# during the build, and on Mac we support cross-building from a different
# architecture.
data_deps += [ "//third_party/breakpad:dump_syms" ]
}
if (is_linux || is_chromeos) {
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
# Using the default toolchain for this tool, as it's run during tests not
# during the build. This places a symlink in the root_build_dir for scrips
# to use.
data_deps += [ "//third_party/breakpad:dump_syms" ]
}
if (is_fuchsia) {
@ -1351,8 +1395,12 @@ if (use_blink && !is_cronet_build) {
_common_web_test_args += [ "--release" ]
if (dcheck_always_on) {
_common_web_test_args += [ "--timeout-ms=12000" ]
} else if (v8_enable_debugging_features) {
# In a pure release build with a debug V8, tests run slower.
_common_web_test_args += [ "--timeout-ms=30000" ]
}
}
if (is_chrome_branded) {
_common_web_test_args += [ "--chrome-branded" ]
}
@ -1695,7 +1743,10 @@ if (use_blink && !is_cronet_build) {
}
# TODO(cassew): Add more OS's that don't support x86.
is_valid_x86_target = target_os != "ios" || target_os != "mac"
# 32 bit Linux builds enabled by Alex313031
is_valid_x86_target =
target_os != "ios" && target_os != "mac" &&
(use_libfuzzer || !build_with_chromium)
# Note: v8_target_cpu == arm allows using the V8 arm simulator on x86 for fuzzing.
assert(
@ -1726,8 +1777,7 @@ group("chromium_builder_perf") {
}
if (!is_win) {
data_deps +=
[ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)" ]
}
}

View file

@ -148,7 +148,7 @@ def check_distro(options):
distro_id = subprocess.check_output(["lsb_release", "--id",
"--short"]).decode().strip()
supported_codenames = ["bionic", "focal", "jammy", "noble"]
supported_codenames = ["focal", "jammy", "noble"]
supported_ids = ["Debian"]
if (distro_codename() not in supported_codenames
@ -156,12 +156,13 @@ def check_distro(options):
print(
"WARNING: The following distributions are supported,",
"but distributions not in the list below can also try to install",
"dependencies by passing the `--unsupported` parameter",
"\tUbuntu 18.04 LTS (bionic with EoL April 2028)",
"\tUbuntu 20.04 LTS (focal with EoL April 2030)",
"\tUbuntu 22.04 LTS (jammy with EoL April 2032)",
"\tUbuntu 24.04 LTS (noble with EoL June 2029)",
"\tDebian 10 (buster), 11 (bullseye) or 12 (bookworm)",
"dependencies by passing the `--unsupported` parameter.",
"EoS refers to end of standard support and does not include",
"extended security support.",
"\tUbuntu 20.04 LTS (focal with EoS April 2025)",
"\tUbuntu 22.04 LTS (jammy with EoS June 2027)",
"\tUbuntu 24.04 LTS (noble with EoS June 2029)",
"\tDebian 11 (bullseye) or 12 (bookworm)",
sep="\n",
file=sys.stderr,
)
@ -235,6 +236,7 @@ def dev_list():
"libsctp-dev",
"libspeechd-dev",
"libsqlite3-dev",
"libssl-dev",
"libsystemd-dev",
"libudev-dev",
"libva-dev",
@ -246,11 +248,12 @@ def dev_list():
"libxtst-dev",
"lighttpd",
"locales",
"openbox",
"optipng",
"p7zip",
"patch",
"perl",
"pkg-config",
"pkgconf",
"pngcrush",
"rpm",
"ruby",
@ -329,17 +332,6 @@ def dev_list():
elif package_exists("lib32gcc1"):
packages.append("lib32gcc1")
# TODO(b/339091434): Remove this workaround once this bug is fixed. This
# workaround ensures the newer libssl-dev is used to prevent package conficts.
apt_cache_cmd = ["apt-cache", "show", "libssl-dev"]
output = subprocess.check_output(apt_cache_cmd).decode()
pattern = re.compile(r'^Version: (.+?)$', re.M)
versions = re.findall(pattern, output)
if set(versions) == {"3.2.1-3", "3.0.10-1"}:
packages.append("libssl-dev=3.2.1-3")
else:
packages.append("libssl-dev")
return packages
@ -439,7 +431,7 @@ def lib_list():
if package_exists("libinput10"):
packages.append("libinput10")
# Work around for dependency on Ubuntu 24.04 LTS (noble)
# Work around for dependency On Ubuntu 24.04 LTS (noble)
if distro_codename() == "noble":
packages.append("libncurses6")
packages.append("libasound2t64")
@ -483,6 +475,7 @@ def lib32_list(options):
# 32-bit libraries needed e.g. to compile V8 snapshot for Android or armhf
"linux-libc-dev:i386",
"linux-libc-dev-i386-cross",
"libexpat1:i386",
"libpci3:i386",
]
@ -500,7 +493,7 @@ def lib32_list(options):
pattern = re.compile(r"g\+\+-[0-9.]+-multilib")
packages += re.findall(pattern, lines)
# Work around for 32-bit dependency on Ubuntu 24.04 LTS (noble)
# Work around for 32-bit dependency On Ubuntu 24.04 LTS (noble)
if distro_codename() == "noble":
packages.append("libncurses6:i386")
else:
@ -635,37 +628,26 @@ def arm_list(options):
# arm cross toolchain packages needed to build chrome on armhf
packages = [
"g++-arm-linux-gnueabihf",
"gcc-arm-linux-gnueabihf",
"libc6-dev-armhf-cross",
"libc6-dev-arm64-cross",
"linux-libc-dev-armhf-cross",
"linux-libc-dev-arm64-cross",
"g++-arm-linux-gnueabihf",
]
# Work around for dependency issue Ubuntu: http://crbug.com/435056
if distro_codename() == "bionic":
packages.extend([
"g++-5-multilib-arm-linux-gnueabihf",
"gcc-5-multilib-arm-linux-gnueabihf",
"gcc-arm-linux-gnueabihf",
])
elif distro_codename() == "focal":
# Work around an Ubuntu dependency issue.
# TODO(https://crbug.com/40549424): Remove this when support for Focal
# and Jammy are dropped.
if distro_codename() == "focal":
packages.extend([
"g++-10-multilib-arm-linux-gnueabihf",
"gcc-10-multilib-arm-linux-gnueabihf",
"gcc-arm-linux-gnueabihf",
])
elif distro_codename() == "jammy":
packages.extend([
"g++-11-arm-linux-gnueabihf",
"gcc-11-arm-linux-gnueabihf",
"gcc-arm-linux-gnueabihf",
])
elif distro_codename() == "noble":
packages.extend([
"g++-11-arm-linux-gnueabihf",
"gcc-11-arm-linux-gnueabihf",
"gcc-arm-linux-gnueabihf",
])
return packages
@ -733,7 +715,7 @@ def nacl_list(options):
else:
packages.append("libudev0:i386")
# Work around for NaCl dependency on Ubuntu 24.04 LTS (noble)
# Work around for nacl dependency On Ubuntu 24.04 LTS (noble)
if distro_codename() == "noble":
packages.append("libncurses6:i386")
packages.append("lib32ncurses-dev")
@ -744,11 +726,20 @@ def nacl_list(options):
return packages
# Packages suffixed with t64 are "transition packages" and should be preferred.
def maybe_append_t64(package):
name = package.split(":")
name[0] += "t64"
renamed = ":".join(name)
return renamed if package_exists(renamed) else package
# Debian is in the process of transitioning to automatic debug packages, which
# have the -dbgsym suffix (https://wiki.debian.org/AutomaticDebugPackages).
# Untransitioned packages have the -dbg suffix. And on some systems, neither
# will be available, so exclude the ones that are missing.
def dbg_package_name(package):
package = maybe_append_t64(package)
if package_exists(package + "-dbgsym"):
return [package + "-dbgsym"]
if package_exists(package + "-dbg"):
@ -787,10 +778,11 @@ def package_list(options):
packages = (dev_list() + lib_list() + dbg_list(options) +
lib32_list(options) + arm_list(options) + nacl_list(options) +
backwards_compatible_list(options))
packages = [maybe_append_t64(package) for package in set(packages)]
# Sort all the :i386 packages to the front, to avoid confusing dpkg-query
# (https://crbug.com/446172).
return sorted(set(packages), key=lambda x: (not x.endswith(":i386"), x))
return sorted(packages, key=lambda x: (not x.endswith(":i386"), x))
def missing_packages(packages):

View file

@ -52,6 +52,7 @@ json_data_file = os.path.join(script_dir, 'win_toolchain.json')
MSVS_VERSIONS = collections.OrderedDict([
('2022', '17.0'), # Default and packaged version of Visual Studio.
('2019', '16.0'),
('2017', '15.0'),
])
# List of preferred VC toolset version based on MSVS
@ -59,6 +60,7 @@ MSVS_VERSIONS = collections.OrderedDict([
MSVC_TOOLSET_VERSION = {
'2022': 'VC143',
'2019': 'VC142',
'2017': 'VC141',
}
def _HostIsWindows():

View file

@ -15,6 +15,7 @@
#include <vector>
#include "base/command_line.h"
#include "base/containers/to_vector.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/format_macros.h"
@ -146,7 +147,7 @@ class ChromeOSTermsHandler
} else if (path_ == chrome::kArcPrivacyPolicyURLPath) {
LOG(WARNING) << "Could not load offline Play Store privacy policy.";
} else {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
ResponseOnUIThread();
}
}
@ -490,11 +491,9 @@ std::string ChromeURLs(content::BrowserContext* browser_context) {
AppendBody(&html);
html += "<h2>List of Thorium URLs</h2>\n<ul>\n";
std::vector<std::string> hosts(
chrome::kChromeHostURLs,
chrome::kChromeHostURLs + chrome::kNumberOfChromeHostURLs);
const base::span<const base::cstring_view> hosts = chrome::ChromeURLHosts();
std::vector<content::WebUIConfigInfo> infos;
for (const std::string& host : hosts) {
for (base::cstring_view host : hosts) {
GURL url(base::StrCat(
{content::kChromeUIScheme, url::kStandardSchemeSeparator, host}));
infos.push_back({.origin = url::Origin::Create(url), .enabled = true});
@ -522,13 +521,15 @@ std::string ChromeURLs(content::BrowserContext* browser_context) {
// make sure that only allowed URLs are being presented.
if (is_lacros_primary) {
auto* WebUiControllerFactory = ChromeWebUIControllerFactory::GetInstance();
for (const std::string& host : hosts) {
for (base::cstring_view host : hosts) {
// TODO(crbug.com/40805730): The refactor should make sure that the
// provided list can be shown as is without filtering.
if (WebUiControllerFactory->CanHandleUrl(GURL("os://" + host)) ||
WebUiControllerFactory->CanHandleUrl(GURL("chrome://" + host))) {
html +=
"<li><a href='chrome://" + host + "/'>os://" + host + "</a></li>\n";
std::string chrome_url = base::StrCat({"chrome://", host});
std::string os_url = base::StrCat({"os://", host});
if (WebUiControllerFactory->CanHandleUrl(GURL(os_url)) ||
WebUiControllerFactory->CanHandleUrl(GURL(chrome_url))) {
html += base::StrCat(
{"<li><a href='", chrome_url, "/'>", os_url, "</a></li>\n"});
}
}
} else {
@ -551,14 +552,15 @@ std::string ChromeURLs(content::BrowserContext* browser_context) {
html +=
"</ul><a id=\"internals\"><h2>List of chrome://internals "
"pages</h2></a>\n<ul>\n";
std::vector<std::string> internals_paths(
chrome::kChromeInternalsPathURLs,
chrome::kChromeInternalsPathURLs +
chrome::kNumberOfChromeInternalsPathURLs);
std::sort(internals_paths.begin(), internals_paths.end());
for (const std::string& path : internals_paths) {
html += "<li><a href='chrome://internals/" + path +
"'>chrome://internals/" + path + "</a></li>\n";
const base::span<const base::cstring_view> internals_paths =
chrome::ChromeInternalsURLPaths();
std::vector<std::string_view> sorted_internals_paths = base::ToVector(
internals_paths,
[](base::cstring_view v) -> std::string_view { return v; });
std::ranges::sort(sorted_internals_paths);
for (const std::string_view path : sorted_internals_paths) {
html += base::StrCat({"<li><a href='chrome://internals/", path,
"'>chrome://internals/", path, "</a></li>\n"});
}
}
@ -573,21 +575,22 @@ std::string ChromeURLs(content::BrowserContext* browser_context) {
// make sure that only allowed URLs are being presented.
if (is_lacros_primary) {
auto* WebUiControllerFactory = ChromeWebUIControllerFactory::GetInstance();
for (size_t i = 0; i < chrome::kNumberOfChromeDebugURLs; i++) {
for (base::cstring_view url : chrome::ChromeDebugURLs()) {
// TODO(crbug.com/40805730): The refactor should make sure that the
// provided list can be shown as is without filtering.
const std::string host = GURL(chrome::kChromeDebugURLs[i]).host();
const std::string host = GURL(url).host();
if (WebUiControllerFactory->CanHandleUrl(GURL("os://" + host)) ||
WebUiControllerFactory->CanHandleUrl(GURL("chrome://" + host))) {
html += "<li>os://" + host + "</li>\n";
html += base::StrCat({"<li>os://", host, "</li>\n"});
}
}
} else {
#else
{
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
for (size_t i = 0; i < chrome::kNumberOfChromeDebugURLs; i++)
html += "<li>" + std::string(chrome::kChromeDebugURLs[i]) + "</li>\n";
for (base::cstring_view url : chrome::ChromeDebugURLs()) {
html += base::StrCat({"<li>", url, "</li>\n"});
}
}
html += "</ul>\n";
@ -673,7 +676,7 @@ void AboutUIHTMLSource::StartDataRequest(
} else if (source_name_ == chrome::kChromeUIBorealisCreditsHost) {
HandleBorealisCredits(profile(), std::move(callback));
} else {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
}
return;
}

View file

@ -178,7 +178,7 @@ action("mini_installer_archive") {
build_timestamp,
# Optional arguments to generate diff installer.
#'--last_chrome_installer=C:/Temp/base',
#'--last_chrome_installer=C:/src/chromium/src/out/thorium',
#'--setup_exe_format=DIFF',
#'--diff_algorithm=COURGETTE',

File diff suppressed because it is too large Load diff

View file

@ -121,7 +121,7 @@ const char kOnOsUpgrade[] = "on-os-upgrade";
// Applies a binary patch to a file. The input, patch, and the output file are
// specified as command line arguments following the --patch switch.
// Ex: --patch=courgette --input_file='input' --patch_file='patch'
// Ex: --patch=zucchini --input_file='input' --patch_file='patch'
// --output_file='output'
const char kOutputFile[] = "output-file";
const char kPatch[] = "patch";

View file

@ -17,6 +17,7 @@
#include "base/logging.h"
#include "base/metrics/field_trial.h"
#include "base/metrics/field_trial_params.h"
#include "base/not_fatal_until.h"
#include "base/stl_util.h"
#include "base/strings/strcat.h"
#include "base/strings/string_tokenizer.h"
@ -93,7 +94,7 @@ bool IsDefaultValue(const FeatureEntry& entry,
}
return true;
}
NOTREACHED();
NOTREACHED_IN_MIGRATION();
return true;
}
@ -361,7 +362,7 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags(
for (const std::string& entry_name : enabled_entries) {
const auto& entry_it = name_to_switch_map.find(entry_name);
DCHECK(entry_it != name_to_switch_map.end());
CHECK(entry_it != name_to_switch_map.end(), base::NotFatalUntil::M130);
const SwitchEntry& entry = entry_it->second;
if (!entry.switch_name.empty())
@ -676,6 +677,14 @@ void FlagsState::GetFlagFeatureEntries(
bool is_default_value = IsDefaultValue(entry, enabled_entries);
data.Set("is_default", is_default_value);
if (!entry.links.empty()) {
base::Value::List links;
for (auto* link : entry.links) {
links.Append(link);
}
data.Set("links", std::move(links));
}
switch (entry.type) {
case FeatureEntry::SINGLE_VALUE:
case FeatureEntry::SINGLE_DISABLE_VALUE:
@ -804,7 +813,7 @@ void FlagsState::AddSwitchesToCommandLine(
for (const std::string& entry_name : enabled_entries) {
const auto& entry_it = name_to_switch_map.find(entry_name);
if (entry_it == name_to_switch_map.end()) {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
continue;
}

View file

@ -494,15 +494,12 @@
<div class="flex search-container">
<input type="text" id="search"
aria-label="$i18n{search-label}"
placeholder="$i18n{search-placeholder}" tabindex="1"
placeholder="$i18n{search-placeholder}"
autocomplete="off" spellcheck="false">
<input type="button" class="clear-search" title="$i18n{clear-search}"
tabindex="2">
<input type="button" class="clear-search" title="$i18n{clear-search}">
</div>
<div class="flex">
<button id="experiment-reset-all" tabindex="3">
$i18n{reset}
</button>
<button id="experiment-reset-all">$i18n{reset}</button>
</div>
</div>
<div class="screen-reader-only" id="screen-reader-status-message"
@ -514,8 +511,7 @@
<div class="os-link-container" id="os-link-container">
<span id="os-flags-link-container" class="os-link-icon"></span>
<span aria-hidden="true" id="os-link-desc">$i18n{os-flags-text1}</span>
<a href="#" id="os-link-href" tabindex="4"
aria-describedby="os-link-desc">
<a href="#" id="os-link-href" aria-describedby="os-link-desc">
$i18n{os-flags-link}
</a>
<span aria-hidden="true">$i18n{os-flags-text2}</span>
@ -554,14 +550,13 @@
<a href="#tab-content-available" id="tab-available" class="tab selected"
role="tab"
aria-selected="true"
aria-controls="panel1"
tabindex="5">$i18n{available}</a>
aria-controls="panel1">$i18n{available}</a>
<!-- Unsupported experiments are not shown on iOS -->
<if expr="not is_ios">
<a href="#tab-content-unavailable" id="tab-unavailable" class="tab"
role="tab"
aria-selected="false" aria-controls="panel2"
tabindex="-1">$i18n{unavailable}</a>
role="tab" aria-selected="false" aria-controls="panel2">
$i18n{unavailable}
</a>
</if>
</div>
<div id="tabpanels">
@ -588,7 +583,7 @@
<div class="flex restart-notice">$i18n{flagsRestartNotice}</div>
<div class="flex">
<if expr="not is_ios">
<button id="experiment-restart-button" class="primary" tabindex="-1">
<button id="experiment-restart-button" class="primary">
$i18n{relaunch}
</button>
</if>

View file

@ -439,6 +439,11 @@ Runner.prototype = {
document.querySelector('.' + Runner.classes.ICON).style.visibility =
'hidden';
if (this.isArcadeMode()) {
document.title =
document.title + ' - ' + getA11yString(A11Y_STRINGS.ariaLabel);
}
this.adjustDimensions();
this.setSpeed();
@ -446,7 +451,9 @@ Runner.prototype = {
this.containerEl = document.createElement('div');
this.containerEl.setAttribute('role', IS_MOBILE ? 'button' : 'application');
this.containerEl.setAttribute('tabindex', '0');
this.containerEl.setAttribute('title', ariaLabel);
this.containerEl.setAttribute(
'title', getA11yString(A11Y_STRINGS.description));
this.containerEl.setAttribute('aria-label', ariaLabel);
this.containerEl.className = Runner.classes.CONTAINER;
@ -486,8 +493,6 @@ Runner.prototype = {
this.containerEl.appendChild(this.a11yStatusEl);
}
announcePhrase(getA11yString(A11Y_STRINGS.description));
this.generatedSoundFx = new GeneratedSoundFx();
this.canvasCtx =
@ -639,7 +644,6 @@ Runner.prototype = {
this.containerEl.style.webkitAnimation = '';
this.playCount++;
this.generatedSoundFx.background();
announcePhrase(getA11yString(A11Y_STRINGS.started));
if (Runner.audioCues) {
this.containerEl.setAttribute('title', getA11yString(A11Y_STRINGS.jump));

View file

@ -30,7 +30,7 @@
#include "ui/ozone/public/ozone_switches.h"
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(MEMORY_SANITIZER)
#include "ui/gl/gl_switches.h"
#endif
@ -84,6 +84,15 @@ class LaunchAsMojoClientBrowserTest : public ContentBrowserTest {
gl::kANGLEImplementationSwiftShaderName);
#endif
#if defined(MEMORY_SANITIZER)
// MSan and GL do not get along so avoid using the GPU with MSan. Normally,
// BrowserTestBase::SetUp() forces browser tests to use software GL for
// tests (in both non-MSan and MSan builds), but since this test builds a
// command line to launch the shell directly, that logic needs to be
// replicated here.
command_line.AppendSwitch(switches::kOverrideUseSoftwareGLForTests);
#endif
const auto& current_command_line = *base::CommandLine::ForCurrentProcess();
command_line.AppendSwitchASCII(
switches::kEnableFeatures,

View file

@ -35,7 +35,7 @@ if (is_android) {
} else if (is_ios) {
import("//build/config/ios/config.gni")
import("//build/config/ios/swift_source_set.gni")
import("//build/ios/extension_bundle_data.gni")
import("//content/shell/app/ios/extensions.gni")
}
# TODO(crbug.com/1336055, spang): Investigate using shell_views with cast builds as
@ -318,6 +318,7 @@ static_library("content_shell_lib") {
"//components/cdm/renderer",
"//components/custom_handlers",
"//components/custom_handlers:test_support",
"//components/input",
"//components/keyed_service/content",
"//components/metrics",
"//components/metrics:net",
@ -355,7 +356,6 @@ static_library("content_shell_lib") {
"//third_party/blink/public:image_resources",
"//third_party/blink/public:resources",
"//third_party/blink/public/strings",
"//third_party/blink/public/strings:accessibility_strings",
"//third_party/inspector_protocol:crdtp",
"//ui/base",
"//ui/base/clipboard",
@ -363,6 +363,7 @@ static_library("content_shell_lib") {
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/platform_window",
"//ui/strings:auto_image_annotation_strings",
"//url",
"//v8",
]
@ -539,11 +540,11 @@ repack("pak") {
"$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
"$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
"$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
"$root_gen_dir/third_party/blink/public/strings/blink_accessibility_strings_en-US.pak",
"$root_gen_dir/third_party/blink/public/strings/blink_strings_en-US.pak",
"$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
"$root_gen_dir/ui/resources/webui_resources.pak",
"$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
"$root_gen_dir/ui/strings/auto_image_annotation_strings_en-US.pak",
"$root_gen_dir/ui/strings/ax_strings_en-US.pak",
"$root_gen_dir/ui/strings/ui_strings_en-US.pak",
]
@ -563,7 +564,6 @@ repack("pak") {
"//third_party/blink/public:resources",
"//third_party/blink/public:scaled_resources_100_percent",
"//third_party/blink/public/strings",
"//third_party/blink/public/strings:accessibility_strings",
"//ui/resources",
"//ui/strings",
]
@ -660,17 +660,13 @@ if (is_android) {
info_plist = "app/ios/ios-app.plist"
testonly = true
sources = [ "app/shell_main.cc" ]
sources = [ "app/ios/shell_main_trampoline.cc" ]
deps = [
":content_process_bundle",
":content_shell_app",
":content_shell_lib",
":content_shell_framework+link",
":gpu_process_bundle",
":network_process_bundle",
"//base",
"//build:ios_buildflags",
"//content/public/app",
]
bundle_deps = [
":content_shell_framework_resources",
@ -680,29 +676,37 @@ if (is_android) {
bundle_identifier = ios_content_shell_bundle_identifier
}
if (current_toolchain == default_toolchain) {
_extension_toolchain = "${current_toolchain}_blink_app_ext"
extension_bundle_data("content_process_bundle") {
testonly = true
extension_dir = "Extensions"
extension_name = "content_process.appex"
extension_target =
"//content/shell/app/ios:content_process(${_extension_toolchain})"
}
extension_bundle_data("network_process_bundle") {
testonly = true
extension_dir = "Extensions"
extension_name = "network_process.appex"
extension_target =
"//content/shell/app/ios:network_process(${_extension_toolchain})"
}
extension_bundle_data("gpu_process_bundle") {
testonly = true
extension_dir = "Extensions"
extension_name = "gpu_process.appex"
extension_target =
"//content/shell/app/ios:gpu_process(${_extension_toolchain})"
}
ios_framework_bundle("content_shell_framework") {
testonly = true
transparent = true
output_name = "content_shell_framework"
sources = [ "app/shell_main.cc" ]
deps = [
":content_shell_app",
":content_shell_lib",
"//content/app/ios/appex:child_process_bridge",
"//content/public/app",
"//content/public/common",
"//third_party/icu:icudata",
]
info_plist = "app/ios/ios-app.plist"
}
browserkit_extension("gpu_process") {
testonly = true
bundle_identifier = "$shared_bundle_id_for_test_apps.GPUProcess"
}
browserkit_extension("network_process") {
testonly = true
bundle_identifier = "$shared_bundle_id_for_test_apps.NetworkProcess"
}
browserkit_extension("content_process") {
testonly = true
bundle_identifier = "$shared_bundle_id_for_test_apps.ContentProcess"
}
} else {
executable("thorium_shell") {
@ -887,7 +891,7 @@ if (is_mac) {
]
deps = [
":content_shell_angle_library",
":content_shell_angle_binaries",
":content_shell_app",
"//content/public/app",
"//content/public/common",
@ -897,7 +901,7 @@ if (is_mac) {
bundle_deps = [
":content_shell_framework_helpers",
":content_shell_framework_resources",
":content_shell_swiftshader_library",
":content_shell_swiftshader_binaries",
]
if (enable_ppapi) {
@ -1016,38 +1020,24 @@ if (is_mac) {
outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
}
if (use_egl) {
# Add the ANGLE .dylibs in the Libraries directory of the Framework.
bundle_data("content_shell_angle_binaries") {
sources = [
"$root_out_dir/egl_intermediates/libEGL.dylib",
"$root_out_dir/egl_intermediates/libGLESv2.dylib",
]
outputs = [ "{{bundle_contents_dir}}/Libraries/{{source_file_part}}" ]
public_deps = [ "//ui/gl:angle_library_copy" ]
}
# Add the SwiftShader .dylibs in the Libraries directory of the Framework.
bundle_data("content_shell_swiftshader_binaries") {
sources = [
"$root_out_dir/vk_intermediates/libvk_swiftshader.dylib",
"$root_out_dir/vk_intermediates/vk_swiftshader_icd.json",
]
outputs = [ "{{bundle_contents_dir}}/Libraries/{{source_file_part}}" ]
public_deps = [ "//ui/gl:swiftshader_vk_library_copy" ]
}
# Add the ANGLE .dylibs in the Libraries directory of the Framework.
bundle_data("content_shell_angle_binaries") {
sources = [
"$root_out_dir/egl_intermediates/libEGL.dylib",
"$root_out_dir/egl_intermediates/libGLESv2.dylib",
]
outputs = [ "{{bundle_contents_dir}}/Libraries/{{source_file_part}}" ]
public_deps = [ "//ui/gl:angle_library_copy" ]
}
group("content_shell_angle_library") {
if (use_egl) {
deps = [ ":content_shell_angle_binaries" ]
}
}
group("content_shell_swiftshader_library") {
if (use_egl) {
deps = [ ":content_shell_swiftshader_binaries" ]
}
# Add the SwiftShader .dylibs in the Libraries directory of the Framework.
bundle_data("content_shell_swiftshader_binaries") {
sources = [
"$root_out_dir/vk_intermediates/libvk_swiftshader.dylib",
"$root_out_dir/vk_intermediates/vk_swiftshader_icd.json",
]
outputs = [ "{{bundle_contents_dir}}/Libraries/{{source_file_part}}" ]
public_deps = [ "//ui/gl:swiftshader_vk_library_copy" ]
}
}

View file

@ -226,12 +226,7 @@ std::optional<int> ShellMainDelegate::BasicStartupComplete() {
#if BUILDFLAG(IS_MAC)
// Needs to happen before InitializeResourceBundle().
OverrideFrameworkBundlePath();
OverrideOuterBundlePath();
OverrideChildProcessPath();
OverrideSourceRootPath();
EnsureCorrectResolutionSettings();
OverrideBundleID();
#endif // BUILDFLAG(IS_MAC)
InitLogging(command_line);

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/342213636): Remove this and spanify to fix the errors.
#pragma allow_unsafe_buffers
#endif
#include <stddef.h>
#include <algorithm>
@ -251,8 +256,8 @@ class ShellView : public views::BoxLayoutView,
const std::u16string& new_contents) override {}
bool HandleKeyEvent(views::Textfield* sender,
const ui::KeyEvent& key_event) override {
if (key_event.type() == ui::ET_KEY_PRESSED && sender == url_entry_ &&
key_event.key_code() == ui::VKEY_RETURN) {
if (key_event.type() == ui::EventType::kKeyPressed &&
sender == url_entry_ && key_event.key_code() == ui::VKEY_RETURN) {
std::string text = base::UTF16ToUTF8(url_entry_->GetText());
GURL url(text);
if (!url.has_scheme()) {
@ -365,7 +370,8 @@ void ShellPlatformDelegate::CreatePlatformWindow(
gfx::Rect(initial_size));
#else
shell_data.window_widget = new views::Widget();
views::Widget::InitParams params;
views::Widget::InitParams params(
views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET);
params.bounds = gfx::Rect(initial_size);
params.delegate = delegate.release();
params.wm_class_class = "thorium_shell";

View file

@ -97,6 +97,8 @@ static_library("test_support") {
"../browser/first_party_sets/test/scoped_mock_first_party_sets_handler.h",
"../browser/font_access/font_access_test_utils.cc",
"../browser/font_access/font_access_test_utils.h",
"../browser/installedapp/test/installed_app_provider_impl_test_utils.cc",
"../browser/installedapp/test/installed_app_provider_impl_test_utils.h",
"../browser/interest_group/additional_bids_test_util.cc",
"../browser/interest_group/additional_bids_test_util.h",
"../browser/interest_group/test_interest_group_observer.cc",
@ -109,16 +111,14 @@ static_library("test_support") {
"../browser/payments/stub_payment_credential.h",
"../browser/preloading/prefetch/mock_prefetch_service_delegate.cc",
"../browser/preloading/prefetch/mock_prefetch_service_delegate.h",
"../browser/preloading/prefetch/prefetch_test_utils.cc",
"../browser/preloading/prefetch/prefetch_test_utils.h",
"../browser/preloading/prefetch/prefetch_test_util_internal.cc",
"../browser/preloading/prefetch/prefetch_test_util_internal.h",
"../browser/presentation/presentation_test_utils.cc",
"../browser/presentation/presentation_test_utils.h",
"../browser/private_aggregation/private_aggregation_test_utils.cc",
"../browser/private_aggregation/private_aggregation_test_utils.h",
"../browser/renderer_host/document_service_echo_impl.cc",
"../browser/renderer_host/document_service_echo_impl.h",
"../browser/renderer_host/input/mock_input_router.cc",
"../browser/renderer_host/input/mock_input_router.h",
"../browser/renderer_host/media/fake_video_capture_device_launcher.cc",
"../browser/renderer_host/media/fake_video_capture_device_launcher.h",
"../browser/renderer_host/media/fake_video_capture_provider.cc",
@ -225,6 +225,7 @@ static_library("test_support") {
"../public/test/frame_test_utils.h",
"../public/test/hit_test_region_observer.cc",
"../public/test/hit_test_region_observer.h",
"../public/test/ipc_interfaces_dumper.h",
"../public/test/javascript_test_observer.cc",
"../public/test/javascript_test_observer.h",
"../public/test/keep_alive_url_loader_utils.cc",
@ -275,6 +276,8 @@ static_library("test_support") {
"../public/test/permissions_test_utils.h",
"../public/test/policy_container_utils.cc",
"../public/test/policy_container_utils.h",
"../public/test/prefetch_test_util.cc",
"../public/test/prefetch_test_util.h",
"../public/test/preloading_test_util.cc",
"../public/test/preloading_test_util.h",
"../public/test/prerender_test_util.cc",
@ -329,6 +332,8 @@ static_library("test_support") {
"../public/test/test_frame_navigation_observer.h",
"../public/test/test_host_resolver.cc",
"../public/test/test_host_resolver.h",
"../public/test/test_image_transport_factory.cc",
"../public/test/test_image_transport_factory.h",
"../public/test/test_launcher.cc",
"../public/test/test_launcher.h",
"../public/test/test_media_session_client.cc",
@ -401,6 +406,7 @@ static_library("test_support") {
"gpu_browsertest_helpers.h",
"io_thread_shared_url_loader_factory_owner.cc",
"io_thread_shared_url_loader_factory_owner.h",
"ipc_interfaces_dumper.cc",
"mock_agent_scheduling_group_host.cc",
"mock_agent_scheduling_group_host.h",
"mock_background_sync_controller.cc",
@ -519,10 +525,10 @@ static_library("test_support") {
"//third_party/blink/public:blink",
"//third_party/blink/public:test_support",
"//third_party/blink/public/common:headers",
"//third_party/blink/public/strings:accessibility_strings",
"//third_party/blink/public/strings:strings_grit",
"//ui/accessibility:ax_base",
"//ui/gl:test_support",
"//ui/strings:auto_image_annotation_strings",
]
deps = [
@ -530,11 +536,14 @@ static_library("test_support") {
":web_ui_mojo_test_resources",
"//build:chromeos_buildflags",
"//cc:test_support",
"//components/attribution_reporting:data_host_mojom",
"//components/attribution_reporting:mojom",
"//components/attribution_reporting:source_type_mojom",
"//components/breadcrumbs/core",
"//components/browsing_topics/common:common",
"//components/cbor",
"//components/input",
"//components/input:test_support",
"//components/network_session_configurator/common:common",
"//components/services/storage",
"//components/startup_metric_utils",
@ -566,6 +575,7 @@ static_library("test_support") {
"//media",
"//media/capture",
"//media/capture/mojom:image_capture",
"//media/mojo/mojom:web_speech_recognition",
"//mojo/core/embedder",
"//mojo/public/cpp/test_support:test_utils",
"//net:quic_test_tools",
@ -576,8 +586,10 @@ static_library("test_support") {
"//services/cert_verifier:lib",
"//services/data_decoder/public/cpp:test_support",
"//services/data_decoder/public/mojom",
"//services/device:lib",
"//services/device/public/mojom",
"//services/device/public/mojom:usb",
"//services/device/time_zone_monitor:test_support",
"//services/metrics/public/cpp:metrics_cpp",
"//storage/browser/quota:mojo_bindings",
@ -597,7 +609,6 @@ static_library("test_support") {
"//storage/common",
"//testing/gmock",
"//testing/gtest",
"//third_party/blink/public/strings:accessibility_strings",
"//third_party/blink/public/strings:strings_grit",
"//third_party/webrtc_overrides:webrtc_component",
"//tools/v8_context_snapshot:buildflags",
@ -620,6 +631,7 @@ static_library("test_support") {
"//ui/native_theme",
"//ui/resources",
"//ui/shell_dialogs:shell_dialogs",
"//ui/strings:auto_image_annotation_strings",
"//ui/surface",
"//url",
"//url/mojom:url_mojom_gurl",
@ -715,20 +727,6 @@ static_library("test_support") {
]
}
if (use_aura || is_apple) {
deps += [
"//components/viz/common",
"//components/viz/host",
"//third_party/libvpx",
"//ui/compositor",
]
sources += [
"../browser/compositor/test/test_image_transport_factory.cc",
"../browser/compositor/test/test_image_transport_factory.h",
]
}
if (is_mac) {
sources += [
"../browser/renderer_host/test_render_widget_host_view_mac_factory.h",
@ -899,7 +897,7 @@ group("telemetry_gpu_integration_test_support") {
# the full directory can include a .fetchts file, which affects swarming's
# ability to dedupe tasks.
"//tools/perf/page_sets/maps_perf_test/config.js",
"//tools/perf/page_sets/maps_perf_test/load_dataset",
"//tools/perf/page_sets/maps_perf_test/dataset/load_dataset",
"//tools/perf/page_sets/maps_perf_test/performance.html",
"//tools/perf/page_sets/maps_perf_test/tracked.js",
"//tools/perf/page_sets/maps_perf_test/worker.js",
@ -1058,6 +1056,7 @@ static_library("browsertest_support") {
"//base/test:test_support",
"//build:chromeos_buildflags",
"//cc/slim",
"//components/input",
"//components/network_session_configurator/common:common",
"//components/services/storage:storage",
"//content/app:for_content_tests",
@ -1391,7 +1390,6 @@ test("content_browsertests") {
"../browser/child_process_security_policy_browsertest.cc",
"../browser/closewatcher/close_listener_host_browsertest.cc",
"../browser/code_cache/generated_code_cache_browsertest.cc",
"../browser/compute_pressure/pressure_service_browsertest.cc",
"../browser/content_index/content_index_browsertest.cc",
"../browser/content_security_policy_browsertest.cc",
"../browser/cookie_deprecation_label/cookie_deprecation_label_browsertest.cc",
@ -1488,7 +1486,6 @@ test("content_browsertests") {
"../browser/network/dns_https_protocol_upgrade_browsertest.cc",
"../browser/network/http_cookie_browsertest.cc",
"../browser/network/network_field_trial_browsertest.cc",
"../browser/network/network_service_memory_cache_browsertest.cc",
"../browser/network/sandboxed_http_cache_browsertest.cc",
"../browser/network/sandboxed_network_list_browsertest.cc",
"../browser/network/sandboxed_nqe_browsertest.cc",
@ -1514,6 +1511,7 @@ test("content_browsertests") {
"../browser/preloading/prefetch/nav_prefetch_browsertest.cc",
"../browser/preloading/preloading_decider_browsertest.cc",
"../browser/preloading/prerender/prerender_browsertest.cc",
"../browser/preloading/prerenderer_impl_browsertest.cc",
"../browser/private_aggregation/private_aggregation_internals_browsertest.cc",
"../browser/process_internals/process_internals_browsertest.cc",
"../browser/quota/quota_browsertest.cc",
@ -1527,7 +1525,6 @@ test("content_browsertests") {
"../browser/renderer_host/document_service_browsertest.cc",
"../browser/renderer_host/document_token_browsertest.cc",
"../browser/renderer_host/document_user_data_browsertest.cc",
"../browser/renderer_host/early_swap_navigation_browsertest.cc",
"../browser/renderer_host/embedding_token_browsertest.cc",
"../browser/renderer_host/frame_tree_browsertest.cc",
"../browser/renderer_host/input/autoscroll_browsertest.cc",
@ -1541,6 +1538,7 @@ test("content_browsertests") {
"../browser/renderer_host/input/mouse_latency_browsertest.cc",
"../browser/renderer_host/input/scroll_behavior_browsertest.cc",
"../browser/renderer_host/input/scroll_latency_browsertest.cc",
"../browser/renderer_host/input/scroll_tracing_browsertest.cc",
"../browser/renderer_host/input/synthetic_input_browsertest.cc",
"../browser/renderer_host/input/touch_action_browsertest.cc",
"../browser/renderer_host/input/touch_input_browsertest.cc",
@ -1580,6 +1578,7 @@ test("content_browsertests") {
"../browser/screen_details/screen_details_browsertest.cc",
"../browser/screen_orientation/screen_orientation_browsertest.cc",
"../browser/security/coop/cross_origin_opener_policy_browsertest.cc",
"../browser/security/dip/document_isolation_policy_browsertest.cc",
"../browser/security_exploit_browsertest.cc",
"../browser/service_process_host_browsertest.cc",
"../browser/service_worker/service_worker_auth_browsertest.cc",
@ -1739,10 +1738,12 @@ test("content_browsertests") {
"//build:chromeos_buildflags",
"//cc/slim",
"//components/attribution_reporting:mojom",
"//components/cbor",
"//components/discardable_memory/client",
"//components/discardable_memory/common",
"//components/discardable_memory/service",
"//components/favicon/content",
"//components/input",
"//components/network_session_configurator/common",
"//components/os_crypt/async/browser:key_provider_interface",
"//components/os_crypt/async/browser:test_support",
@ -1763,6 +1764,7 @@ test("content_browsertests") {
"//content/app:for_content_tests",
"//content/browser:for_content_tests",
"//content/browser/attribution_reporting:mojo_bindings",
"//content/browser/attribution_reporting:registration_result_mojom",
"//content/browser/background_sync:background_sync_proto",
"//content/child:for_content_tests",
"//content/gpu",
@ -2010,10 +2012,9 @@ test("content_browsertests") {
"//sandbox",
"//third_party/blink/public:resources",
"//third_party/blink/public/strings",
"//third_party/blink/public/strings:accessibility_strings",
"//third_party/blink/public/strings:accessibility_strings",
"//third_party/iaccessible2",
"//third_party/isimpledom",
"//ui/strings:auto_image_annotation_strings",
]
data_deps += [ "//services/test/echo:echo_preload_library" ]
@ -2079,6 +2080,7 @@ test("content_browsertests") {
"//content/shell/android:content_shell_jni_headers",
"//services/data_decoder/public/cpp/android:safe_json_java",
"//testing/android/native_test:native_test_support",
"//ui/accessibility:ax_base_android",
"//ui/android:android",
"//ui/touch_selection:touch_selection",
]
@ -2093,6 +2095,7 @@ test("content_browsertests") {
} else {
# Non-Android.
sources += [
"../browser/compute_pressure/pressure_service_browsertest.cc",
"../browser/direct_sockets/direct_sockets_open_browsertest.cc",
"../browser/direct_sockets/direct_sockets_tcp_browsertest.cc",
"../browser/direct_sockets/direct_sockets_udp_browsertest.cc",
@ -2113,6 +2116,7 @@ test("content_browsertests") {
deps += [
"//components/soda:utils",
"//content/public/browser:proto",
"//media/mojo/mojom:web_speech_recognition",
"//ui/base/clipboard:clipboard_test_support",
]
@ -2140,7 +2144,6 @@ test("content_browsertests") {
"../browser/webauth/webauth_browsertest.cc",
]
deps += [
"//components/cbor",
"//device/base",
"//device/fido:fido",
"//device/fido:mocks",
@ -2348,6 +2351,7 @@ test("content_unittests") {
"../browser/accessibility/browser_accessibility_unittest.cc",
"../browser/accessibility/one_shot_accessibility_tree_search_unittest.cc",
"../browser/accessibility/scoped_mode_collection_unittest.cc",
"../browser/agent_cluster_key_unittest.cc",
"../browser/aggregation_service/aggregatable_report_assembler_unittest.cc",
"../browser/aggregation_service/aggregatable_report_scheduler_unittest.cc",
"../browser/aggregation_service/aggregatable_report_sender_unittest.cc",
@ -2359,6 +2363,8 @@ test("content_unittests") {
"../browser/aggregation_service/public_key_parsing_utils_unittest.cc",
"../browser/aggregation_service/report_scheduler_timer_unittest.cc",
"../browser/attribution_reporting/aggregatable_attribution_utils_unittest.cc",
"../browser/attribution_reporting/aggregatable_debug_rate_limit_table_unittest.cc",
"../browser/attribution_reporting/aggregatable_debug_report_unittest.cc",
"../browser/attribution_reporting/attribution_aggregatable_report_golden_unittest.cc",
"../browser/attribution_reporting/attribution_cookie_checker_impl_unittest.cc",
"../browser/attribution_reporting/attribution_data_host_manager_impl_unittest.cc",
@ -2367,10 +2373,10 @@ test("content_unittests") {
"../browser/attribution_reporting/attribution_manager_impl_unittest.cc",
"../browser/attribution_reporting/attribution_report_network_sender_unittest.cc",
"../browser/attribution_reporting/attribution_report_unittest.cc",
"../browser/attribution_reporting/attribution_storage_delegate_impl_unittest.cc",
"../browser/attribution_reporting/attribution_resolver_delegate_impl_unittest.cc",
"../browser/attribution_reporting/attribution_resolver_unittest.cc",
"../browser/attribution_reporting/attribution_storage_sql_migrations_unittest.cc",
"../browser/attribution_reporting/attribution_storage_sql_unittest.cc",
"../browser/attribution_reporting/attribution_storage_unittest.cc",
"../browser/attribution_reporting/attribution_suitable_context_unittest.cc",
"../browser/attribution_reporting/interop/interop_unittest.cc",
"../browser/attribution_reporting/interop/parser_unittest.cc",
@ -2428,8 +2434,6 @@ test("content_unittests") {
"../browser/client_hints/client_hints_unittest.cc",
"../browser/code_cache/generated_code_cache_unittest.cc",
"../browser/code_cache/simple_lru_cache_unittest.cc",
"../browser/compute_pressure/pressure_service_for_frame_unittest.cc",
"../browser/compute_pressure/pressure_service_for_worker_unittest.cc",
"../browser/content_index/content_index_database_unittest.cc",
"../browser/content_index/content_index_service_impl_unittest.cc",
"../browser/cookie_deprecation_label/cookie_deprecation_label_manager_impl_unittest.cc",
@ -2479,6 +2483,7 @@ test("content_unittests") {
"../browser/gpu/gpu_data_manager_testing_exceptions_autogen.h",
"../browser/handwriting/handwriting_recognition_service_impl_unittest.cc",
"../browser/idle/idle_manager_unittest.cc",
"../browser/installedapp/installed_app_provider_impl_unittest.cc",
"../browser/interest_group/ad_auction_headers_util_unittest.cc",
"../browser/interest_group/ad_auction_service_impl_unittest.cc",
"../browser/interest_group/ad_auction_url_loader_interceptor_unittest.cc",
@ -2511,6 +2516,7 @@ test("content_unittests") {
"../browser/interest_group/test_interest_group_manager_impl.h",
"../browser/interest_group/test_interest_group_private_aggregation_manager.cc",
"../browser/interest_group/test_interest_group_private_aggregation_manager.h",
"../browser/interest_group/trusted_signals_cache_impl_unittest.cc",
"../browser/loader/cors_origin_pattern_setter_unittest.cc",
"../browser/loader/file_url_loader_factory_unittest.cc",
"../browser/loader/keep_alive_attribution_request_helper_unittest.cc",
@ -2534,6 +2540,7 @@ test("content_unittests") {
"../browser/media/media_internals_unittest.cc",
"../browser/media/media_power_experiment_manager_unittest.cc",
"../browser/media/midi_host_unittest.cc",
"../browser/media/session/media_players_callback_aggregator_unittest.cc",
"../browser/media/session/media_session_controller_unittest.cc",
"../browser/media/session/media_session_controllers_manager_unittest.cc",
"../browser/media/session/media_session_impl_service_routing_unittest.cc",
@ -2627,10 +2634,12 @@ test("content_unittests") {
"../browser/renderer_host/input/mock_input_disposition_handler.h",
"../browser/renderer_host/input/mock_input_router_client.cc",
"../browser/renderer_host/input/mock_input_router_client.h",
"../browser/renderer_host/input/mock_render_widget_host_view_for_stylus_writing.cc",
"../browser/renderer_host/input/mock_render_widget_host_view_for_stylus_writing.h",
"../browser/renderer_host/input/motion_event_web_unittest.cc",
"../browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc",
"../browser/renderer_host/input/render_input_router_latency_tracker_unittest.cc",
"../browser/renderer_host/input/stylus_text_selector_unittest.cc",
"../browser/renderer_host/input/touch_emulator_unittest.cc",
"../browser/renderer_host/input/touch_emulator_impl_unittest.cc",
"../browser/renderer_host/input/web_input_event_util_unittest.cc",
"../browser/renderer_host/isolated_web_app_throttle_unittest.cc",
"../browser/renderer_host/media/audio_input_device_manager_unittest.cc",
@ -2732,7 +2741,6 @@ test("content_unittests") {
"../browser/storage_partition_config_unittest.cc",
"../browser/storage_partition_impl_map_unittest.cc",
"../browser/storage_partition_impl_unittest.cc",
"../browser/tracing/background_startup_tracing_observer_unittest.cc",
"../browser/tracing/background_tracing_config_unittest.cc",
"../browser/tracing/background_tracing_manager_unittest.cc",
"../browser/tracing/trace_report/trace_report_database_unittest.cc",
@ -2755,6 +2763,7 @@ test("content_unittests") {
"../browser/web_package/signed_exchange_signature_header_field_unittest.cc",
"../browser/web_package/signed_exchange_signature_verifier_unittest.cc",
"../browser/web_package/signed_exchange_utils_unittest.cc",
"../browser/web_package/subresource_signed_exchange_url_loader_factory_unittest.cc",
"../browser/webid/digital_credentials/digital_identity_request_impl_unittest.cc",
"../browser/webid/federated_auth_disconnect_request_unittest.cc",
"../browser/webid/federated_auth_request_impl_multiple_frames_unittest.cc",
@ -2782,6 +2791,8 @@ test("content_unittests") {
"../browser/webid/test/mock_modal_dialog_view_delegate.h",
"../browser/webid/test/mock_permission_delegate.cc",
"../browser/webid/test/mock_permission_delegate.h",
"../browser/webid/test/stub_digital_identity_provider.cc",
"../browser/webid/test/stub_digital_identity_provider.h",
"../browser/webrtc/webrtc_internals_message_handler_unittest.cc",
"../browser/webrtc/webrtc_internals_unittest.cc",
"../browser/webtransport/web_transport_throttle_context_unittest.cc",
@ -2814,18 +2825,8 @@ test("content_unittests") {
"../common/frame_owner_element_type_mojom_traits_unittest.cc",
"../common/input/actions_parser_test_driver_unittest.cc",
"../common/input/actions_parser_unittest.cc",
"../common/input/event_with_latency_info_unittest.cc",
"../common/input/fling_controller_unittest.cc",
"../common/input/gesture_event_queue_unittest.cc",
"../common/input/gesture_event_stream_validator_unittest.cc",
"../common/input/mouse_wheel_event_queue_unittest.cc",
"../common/input/passthrough_touch_event_queue_unittest.cc",
"../common/input/synthetic_gesture_controller_unittest.cc",
"../common/input/synthetic_pointer_action_unittest.cc",
"../common/input/tap_suppression_controller_unittest.cc",
"../common/input/touch_action_filter_unittest.cc",
"../common/input/touch_event_stream_validator_unittest.cc",
"../common/input/touchpad_pinch_event_queue_unittest.cc",
"../common/pseudonymization_salt_unittest.cc",
"../common/service_worker/race_network_request_read_buffer_manager_unittest.cc",
"../common/service_worker/race_network_request_url_loader_client_unittest.cc",
@ -2874,9 +2875,7 @@ test("content_unittests") {
"../browser/speech/tts_mac_unittest.mm",
"../browser/web_contents/web_drag_dest_mac_unittest.mm",
"../browser/web_contents/web_drag_source_mac_unittest.mm",
"../common/input/web_input_event_builders_mac_unittest.mm",
"../common/mac/attributed_string_type_converters_unittest.mm",
"../common/native_web_keyboard_event_mac_unittest.mm",
"../renderer/sandbox_mac_v2_unittest.mm",
]
}
@ -2927,18 +2926,34 @@ test("content_unittests") {
"../browser/web_contents/color_chooser_unittest.cc",
"../common/android/cpu_time_metrics_unittest.cc",
"../common/android/gin_java_bridge_value_unittest.cc",
"../common/input/web_input_event_builders_android_unittest.cc",
]
}
if (!is_android) {
sources += [
"../browser/compute_pressure/pressure_service_for_frame_unittest.cc",
"../browser/compute_pressure/pressure_service_for_worker_unittest.cc",
]
}
if (!is_android && !is_ios) {
sources += [ "../browser/file_system_access/file_path_watcher/file_path_watcher_unittest.cc" ]
}
if (is_win) {
sources += [
"../browser/media/web_app_system_media_controls_manager_unittest.cc",
"../browser/renderer_host/renderer_sandboxed_process_launcher_delegate_unittest.cc",
"../browser/speech/tts_win_utils_unittest.cc",
"../browser/utility_sandbox_delegate_unittest.cc",
"../renderer/media/win/overlay_state_observer_impl_unittest.cc",
]
}
if (is_win || is_mac) {
sources +=
[ "../browser/media/web_app_system_media_controls_manager_unittest.cc" ]
}
if (is_android || is_linux || is_chromeos || is_mac || is_win || is_fuchsia) {
data = [
"$root_out_dir/content_shell.pak",
@ -2971,6 +2986,7 @@ test("content_unittests") {
"//base/allocator:buildflags",
"//base/test:proto_test_support",
"//base/test:test_support",
"//build:buildflag_header_h",
"//build:chromecast_buildflags",
"//build:chromeos_buildflags",
"//cc",
@ -2978,6 +2994,7 @@ test("content_unittests") {
"//cc/mojom",
"//components/attribution_reporting:mojom",
"//components/cbor",
"//components/input",
"//components/network_session_configurator/browser",
"//components/network_session_configurator/common",
"//components/offline_pages/buildflags",
@ -2994,7 +3011,9 @@ test("content_unittests") {
"//components/system_media_controls:test_support",
"//components/ukm:test_support",
"//components/user_prefs/test:test_support",
"//components/variations:test_support",
"//components/variations:variations",
"//components/variations/net:net",
"//components/viz/client",
"//components/viz/common",
"//components/viz/host",
@ -3004,6 +3023,7 @@ test("content_unittests") {
"//content/browser:for_content_tests",
"//content/browser/attribution_reporting:attribution_reporting_proto",
"//content/browser/attribution_reporting:mojo_bindings",
"//content/browser/attribution_reporting:registration_result_mojom",
"//content/browser/background_fetch:background_fetch_proto",
"//content/browser/cache_storage:cache_storage_proto",
"//content/browser/devtools:devtools_background_services_proto",
@ -3247,9 +3267,11 @@ test("content_unittests") {
"../child/dwrite_font_proxy/dwrite_font_proxy_win_unittest.cc",
"../child/dwrite_font_proxy/font_fallback_win_unittest.cc",
"../child/font_warmup_win_unittest.cc",
"../renderer/font_data/font_data_manager_unittest.cc",
"../renderer/media/win/dcomp_texture_wrapper_unittest.cc",
]
deps += [
"//components/services/font_data/public/mojom",
"//sandbox/policy:sandbox_test_utils",
"//sandbox/win:sandbox",
"//third_party/blink/public/common",
@ -3280,11 +3302,7 @@ test("content_unittests") {
weak_frameworks = [ "ScreenCaptureKit.framework" ] # macOS 12.3
}
if (is_chromeos_ash) {
sources += [
"../browser/handwriting/handwriting_recognition_service_impl_cros_unittest.cc",
"../browser/ml/ml_service_impl_cros_unittest.cc",
"../browser/ml/ml_service_impl_unittest.cc",
]
sources += [ "../browser/handwriting/handwriting_recognition_service_impl_cros_unittest.cc" ]
deps += [
"//ash/constants:constants",
"//chromeos/ash/components/audio",
@ -3292,7 +3310,6 @@ test("content_unittests") {
"//chromeos/services/machine_learning/public/cpp:stub",
"//chromeos/services/machine_learning/public/mojom",
"//chromeos/services/machine_learning/public/mojom",
"//components/ml/mojom",
]
}
if (is_chromeos_lacros) {
@ -3325,6 +3342,7 @@ test("content_unittests") {
"//build/config/freetype",
"//cc/slim",
"//components/download/internal/common:internal_java",
"//content/browser:fontations_name_table_ffi",
"//content/public/android:content_java",
"//gin:v8_snapshot_assets",
"//gpu/command_buffer/service:android_texture_owner_test_support",
@ -3345,12 +3363,14 @@ test("content_unittests") {
"../browser/host_zoom_map_impl_unittest.cc",
"../browser/picture_in_picture/document_picture_in_picture_navigation_throttle_unittest.cc",
"../browser/serial/serial_unittest.cc",
"../browser/speech/endpointer/endpointer_unittest.cc",
"../browser/speech/network_speech_recognition_engine_impl_unittest.cc",
"../browser/speech/speech_recognizer_impl_unittest.cc",
"../browser/tracing/tracing_ui_unittest.cc",
]
deps += [ "//components/speech:speech" ]
deps += [
"//components/speech:speech",
"//media/mojo/mojom:web_speech_recognition",
]
if (!is_fuchsia) {
sources += [