diff --git a/infra/THORIUM_DEV_BOOKMARKS.html b/infra/THORIUM_DEV_BOOKMARKS.html
index 834f4c89..2a6e1b16 100644
--- a/infra/THORIUM_DEV_BOOKMARKS.html
+++ b/infra/THORIUM_DEV_BOOKMARKS.html
@@ -43,7 +43,6 @@
mini_installer_constants.cc - Chromium Code Search
mini_installer_exe_main.cc - Chromium Code Search
mini_installer_exe_version.rc.version - Chromium Code Search
- shell_util.cc - Chromium Code Search
util_constants.cc - Chromium Code Search
download_features.cc - Chromium Code Search
prepopulated_engines.json - Chromium Code Search
diff --git a/src/BUILD.gn b/src/BUILD.gn
index f6fd0d35..156bc7f0 100644
--- a/src/BUILD.gn
+++ b/src/BUILD.gn
@@ -202,6 +202,12 @@ group("gn_all") {
"//url:url_unittests",
]
+ if (current_cpu == "arm64" && is_android && host_os == "linux") {
+ deps += [
+ "//components/allocation_recorder/tools:dump_allocation_recorder_data",
+ ]
+ }
+
if (!is_component_build) {
deps += [ "//third_party/abseil-cpp:absl_tests" ]
}
@@ -631,10 +637,6 @@ group("gn_all") {
if (!is_android && !is_ios) {
deps += [
- "//courgette:courgette",
- "//courgette:courgette_fuzz",
- "//courgette:courgette_minimal_tool",
- "//courgette:courgette_unittests",
"//net:crash_cache",
"//net:net_watcher", # TODO(GYP): This should be conditional on
# use_v8_in_net
@@ -1041,23 +1043,17 @@ if (is_win) {
deps = [
"//chrome/common/win:eventlog_provider",
"//chrome/credential_provider",
+ "//chrome/enterprise_companion:enterprise_companion_zip",
"//chrome/installer/gcapi",
"//chrome/installer/mini_installer",
"//chrome/updater/win:updater_zip",
"//components/policy:pack_policy_templates",
"//components/zucchini",
"//components/zucchini:zucchini64",
- "//courgette",
"//third_party/hyphenation-patterns",
"//tools/metrics:metrics_metadata",
]
- if (target_cpu == "x86") {
- deps += [
- "//courgette:copy_courgette_binaries",
- "//courgette(//build/toolchain/win:win_clang_x64)",
- ]
- }
if (is_chrome_branded) {
deps += [ "//remoting/host:remoting_host_installation" ]
}
@@ -1081,7 +1077,6 @@ if (is_win) {
"//media:media_unittests",
"//media/midi:midi_unittests",
"//net:net_unittests",
- "//printing:printing_unittests",
"//sql:sql_unittests",
"//third_party/breakpad:symupload",
"//ui/base:ui_base_unittests",
@@ -1090,6 +1085,10 @@ if (is_win) {
"//ui/views:views_unittests",
"//url:url_unittests",
]
+
+ if (enable_printing || enable_printing_tests) {
+ deps += [ "//printing:printing_unittests" ]
+ }
}
}
@@ -1194,33 +1193,66 @@ if (use_blink && !is_cronet_build) {
]
}
- # Web tests runner
- # third_party/blink/tools/run_web_tests.py
- group("run_web_tests") {
- testonly = true
- deps = [
- ":blink_web_tests",
- ":blink_wpt_tests",
+ # Options shared by all script test targets that call `run_web_tests.py` or
+ # `run_wpt_tests.py`.
+ _common_web_test_options = [
+ "--no-show-results",
+ "--zero-tests-executed-ok",
+ ]
+ if (is_debug) {
+ _common_web_test_options += [ "--debug" ]
+ } else {
+ _common_web_test_options += [ "--release" ]
+ }
+ if (is_asan) {
+ _common_web_test_options += [
+ "--enable-sanitizer",
+ "--additional-expectations",
+ "@WrappedPath(" +
+ rebase_path("//third_party/blink/web_tests/ASANExpectations",
+ root_out_dir) + ")",
+ ]
+ }
+ if (is_msan) {
+ _common_web_test_options += [
+ "--enable-sanitizer",
+ "--additional-expectations",
+ "@WrappedPath(" +
+ rebase_path("//third_party/blink/web_tests/MSANExpectations",
+ root_out_dir) + ")",
+ ]
+ }
+ if (is_fuchsia) {
+ _common_web_test_options += [
+ "--out-dir",
+ "@WrappedPath(.)",
+ ]
+ } else {
+ base_out_dir = rebase_path(get_path_info(root_build_dir, "dir"), ".")
+ out_dir = get_path_info(root_build_dir, "name")
+ _common_web_test_options += [
+ "--build-directory",
+ base_out_dir,
+ "--target",
+ out_dir,
]
}
if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos) {
script_test("chrome_wpt_tests") {
script = "//third_party/blink/tools/run_wpt_tests.py"
- args = [
- "--product=chrome",
- "--no-show-results",
- "--zero-tests-executed-ok",
- ]
+ args = _common_web_test_options + [ "--product=chrome" ]
if (dcheck_always_on) {
args += [ "--timeout-multiplier=2" ]
} else {
args += [ "--timeout-multiplier=1" ]
}
- data = [
- "//third_party/blink/web_tests/platform/linux-chrome/",
- "//third_party/blink/web_tests/ChromeTestExpectations",
- ]
+ if (is_chrome_branded) {
+ args += [
+ "--driver-name",
+ "Google Chrome",
+ ]
+ }
data_deps = [
":blink_web_tests_expectations",
":blink_web_tests_support_data",
@@ -1231,12 +1263,10 @@ if (use_blink && !is_cronet_build) {
}
script_test("headless_shell_wpt") {
script = "//third_party/blink/tools/run_wpt_tests.py"
- args = [
- "--product=headless_shell",
- "--no-wpt-internal",
- "--no-show-results",
- "--zero-tests-executed-ok",
- ]
+ args = _common_web_test_options + [
+ "--product=headless_shell",
+ "--no-wpt-internal",
+ ]
data_deps = [
":blink_web_tests_expectations",
":blink_web_tests_support_data",
@@ -1272,13 +1302,13 @@ if (use_blink && !is_cronet_build) {
"//services/shape_detection/public/mojom:mojom_js_data_deps",
"//skia/public/mojom:mojom_js_data_deps",
"//testing/buildbot/filters:blink_web_tests_filter",
+ "//third_party/angle:includes",
"//third_party/blink/public:blink_devtools_frontend_resources_files",
"//third_party/blink/public:blink_devtools_inspector_resources",
"//third_party/blink/public/mojom:mojom_platform_js_data_deps",
"//third_party/blink/renderer/core:gen_files_for_web_tests",
"//third_party/catapult/third_party/typ",
"//third_party/hyphenation-patterns:test_data",
- "//third_party/mesa_headers",
"//tools/imagediff",
"//ui/base:goldctl",
]
@@ -1380,26 +1410,19 @@ if (use_blink && !is_cronet_build) {
"@WrappedPath(" +
rebase_path("//build/fuchsia/test/run_test.py", root_build_dir) + ")",
"blink",
- "--out-dir",
- "@WrappedPath(.)",
+ "--platform",
+ "fuchsia",
+ "--jobs",
+ "1",
]
} else {
- base_out_dir = rebase_path(get_path_info(root_build_dir, "dir"), ".")
- out_dir = get_path_info(root_build_dir, "name")
- _common_web_test_args = [
- "@WrappedPath(" +
- rebase_path("//third_party/blink/tools/run_web_tests.py",
- root_build_dir) + ")",
- "--build-directory",
- base_out_dir,
- "--target",
- out_dir,
- ]
+ _common_web_test_args = [ "@WrappedPath(" + rebase_path(
+ "//third_party/blink/tools/run_web_tests.py",
+ root_build_dir) + ")" ]
}
- if (is_debug) {
- _common_web_test_args += [ "--debug" ]
- } else {
- _common_web_test_args += [ "--release" ]
+ _common_web_test_args += _common_web_test_options
+
+ if (!is_debug) {
if (dcheck_always_on) {
_common_web_test_args += [ "--timeout-ms=12000" ]
} else if (v8_enable_debugging_features) {
@@ -1419,21 +1442,10 @@ if (use_blink && !is_cronet_build) {
]
}
- if (is_fuchsia) {
- _common_web_test_args += [
- "--platform",
- "fuchsia",
- "--jobs",
- "1",
- ]
- }
-
_common_web_test_args += [
"--seed",
"4",
"--debug-rwt-logging",
- "--no-show-results",
- "--zero-tests-executed-ok",
"--clobber-old-results",
]
@@ -1511,7 +1523,6 @@ if (use_blink && !is_cronet_build) {
"//third_party/blink/web_tests/rootscroller/",
"//third_party/blink/web_tests/screen_orientation/",
"//third_party/blink/web_tests/scrollbars/",
- "//third_party/blink/web_tests/scrollingcoordinator/",
"//third_party/blink/web_tests/security/",
"//third_party/blink/web_tests/handwriting/",
"//third_party/blink/web_tests/shadow-dom/",
@@ -1549,15 +1560,20 @@ if (use_blink && !is_cronet_build) {
"//third_party/blink/web_tests/virtual/",
# List all test expectations here
- "//third_party/blink/web_tests/ASANExpectations",
"//third_party/blink/web_tests/LeakExpectations",
- "//third_party/blink/web_tests/MSANExpectations",
"//third_party/blink/web_tests/NeverFixTests",
"//third_party/blink/web_tests/SlowTests",
"//third_party/blink/web_tests/StaleTestExpectations",
"//third_party/blink/web_tests/TestExpectations",
]
+ if (is_asan) {
+ data += [ "//third_party/blink/web_tests/ASANExpectations" ]
+ }
+ if (is_msan) {
+ data += [ "//third_party/blink/web_tests/MSANExpectations" ]
+ }
+
if (is_win || is_linux || is_fuchsia) {
data += [
"//third_party/blink/web_tests/platform/win/",
@@ -1576,14 +1592,15 @@ if (use_blink && !is_cronet_build) {
} else if (is_mac) {
data += [
"//third_party/blink/web_tests/platform/mac/",
- "//third_party/blink/web_tests/platform/mac-mac10.15/",
"//third_party/blink/web_tests/platform/mac-mac11/",
"//third_party/blink/web_tests/platform/mac-mac11-arm64/",
"//third_party/blink/web_tests/platform/mac-mac12/",
"//third_party/blink/web_tests/platform/mac-mac12-arm64/",
"//third_party/blink/web_tests/platform/mac-mac13/",
"//third_party/blink/web_tests/platform/mac-mac13-arm64/",
+ "//third_party/blink/web_tests/platform/mac-mac14/",
"//third_party/blink/web_tests/platform/mac-mac14-arm64/",
+ "//third_party/blink/web_tests/platform/mac-mac15-arm64/",
]
}
@@ -1603,7 +1620,17 @@ if (use_blink && !is_cronet_build) {
args = _common_web_test_args
# Use --wpt-only to skip tests under web_tests/virtual/
- args += [ "--wpt-only" ]
+ args += [
+ "--wpt-only",
+ "--inverted-test-launcher-filter-file",
+ "@WrappedPath(" +
+ rebase_path("//third_party/blink/web_tests/TestLists/chrome.filter",
+ root_out_dir) + ")",
+ "--inverted-test-launcher-filter-file",
+ "@WrappedPath(" + rebase_path(
+ "//third_party/blink/web_tests/TestLists/headless_shell.filter",
+ root_out_dir) + ")",
+ ]
data_deps = [
":blink_web_tests_expectations",
diff --git a/src/build/install-build-deps.py b/src/build/install-build-deps.py
index 4b98ba4a..b730302a 100755
--- a/src/build/install-build-deps.py
+++ b/src/build/install-build-deps.py
@@ -239,6 +239,7 @@ def dev_list():
"libssl-dev",
"libsystemd-dev",
"libudev-dev",
+ "libudev1",
"libva-dev",
"libwww-perl",
"libxshmfence-dev",
@@ -283,11 +284,6 @@ def dev_list():
else:
packages.append("libjpeg62-dev")
- if package_exists("libudev1"):
- packages.append("libudev1")
- else:
- packages.append("libudev0")
-
if package_exists("libbrlapi0.8"):
packages.append("libbrlapi0.8")
elif package_exists("libbrlapi0.7"):
@@ -407,8 +403,7 @@ def lib_list():
elif package_exists("libffi6"):
packages.append("libffi6")
- # Workaround for dependency On Ubuntu 24.04 LTS (noble)
- if distro_codename() == "noble":
+ if package_exists("libpng16-16t64"):
packages.append("libpng16-16t64")
elif package_exists("libpng16-16"):
packages.append("libpng16-16")
@@ -431,12 +426,14 @@ def lib_list():
if package_exists("libinput10"):
packages.append("libinput10")
- # Work around for dependency On Ubuntu 24.04 LTS (noble)
- if distro_codename() == "noble":
+ if package_exists("libncurses6"):
packages.append("libncurses6")
- packages.append("libasound2t64")
else:
packages.append("libncurses5")
+
+ if package_exists("libasound2t64"):
+ packages.append("libasound2t64")
+ else:
packages.append("libasound2")
return packages
@@ -493,8 +490,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)
- if distro_codename() == "noble":
+ if package_exists("libncurses6:i386"):
packages.append("libncurses6:i386")
else:
packages.append("libncurses5:i386")
@@ -658,8 +654,6 @@ def nacl_list(options):
print("Skipping NaCl, NaCl toolchain, NaCl ports dependencies.",
file=sys.stderr)
return []
- print("Including NaCl, NaCl toolchain, NaCl ports dependencies.",
- file=sys.stderr)
packages = [
"g++-mingw-w64-i686",
@@ -670,12 +664,14 @@ def nacl_list(options):
"libfontconfig1:i386",
"libglib2.0-0:i386",
"libgpm2:i386",
+ "libncurses5:i386",
"libnss3:i386",
"libpango-1.0-0:i386",
"libssl-dev:i386",
"libtinfo-dev",
"libtinfo-dev:i386",
"libtool",
+ "libudev1:i386",
"libuuid1:i386",
"libxcomposite1:i386",
"libxcursor1:i386",
@@ -693,35 +689,28 @@ def nacl_list(options):
"cmake",
"gawk",
"intltool",
+ "libtinfo5",
"xutils-dev",
"xsltproc",
]
- # Some package names have changed over time
- if package_exists("libssl-dev"):
- packages.append("libssl-dev:i386")
- elif package_exists("libssl1.1"):
- packages.append("libssl1.1:i386")
- elif package_exists("libssl1.0.2"):
- packages.append("libssl1.0.2:i386")
- else:
- packages.append("libssl1.0.0:i386")
+ for package in packages:
+ if not package_exists(package):
+ print("Skipping NaCl, NaCl toolchain, NaCl ports dependencies because %s "
+ "is not available" % package,
+ file=sys.stderr)
+ return []
- if package_exists("libtinfo5"):
- packages.append("libtinfo5")
+ print("Including NaCl, NaCl toolchain, NaCl ports dependencies.",
+ file=sys.stderr)
- if package_exists("libudev1"):
- packages.append("libudev1:i386")
- else:
- packages.append("libudev0:i386")
-
- # Work around for nacl dependency On Ubuntu 24.04 LTS (noble)
- if distro_codename() == "noble":
- packages.append("libncurses6:i386")
- packages.append("lib32ncurses-dev")
- else:
- packages.append("libncurses5:i386")
+ # Prefer lib32ncurses5-dev to match libncurses5:i386 if it exists.
+ # In some Ubuntu releases, lib32ncurses5-dev is a transition package to
+ # lib32ncurses-dev, so use that as a fallback.
+ if package_exists("lib32ncurses5-dev"):
packages.append("lib32ncurses5-dev")
+ else:
+ packages.append("lib32ncurses-dev")
return packages
@@ -876,7 +865,6 @@ def install_packages(options):
# An apt-get exit status of 100 indicates that a real error has occurred.
print("`apt-get --just-print install ...` failed", file=sys.stderr)
print("It produced the following output:", file=sys.stderr)
- print(e.output.decode(), file=sys.stderr)
print(file=sys.stderr)
print("You will have to install the above packages yourself.",
file=sys.stderr)
diff --git a/src/chrome/browser/shell_integration_linux.cc b/src/chrome/browser/shell_integration_linux.cc
index 3a9bc008..5256e32a 100644
--- a/src/chrome/browser/shell_integration_linux.cc
+++ b/src/chrome/browser/shell_integration_linux.cc
@@ -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 "chrome/browser/shell_integration_linux.h"
#include
@@ -754,7 +759,7 @@ std::string GetDesktopFileContentsForUrlShortcut(
g_key_file_free(key_file);
return output_buffer;
#else
- NOTREACHED_NORETURN();
+ NOTREACHED();
return std::string();
#endif
}
diff --git a/src/chrome/browser/ui/webui/about/about_ui.cc b/src/chrome/browser/ui/webui/about/about_ui.cc
index ef2618e4..cde3f992 100644
--- a/src/chrome/browser/ui/webui/about/about_ui.cc
+++ b/src/chrome/browser/ui/webui/about/about_ui.cc
@@ -617,6 +617,36 @@ std::string AboutLinuxProxyConfig() {
} // namespace
+AboutUIConfigBase::AboutUIConfigBase(std::string_view host)
+ : DefaultWebUIConfig(content::kChromeUIScheme, host) {}
+
+ChromeURLsUIConfig::ChromeURLsUIConfig()
+ : AboutUIConfigBase(chrome::kChromeUIChromeURLsHost) {}
+
+CreditsUIConfig::CreditsUIConfig()
+ : AboutUIConfigBase(chrome::kChromeUICreditsHost) {}
+
+#if !BUILDFLAG(IS_ANDROID)
+TermsUIConfig::TermsUIConfig()
+ : AboutUIConfigBase(chrome::kChromeUITermsHost) {}
+#endif
+
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
+LinuxProxyConfigUI::LinuxProxyConfigUI()
+ : AboutUIConfigBase(chrome::kChromeUILinuxProxyConfigHost) {}
+#endif
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+OSCreditsUI::OSCreditsUI()
+ : AboutUIConfigBase(chrome::kChromeUIOSCreditsHost) {}
+
+BorealisCreditsUI::BorealisCreditsUI()
+ : AboutUIConfigBase(chrome::kChromeUIBorealisCreditsHost) {}
+
+CrostiniCreditsUI::CrostiniCreditsUI()
+ : AboutUIConfigBase(chrome::kChromeUICrostiniCreditsHost) {}
+#endif
+
// AboutUIHTMLSource ----------------------------------------------------------
AboutUIHTMLSource::AboutUIHTMLSource(const std::string& source_name,
@@ -734,7 +764,7 @@ std::string AboutUIHTMLSource::GetAccessControlAllowOriginForOrigin(
return content::URLDataSource::GetAccessControlAllowOriginForOrigin(origin);
}
-AboutUI::AboutUI(content::WebUI* web_ui, const std::string& host)
+AboutUI::AboutUI(content::WebUI* web_ui, const GURL& url)
: WebUIController(web_ui) {
Profile* profile = Profile::FromWebUI(web_ui);
@@ -744,7 +774,7 @@ AboutUI::AboutUI(content::WebUI* web_ui, const std::string& host)
#endif
content::URLDataSource::Add(
- profile, std::make_unique(host, profile));
+ profile, std::make_unique(url.host(), profile));
}
#if BUILDFLAG(IS_CHROMEOS)
diff --git a/src/chrome/common/channel_info_posix.cc b/src/chrome/common/channel_info_posix.cc
index 61ce4a89..63c0b74c 100644
--- a/src/chrome/common/channel_info_posix.cc
+++ b/src/chrome/common/channel_info_posix.cc
@@ -86,6 +86,8 @@ std::string GetChannelSuffixForDataDir() {
return "-beta";
case version_info::Channel::DEV:
return "-unstable";
+ case version_info::Channel::CANARY:
+ return "-canary";
default:
// Stable, extended stable, and unknown (e.g. in unbranded builds) don't
// get a suffix.
@@ -133,6 +135,8 @@ std::string GetDesktopName(base::Environment* env) {
return "google-chrome.desktop";
version_info::Channel product_channel(GetChannel());
switch (product_channel) {
+ case version_info::Channel::CANARY:
+ return "google-chrome-canary.desktop";
case version_info::Channel::DEV:
return "google-chrome-unstable.desktop";
case version_info::Channel::BETA:
diff --git a/src/chrome/installer/mini_installer/BUILD.gn b/src/chrome/installer/mini_installer/BUILD.gn
index 52a1b2ad..cc82bde2 100644
--- a/src/chrome/installer/mini_installer/BUILD.gn
+++ b/src/chrome/installer/mini_installer/BUILD.gn
@@ -180,7 +180,7 @@ action("mini_installer_archive") {
# Optional arguments to generate diff installer.
#'--last_chrome_installer=C:/src/chromium/src/out/thorium',
#'--setup_exe_format=DIFF',
- #'--diff_algorithm=COURGETTE',
+ #'--diff_algorithm=ZUCCHINI',
# Optional argument for verbose archiving output.
"--verbose",
@@ -194,7 +194,6 @@ action("mini_installer_archive") {
"//chrome/browser/extensions/default_extensions",
"//chrome/common/win:eventlog_provider",
"//chrome/installer/setup",
- "//mojo/core:shared_library",
"//third_party/icu:icudata",
]
diff --git a/src/chrome/installer/util/util_constants.cc b/src/chrome/installer/util/util_constants.cc
index f2aec2b7..251d8688 100644
--- a/src/chrome/installer/util/util_constants.cc
+++ b/src/chrome/installer/util/util_constants.cc
@@ -76,9 +76,6 @@ const char kForceConfigureUserSettings[] = "force-configure-user-settings";
// confirmation from user.
const char kForceUninstall[] = "force-uninstall";
-// See description for kPatch.
-const char kInputFile[] = "input-file";
-
// Specify the path to the compressed Chrome archive for install. If not
// specified, chrome.packed.7z or chrome.7z in the same directory as setup.exe
// is used (the packed file is preferred; see kUncompressedArchive to force use
@@ -119,14 +116,6 @@ const char kNonce[] = "nonce";
// Notify the installer that the OS has been upgraded.
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=zucchini --input_file='input' --patch_file='patch'
-// --output_file='output'
-const char kOutputFile[] = "output-file";
-const char kPatch[] = "patch";
-const char kPatchFile[] = "patch-file";
-
// Provide the previous version that patch is for.
const char kPreviousVersion[] = "previous-version";
diff --git a/src/components/flags_ui/flags_state.cc b/src/components/flags_ui/flags_state.cc
index d0690940..b83cc974 100644
--- a/src/components/flags_ui/flags_state.cc
+++ b/src/components/flags_ui/flags_state.cc
@@ -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 "components/flags_ui/flags_state.h"
#include
diff --git a/src/content/browser/launch_as_mojo_client_browsertest.cc b/src/content/browser/launch_as_mojo_client_browsertest.cc
index 1b8c5d98..b4996a63 100644
--- a/src/content/browser/launch_as_mojo_client_browsertest.cc
+++ b/src/content/browser/launch_as_mojo_client_browsertest.cc
@@ -41,7 +41,6 @@ namespace {
const char kShellExecutableName[] = "thorium_shell.exe";
#else
const char kShellExecutableName[] = "thorium_shell";
-const char kMojoCoreLibraryName[] = "libmojo_core.so";
#endif
base::FilePath GetCurrentDirectory() {
@@ -82,6 +81,7 @@ class LaunchAsMojoClientBrowserTest : public ContentBrowserTest {
gl::kGLImplementationANGLEName);
command_line.AppendSwitchASCII(switches::kUseANGLE,
gl::kANGLEImplementationSwiftShaderName);
+ command_line.AppendSwitch(switches::kEnableUnsafeSwiftShader);
#endif
#if defined(MEMORY_SANITIZER)
@@ -136,12 +136,6 @@ class LaunchAsMojoClientBrowserTest : public ContentBrowserTest {
return controller;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- base::FilePath GetMojoCoreLibraryPath() {
- return GetFilePathNextToCurrentExecutable(kMojoCoreLibraryName);
- }
-#endif
-
private:
base::FilePath GetFilePathNextToCurrentExecutable(
const std::string& filename) {
@@ -195,43 +189,5 @@ IN_PROC_BROWSER_TEST_F(LaunchAsMojoClientBrowserTest, LaunchAndBindInterface) {
}
#endif // !BUILDFLAG(IS_CHROMEOS_LACROS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-// TODO(crbug.com/40057593): This test implementation fundamentally conflicts
-// with a fix for the linked bug because it causes a browser process to behave
-// partially as a broker and partially as a non-broker. This can be re-enabled
-// when we migrate away from the current Mojo implementation. It's OK to disable
-// for now because no production code relies on this feature.
-IN_PROC_BROWSER_TEST_F(LaunchAsMojoClientBrowserTest,
- DISABLED_WithMojoCoreLibrary) {
- // Instructs a newly launched Content Shell browser to initialize Mojo Core
- // dynamically from a shared library, rather than using the version linked
- // into the Content Shell binary.
- //
- // This exercises end-to-end JS in order to cover real IPC behavior between
- // the browser and a renderer.
-
- base::CommandLine command_line = MakeShellCommandLine();
- command_line.AppendSwitchPath(switches::kMojoCoreLibraryPath,
- GetMojoCoreLibraryPath());
- mojo::Remote shell_controller =
- LaunchContentShell(command_line);
-
- // Indisputable proof that we're evaluating JavaScript.
- const std::string kExpressionToEvaluate = "'ba'+ +'a'+'as'";
- const base::Value kExpectedValue("baNaNas");
-
- base::RunLoop loop;
- shell_controller->ExecuteJavaScript(
- base::ASCIIToUTF16(kExpressionToEvaluate),
- base::BindLambdaForTesting([&](base::Value value) {
- EXPECT_EQ(kExpectedValue, value);
- loop.Quit();
- }));
- loop.Run();
-
- shell_controller->ShutDown();
-}
-#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-
} // namespace
} // namespace content
diff --git a/src/content/shell/BUILD.gn b/src/content/shell/BUILD.gn
index 6a58500d..60f78f58 100644
--- a/src/content/shell/BUILD.gn
+++ b/src/content/shell/BUILD.gn
@@ -33,8 +33,8 @@ if (is_android) {
import("//third_party/fuchsia-gn-sdk/src/component.gni")
import("//third_party/fuchsia-gn-sdk/src/package.gni")
} else if (is_ios) {
+ import("//build/config/apple/swift_source_set.gni")
import("//build/config/ios/config.gni")
- import("//build/config/ios/swift_source_set.gni")
import("//content/shell/app/ios/extensions.gni")
}
@@ -185,8 +185,6 @@ static_library("content_shell_lib") {
"browser/shell_devtools_manager_delegate.h",
"browser/shell_download_manager_delegate.cc",
"browser/shell_download_manager_delegate.h",
- "browser/shell_federated_permission_context.cc",
- "browser/shell_federated_permission_context.h",
"browser/shell_javascript_dialog.h",
"browser/shell_javascript_dialog_manager.cc",
"browser/shell_javascript_dialog_manager.h",
@@ -669,6 +667,7 @@ if (is_android) {
":network_process_bundle",
]
bundle_deps = [
+ ":content_shell_framework+bundle",
":content_shell_framework_resources",
"app/ios/resources",
]
@@ -1048,6 +1047,7 @@ mojom("content_browsertests_mojom") {
"common/render_frame_test_helper.mojom",
]
public_deps = [
+ "//mojo/public/mojom/base",
"//sandbox/policy/mojom",
"//third_party/blink/public/mojom/tokens",
]
@@ -1058,7 +1058,7 @@ group("content_shell_crash_test") {
data_deps = [
":thorium_shell",
"//testing:test_scripts_shared",
- "//third_party/mesa_headers",
+ "//third_party/angle:includes",
]
data = [
"//content/shell/tools/breakpad_integration_test.py",
diff --git a/src/content/shell/browser/shell_platform_delegate_views.cc b/src/content/shell/browser/shell_platform_delegate_views.cc
index ddc91b8b..5ad18732 100644
--- a/src/content/shell/browser/shell_platform_delegate_views.cc
+++ b/src/content/shell/browser/shell_platform_delegate_views.cc
@@ -215,6 +215,7 @@ class ShellView : public views::BoxLayoutView,
.SetProperty(
views::kFlexBehaviorKey,
views::FlexSpecification(
+ views::LayoutOrientation::kHorizontal,
views::MinimumFlexSizeRule::kScaleToMinimum,
views::MaximumFlexSizeRule::kUnbounded))
// Left padding = 2, Right padding = 2
diff --git a/src/content/test/BUILD.gn b/src/content/test/BUILD.gn
index 652622ff..7526095d 100644
--- a/src/content/test/BUILD.gn
+++ b/src/content/test/BUILD.gn
@@ -13,10 +13,12 @@ import("//components/viz/common/debugger/viz_debugger.gni")
import("//content/common/features.gni")
import("//device/vr/buildflags/buildflags.gni")
import("//media/media_options.gni")
+import("//mojo/features.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//net/features.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//printing/buildflags/buildflags.gni")
+import("//services/device/public/cpp/compute_pressure/buildflags.gni")
import("//services/screen_ai/buildflags/features.gni")
import("//testing/test.gni")
import("//third_party/blink/public/public_features.gni")
@@ -519,6 +521,7 @@ static_library("test_support") {
"//ipc",
"//media/mojo/clients",
"//media/mojo/mojom",
+ "//mojo/public/cpp/test_support:test_utils",
"//services/media_session/public/cpp/test:test_support",
"//services/media_session/public/mojom",
"//third_party/abseil-cpp:absl",
@@ -577,7 +580,6 @@ static_library("test_support") {
"//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",
"//net:simple_quic_tools",
"//net:test_support",
@@ -732,6 +734,8 @@ static_library("test_support") {
"../browser/renderer_host/test_render_widget_host_view_mac_factory.h",
"../browser/renderer_host/test_render_widget_host_view_mac_factory.mm",
"../public/test/browser_test_utils_mac.mm",
+ "../public/test/system_media_controls_bridge_test_utils.cc",
+ "../public/test/system_media_controls_bridge_test_utils.h",
"../public/test/text_input_test_utils_mac.mm",
]
deps += [
@@ -1159,6 +1163,27 @@ if (is_chromeos_ash) {
}
}
+# Test cross target mojo typemapping.
+mojom("web_ui_ts_test_other_mojo_bindings") {
+ testonly = true
+ sources = [ "data/web_ui_ts_test_other_types.test-mojom" ]
+ webui_module_path = "/content/test/data"
+
+ ts_typemaps = [
+ {
+ types = [
+ {
+ mojom = "content.mojom.MappedDict"
+ ts = "MappedDictType"
+ ts_import = "./web_ui_mojo_ts_test_other_mapped_types.js"
+ converter = "MappedDictConverter"
+ import = "web_ui_mojo_ts_test_converters.js"
+ },
+ ]
+ },
+ ]
+}
+
mojom("web_ui_ts_test_mojo_bindings") {
testonly = true
sources = [
@@ -1167,6 +1192,35 @@ mojom("web_ui_ts_test_mojo_bindings") {
]
public_deps = [ "//url/mojom:url_mojom_gurl" ]
webui_module_path = "/content/test/data"
+
+ deps = [ ":web_ui_ts_test_other_mojo_bindings" ]
+
+ ts_typemaps = [
+ {
+ types = [
+ {
+ mojom = "content.mojom.SimpleMappedType"
+ ts = "string"
+ converter = "SimpleTypeConverter"
+ import = "web_ui_mojo_ts_test_converters.js"
+ },
+ {
+ mojom = "content.mojom.NestedMappedType"
+ ts = "TestNode"
+ ts_import = "./web_ui_mojo_ts_test_mapped_types.js"
+ converter = "NestedTypeConverter"
+ import = "web_ui_mojo_ts_test_converters.js"
+ },
+ {
+ mojom = "content.mojom.StringDict"
+ ts = "StringDictType"
+ ts_import = "./web_ui_mojo_ts_test_mapped_types.js"
+ converter = "StringDictConverter"
+ import = "web_ui_mojo_ts_test_converters.js"
+ },
+ ]
+ },
+ ]
}
preprocess_if_expr("preprocess_mojo_webui_test") {
@@ -1174,6 +1228,9 @@ preprocess_if_expr("preprocess_mojo_webui_test") {
out_folder = "$target_gen_dir/data"
in_files = [
"web_ui_mojo_ts_test.ts",
+ "web_ui_mojo_ts_test_converters.ts",
+ "web_ui_mojo_ts_test_mapped_types.ts",
+ "web_ui_mojo_ts_test_other_mapped_types.ts",
"web_ui_managed_interface_test.ts",
]
}
@@ -1183,7 +1240,13 @@ webui_ts_library("web_ui_mojo_test_build_ts") {
out_dir = "$target_gen_dir/data/tsc"
in_files = [
"web_ui_mojo_ts_test.ts",
+ "web_ui_mojo_ts_test_converters.ts",
+ "web_ui_mojo_ts_test_mapped_types.ts",
+ "web_ui_mojo_ts_test_other_mapped_types.ts",
+ "web_ui_ts_test.test-mojom-converters.ts",
"web_ui_ts_test.test-mojom-webui.ts",
+ "web_ui_ts_test_other_types.test-mojom-converters.ts",
+ "web_ui_ts_test_other_types.test-mojom-webui.ts",
"web_ui_ts_test_types.test-mojom-webui.ts",
"web_ui_managed_interface_test.ts",
"web_ui_managed_interface_test.test-mojom-webui.ts",
@@ -1193,6 +1256,7 @@ webui_ts_library("web_ui_mojo_test_build_ts") {
":preprocess_mojo_webui_test",
":web_ui_managed_interface_tests_bindings_ts__generator",
":web_ui_ts_test_mojo_bindings_ts__generator",
+ ":web_ui_ts_test_other_mojo_bindings_ts__generator",
]
}
@@ -1297,7 +1361,6 @@ if (is_android) {
"//content/public/android/javatests/src/org/chromium/content/browser/fakes/TestViewAndroidDelegate.java",
]
deps = [
- ":content_browsertests_manifest",
":content_browsertests_resources",
"//base:base_java",
"//base:base_java_test_support",
@@ -1421,14 +1484,20 @@ test("content_browsertests") {
"../browser/file_system/file_system_url_drag_drop_browsertest.cc",
"../browser/file_system/file_system_url_loader_factory_browsertest.cc",
"../browser/file_system/fileapi_browsertest.cc",
+ "../browser/file_system_access/file_system_access_clipboard_browsertest.cc",
+ "../browser/file_system_access/file_system_access_drag_drop_browsertest.cc",
+ "../browser/file_system_access/file_system_access_file_handle_impl_browsertest.cc",
"../browser/file_system_access/file_system_access_file_modification_host_impl_browsertest.cc",
+ "../browser/file_system_access/file_system_access_file_writer_impl_browsertest.cc",
"../browser/file_system_access/file_system_access_observer_browsertest.cc",
+ "../browser/file_system_access/file_system_chooser_browsertest.cc",
"../browser/find_request_manager_browsertest.cc",
"../browser/first_party_sets/first_party_sets_handler_impl_browsertest.cc",
"../browser/first_party_sets/test/first_party_sets_initialization_browsertest.cc",
"../browser/font_access/font_access_manager_browsertest.cc",
"../browser/font_unique_name_lookup/font_unique_name_browsertest.cc",
"../browser/form_controls_browsertest.cc",
+ "../browser/framebusting_browsertest.cc",
"../browser/generic_sensor/generic_sensor_browsertest.cc",
"../browser/gpu/gpu_ipc_browsertests.cc",
"../browser/gpu/in_process_gpu_thread_browsertests.cc",
@@ -1546,6 +1615,7 @@ test("content_browsertests") {
"../browser/renderer_host/input/wheel_event_listener_browsertest.cc",
"../browser/renderer_host/input/wheel_scroll_latching_browsertest.cc",
"../browser/renderer_host/isolated_web_app_throttle_browsertest.cc",
+ "../browser/renderer_host/jit_policy_browsertest.cc",
"../browser/renderer_host/media/video_capture_browsertest.cc",
"../browser/renderer_host/navigation_controller_history_intervention_browsertest.cc",
"../browser/renderer_host/navigation_controller_impl_browsertest.cc",
@@ -1766,6 +1836,7 @@ test("content_browsertests") {
"//content/browser/attribution_reporting:mojo_bindings",
"//content/browser/attribution_reporting:registration_result_mojom",
"//content/browser/background_sync:background_sync_proto",
+ "//content/browser/tracing/trace_report:mojo_bindings",
"//content/child:for_content_tests",
"//content/gpu",
"//content/public/browser",
@@ -1827,9 +1898,9 @@ test("content_browsertests") {
"//storage/browser:test_support",
"//testing/gmock",
"//testing/gtest",
+ "//third_party/angle:includes",
"//third_party/blink/public:blink",
"//third_party/leveldatabase",
- "//third_party/mesa_headers",
"//third_party/re2",
"//third_party/zlib",
"//third_party/zlib/google:compression_utils",
@@ -1838,6 +1909,7 @@ test("content_browsertests") {
"//ui/accessibility:test_support",
"//ui/base:test_support",
"//ui/base/clipboard",
+ "//ui/base/clipboard:clipboard_test_support",
"//ui/base/cursor",
"//ui/base/ime",
"//ui/base/ime/init",
@@ -1861,6 +1933,10 @@ test("content_browsertests") {
"//ui/webui:test_support",
]
+ if (!(is_chromeos_ash && target_cpu == "arm64" && current_cpu == "arm")) {
+ deps += [ "//components/variations" ]
+ }
+
data_deps = [
"//content/shell:pak",
"//third_party/mesa_headers",
@@ -2088,6 +2164,9 @@ test("content_browsertests") {
"${target_gen_dir}/content_browsertests_manifest/AndroidManifest.xml"
android_manifest_dep = ":content_browsertests_manifest"
use_default_launcher = false
+ if (!is_java_debug) {
+ proguard_enabled = true
+ }
if (enable_chrome_android_internal) {
data_deps += [ "//clank/build/bot/filters:content_browsertests_filters" ]
@@ -2095,15 +2174,9 @@ 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",
- "../browser/file_system_access/file_system_access_clipboard_browsertest.cc",
- "../browser/file_system_access/file_system_access_drag_drop_browsertest.cc",
- "../browser/file_system_access/file_system_access_file_handle_impl_browsertest.cc",
- "../browser/file_system_access/file_system_access_file_writer_impl_browsertest.cc",
- "../browser/file_system_access/file_system_chooser_browsertest.cc",
"../browser/font_preferences_browsertest.cc",
"../browser/renderer_host/clipboard_host_impl_browsertest.cc",
"../browser/serial/serial_browsertest.cc",
@@ -2117,9 +2190,13 @@ test("content_browsertests") {
"//components/soda:utils",
"//content/public/browser:proto",
"//media/mojo/mojom:web_speech_recognition",
- "//ui/base/clipboard:clipboard_test_support",
]
+ if (enable_compute_pressure) {
+ sources +=
+ [ "../browser/compute_pressure/pressure_service_browsertest.cc" ]
+ }
+
if (is_chromeos_ash) {
deps += [ "//ash/constants:constants" ]
}
@@ -2155,7 +2232,6 @@ test("content_browsertests") {
sources += [
"../app_shim_remote_cocoa/window_occlusion_browsertest_mac.mm",
"../browser/accessibility/ax_tree_formatter_mac_browsertest.mm",
- "../browser/accessibility/browser_accessibility_cocoa_browsertest.mm",
"../browser/accessibility/hit_testing_mac_browsertest.mm",
"../browser/gpu/browser_child_process_backgrounded_bridge_browsertest.mm",
"../browser/keyboard_lock_browsertest_mac.mm",
@@ -2203,7 +2279,8 @@ test("content_browsertests") {
deps += [ "//device/vr:vr_fakes" ]
}
- if ((is_win || is_chromeos || is_linux) && !is_tsan) {
+ if ((is_win || is_chromeos || is_linux) && !is_tsan &&
+ mojo_support_legacy_core) {
# NOTE: We don't bother to build these tests when TSan is enabled, because
# they can't properly launch a child content_shell in that environment.
sources += [ "../browser/launch_as_mojo_client_browsertest.cc" ]
@@ -2214,10 +2291,7 @@ test("content_browsertests") {
"//mojo/public/cpp/platform",
"//mojo/public/mojom/base",
]
- data_deps += [
- "//content/shell:thorium_shell",
- "//mojo/core:shared_library",
- ]
+ data_deps += [ "//content/shell:thorium_shell" ]
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
@@ -2517,6 +2591,7 @@ test("content_unittests") {
"../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/interest_group/trusted_signals_fetcher_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",
@@ -2558,7 +2633,6 @@ test("content_unittests") {
"../browser/network/socket_broker_impl_unittest.cc",
"../browser/network_context_client_base_impl_unittest.cc",
"../browser/network_service_instance_impl_unittest.cc",
- "../browser/notification_service_impl_unittest.cc",
"../browser/notifications/blink_notification_service_impl_unittest.cc",
"../browser/notifications/notification_database_conversions_unittest.cc",
"../browser/notifications/notification_database_unittest.cc",
@@ -2672,6 +2746,7 @@ test("content_unittests") {
"../browser/renderer_host/navigation_transitions/navigation_entry_screenshot_cache_unittest.cc",
"../browser/renderer_host/navigator_unittest.cc",
"../browser/renderer_host/overscroll_controller_unittest.cc",
+ "../browser/renderer_host/partitioned_popins/partitioned_popins_policy_unittest.cc",
"../browser/renderer_host/policy_container_host_unittest.cc",
"../browser/renderer_host/private_network_access_util_unittest.cc",
"../browser/renderer_host/recently_destroyed_hosts_unittest.cc",
@@ -2862,7 +2937,6 @@ test("content_unittests") {
if (is_mac) {
sources += [
- "../browser/accessibility/browser_accessibility_mac_unittest.mm",
"../browser/child_process_task_port_provider_mac_unittest.cc",
"../browser/cocoa/system_hotkey_map_unittest.mm",
"../browser/media/capture/screen_capture_kit_fullscreen_module_unittest.mm",
@@ -2886,20 +2960,8 @@ test("content_unittests") {
]
}
- if (use_atk) {
- sources += [
- "../browser/accessibility/browser_accessibility_auralinux_unittest.cc",
- "../browser/accessibility/browser_accessibility_manager_auralinux_unittest.cc",
- ]
- configs += [ "//build/config/linux/atk" ]
- }
-
if (is_fuchsia) {
- sources += [
- "../browser/accessibility/browser_accessibility_fuchsia_unittest.cc",
- "../browser/accessibility/browser_accessibility_manager_fuchsia_unittest.cc",
- "../browser/renderer_host/media/fuchsia_media_codec_provider_impl_unittest.cc",
- ]
+ sources += [ "../browser/renderer_host/media/fuchsia_media_codec_provider_impl_unittest.cc" ]
additional_manifest_fragments = [
"//build/config/fuchsia/test/fonts.shard.test-cml",
@@ -2929,10 +2991,12 @@ test("content_unittests") {
]
}
- if (!is_android) {
+ if (enable_compute_pressure) {
sources += [
"../browser/compute_pressure/pressure_service_for_frame_unittest.cc",
"../browser/compute_pressure/pressure_service_for_worker_unittest.cc",
+ "../browser/webid/digital_credentials/cross_device_request_dispatcher_unittest.cc",
+ "../browser/webid/digital_credentials/cross_device_transaction_impl_unittest.cc",
]
}
@@ -2954,6 +3018,10 @@ test("content_unittests") {
[ "../browser/media/web_app_system_media_controls_manager_unittest.cc" ]
}
+ if (is_win || is_mac || is_linux || is_chromeos) {
+ sources += [ "../browser/file_system_access/file_system_access_observer_observation_unittest.cc" ]
+ }
+
if (is_android || is_linux || is_chromeos || is_mac || is_win || is_fuchsia) {
data = [
"$root_out_dir/content_shell.pak",
@@ -2986,6 +3054,7 @@ test("content_unittests") {
"//base/allocator:buildflags",
"//base/test:proto_test_support",
"//base/test:test_support",
+ "//build:android_buildflags",
"//build:buildflag_header_h",
"//build:chromecast_buildflags",
"//build:chromeos_buildflags",
@@ -3044,6 +3113,7 @@ test("content_unittests") {
"//content/public/renderer",
"//content/renderer:for_content_tests",
"//content/services/auction_worklet:tests",
+ "//content/services/auction_worklet/public/cpp:test_support",
"//content/services/auction_worklet/public/mojom:for_content_tests",
"//crypto",
"//device/bluetooth",
@@ -3256,8 +3326,6 @@ test("content_unittests") {
}
if (is_win) {
sources += [
- "../browser/accessibility/browser_accessibility_manager_win_unittest.cc",
- "../browser/accessibility/browser_accessibility_win_unittest.cc",
"../browser/device_posture/device_posture_registry_watcher_win_unittest.cc",
"../browser/renderer_host/direct_manipulation_test_helper_win.cc",
"../browser/renderer_host/direct_manipulation_test_helper_win.h",
@@ -3277,6 +3345,7 @@ test("content_unittests") {
"//third_party/blink/public/common",
"//third_party/blink/public/common:font_unique_name_table_proto",
"//third_party/iaccessible2",
+ "//third_party/microsoft_webauthn",
"//ui/base",
]
libs = [
@@ -3327,7 +3396,8 @@ test("content_unittests") {
"../browser/android/message_payload_unittest.cc",
"../browser/android/overscroll_controller_android_unittest.cc",
"../browser/android/scoped_surface_request_manager_unittest.cc",
- "../browser/font_unique_name_lookup/font_unique_name_lookup_unittest.cc",
+ "../browser/font_unique_name_lookup/font_unique_name_lookup_android_unittest.cc",
+ "../browser/media/key_system_support_android_unittest.cc",
"../browser/renderer_host/render_widget_host_view_android_unittest.cc",
"../browser/sms/sms_provider_gms_unittest.cc",
"../renderer/java/gin_java_bridge_value_converter_unittest.cc",
@@ -3369,6 +3439,8 @@ test("content_unittests") {
]
deps += [
"//components/speech:speech",
+ "//device/fido:cablev2_authenticator",
+ "//device/fido:cablev2_test_util",
"//media/mojo/mojom:web_speech_recognition",
]
@@ -3516,7 +3588,10 @@ if (is_apple) {
if (enable_nocompile_tests) {
nocompile_source_set("content_nocompile_tests") {
- sources = [ "../browser/browser_task_traits_nocompile.nc" ]
+ sources = [
+ "../browser/browser_task_traits_nocompile.nc",
+ "../browser/browser_thread_nocompile.nc",
+ ]
deps = [ "//content/public/browser" ]
}
@@ -3573,11 +3648,13 @@ group("gpu_pytype") {
testonly = true
data = [
+ "//content/test/gpu/find_bad_machines.py",
"//content/test/gpu/get_machine_times.py",
"//content/test/gpu/run_pytype.py",
"//content/test/gpu/unexpected_pass_finder.py",
"//content/test/gpu/validate_tag_consistency.py",
+ "//content/test/gpu/bad_machine_finder/",
"//content/test/gpu/gold_inexact_matching/",
"//content/test/gpu/flake_suppressor/",
"//content/test/gpu/machine_times/",
diff --git a/src/tools/v8_context_snapshot/BUILD.gn b/src/tools/v8_context_snapshot/BUILD.gn
index 72260e4c..86e133ce 100644
--- a/src/tools/v8_context_snapshot/BUILD.gn
+++ b/src/tools/v8_context_snapshot/BUILD.gn
@@ -52,7 +52,11 @@ if (use_v8_context_snapshot) {
"--output_file=$output_path",
]
- deps = [ ":v8_context_snapshot_generator" ]
+ sources = [ "$root_out_dir/snapshot_blob.bin" ]
+ deps = [
+ ":v8_context_snapshot_generator",
+ "//v8:run_mksnapshot_default",
+ ]
# TODO(sky): figure out why this doesn't work on android cross compile.
# In the case of compiling for the snapshot `shlib_extension` is ".so"