Files
brave-core/app/BUILD.gn
T
Max Karolinskiy b4472976e9 Enables by default upstream's kDesktopMediaPickerMultiLineTitle and kDisplayMediaRejectLongDomains features. (#33007)
Enables by default upstream features that address a security exploit.

These features are disabled by default upstream, but turned on via
field trials. We need to have them enabled as well.

Chromium issue:
https://issues.chromium.org/issues/420734141

Chromium changes:
1. https://chromium-review.googlesource.com/c/chromium/src/+/6905222

commit 74e314f5f71cc35cc723bbfe940c09d2559a764a
Author: Tove Petersson <tovep@chromium.org>
Date:   Tue Sep 2 06:02:50 2025 -0700

    Reject getDisplayMedia calls from domains longer than 255 characters

    This change is gated by the DisplayMediaRejectLongDomains feature-flag.

    Bug: 420734141

2. https://chromium-review.googlesource.com/c/chromium/src/+/6845969

commit 21bf550775547eac9059dd49d54156432486cb21
Author: Tove Petersson <tovep@chromium.org>
Date:   Mon Sep 1 06:40:15 2025 -0700

    Allow line-breaks in long domain names in the screen-sharing dialog

    This change is gated by the DesktopMediaPickerMultiLineTitle feature-
    flag.

    Bug: 420734141

3. https://chromium-review.googlesource.com/c/chromium/src/+/6905684

commit ae6326fa28b6bb38a2c9da18f9ea88845a0356e3
Author: Tove Petersson <tovep@chromium.org>
Date:   Mon Sep 1 10:58:10 2025 -0700

    Add fieldtrial config for DesktopMediaPickerMultiLineTitle.

    Bug: 420734141
2026-01-05 14:50:47 -08:00

203 lines
6.4 KiB
Plaintext

# Copyright (c) 2022 The Brave Authors. All rights reserved.
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at https://mozilla.org/MPL/2.0/.
import("//brave/browser/shell_integrations/buildflags/buildflags.gni")
import("//brave/components/brave_vpn/common/buildflags/buildflags.gni")
import("//brave/components/containers/buildflags/buildflags.gni")
import("//brave/components/playlist/core/common/buildflags/buildflags.gni")
import("//brave/components/request_otr/common/buildflags/buildflags.gni")
import("//brave/components/speedreader/common/buildflags/buildflags.gni")
import("//brave/components/text_recognition/common/buildflags/buildflags.gni")
import("//brave/resources/brave_grit.gni")
import("//build/config/features.gni")
import("//build/config/locales.gni")
action("generate_command_metadata") {
command_files = [ "//brave/app/brave_command_ids.h" ]
cc_template = "command_utils.cc.template"
sources = command_files + [ cc_template ]
script = "generate_command_metadata.py"
output_cc = "$target_gen_dir/command_utils.cc"
outputs = [ output_cc ]
args = rebase_path(command_files) + [
"--output_cc",
rebase_path(output_cc),
"--template_cc",
rebase_path(cc_template),
]
}
source_set("command_ids") {
sources = [ "brave_command_ids.h" ]
deps = [
"//base",
"//brave/components/resources:strings",
"//chrome/app:command_ids",
"//chrome/app:generated_resources",
"//components/strings:components_strings",
"//services/screen_ai/buildflags",
"//third_party/re2",
"//ui/strings:ui_strings",
]
if (!is_android) {
sources +=
[ "command_utils.h" ] + get_target_outputs(":generate_command_metadata")
deps += [ ":generate_command_metadata" ]
}
}
brave_grit("brave_generated_resources_grit") {
defines = [
"enable_ai_chat=$enable_ai_chat",
"enable_brave_vpn=$enable_brave_vpn",
"enable_containers=$enable_containers",
"enable_pin_shortcut=$enable_pin_shortcut",
"enable_playlist_webui=$enable_playlist_webui",
"enable_request_otr=$enable_request_otr",
"enable_speedreader=$enable_speedreader",
"enable_text_recognition=$enable_text_recognition",
]
source = "brave_generated_resources.grd"
output_dir = "$root_gen_dir/brave"
outputs = [
"grit/brave_generated_resources.h",
"grit/brave_generated_resources_webui_strings.h",
"grit/brave_generated_resources_webui_strings.ts",
# This is needed for the includes and not the localized messages
"brave_generated_resources.pak",
]
foreach(locale, all_chrome_locales) {
outputs += [ "brave_generated_resources_$locale.pak" ]
}
}
source_set("browser_tests") {
testonly = true
if (!is_android && !is_ios) {
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [
"brave_main_delegate_browsertest.cc",
"command_utils_browsertest.cc",
]
deps = [
":command_ids",
"//base",
"//brave/components/commands/common",
"//chrome/app:command_ids",
"//chrome/browser",
"//chrome/browser/promos:utils",
"//chrome/browser/ui",
"//chrome/common:non_code_constants",
"//chrome/test",
"//chrome/test:test_support",
"//chrome/test:test_support_ui",
"//components/component_updater",
"//components/embedder_support",
"//services/network/public/cpp",
"//testing/gtest",
]
}
}
source_set("unit_tests") {
testonly = true
sources = [
"brave_main_delegate_unittest.cc",
"feature_defaults_unittest.cc",
]
if (!is_android) {
sources += [ "command_utils_unittest.cc" ]
}
deps = [
"//base",
"//base/test:test_support",
"//brave/components/variations:buildflags",
"//chrome/browser",
"//chrome/browser/devtools",
"//chrome/browser/media/webrtc",
"//chrome/browser/policy:policy_util",
"//chrome/browser/ui",
"//chrome/browser/ui:ui_features",
"//chrome/common/privacy_budget",
"//components/aggregation_service",
"//components/attribution_reporting",
"//components/autofill/core/common",
"//components/browsing_data/core",
"//components/commerce/core:feature_list",
"//components/compose/core/browser:features",
"//components/content_settings/core/common:features",
"//components/device_signals/core/common:features",
"//components/embedder_support",
"//components/enterprise/connectors/core",
"//components/feature_engagement/public:feature_constants",
"//components/heap_profiling/in_process",
"//components/history_clusters/core",
"//components/history_embeddings",
"//components/language/core/common",
"//components/legion",
"//components/lens",
"//components/manta",
"//components/metrics",
"//components/metrics/private_metrics:private_metrics_features",
"//components/metrics/structured:structured_metrics_features",
"//components/network_time",
"//components/omnibox/browser",
"//components/optimization_guide/core",
"//components/page_image_service",
"//components/page_info/core",
"//components/performance_manager",
"//components/permissions",
"//components/plus_addresses/core/common:features",
"//components/privacy_sandbox",
"//components/safe_browsing/core/common",
"//components/search",
"//components/segmentation_platform/public",
"//components/shared_highlighting/core/common",
"//components/signin/public/base:signin_buildflags",
"//components/subresource_filter/core/common",
"//components/sync/base:features",
"//components/user_education/common",
"//components/webapps/browser",
"//gpu/config",
"//services/device/public/cpp:device_features",
"//services/network/public/cpp",
"//testing/gtest",
"//ui/base",
]
if (is_android) {
deps += [
"//android_webview/common",
"//chrome/browser/flags:flags_android",
"//components/password_manager/core/common:features",
"//components/security_interstitials/core",
]
} else {
deps += [
":command_ids",
"//brave/components/commands/common",
"//chrome/app:command_ids",
"//chrome/browser/ui/toasts",
"//chrome/common:chrome_features",
"//components/translate/core/common",
"//extensions/common",
"//ui/accessibility:ax_base",
]
}
}
group("app") {
}