diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 056d21bdf94da..b1e13994632f1 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -221,3 +221,4 @@ ozone_nexus_transfer_keyboard_focus_to_next_window_on_destroy.patch ozone_nexus_assign_virtualkeyboard_role_to_overlay_windows_os-20973.patch brightsign_fix_semi-transparent_window_opacity_not_rendering_on.patch brightsign_fix_black_transparent_hole_being_shown_before_video.patch +brightsign_missing_check_for_isstartingstylerule_in_allowfrom.patch diff --git a/patches/chromium/brightsign_missing_check_for_isstartingstylerule_in_allowfrom.patch b/patches/chromium/brightsign_missing_check_for_isstartingstylerule_in_allowfrom.patch new file mode 100644 index 0000000000000..bb8a057b15d9b --- /dev/null +++ b/patches/chromium/brightsign_missing_check_for_isstartingstylerule_in_allowfrom.patch @@ -0,0 +1,59 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tariq Bashir +Date: Thu, 25 Jun 2026 16:44:07 +0100 +Subject: Brightsign: Missing check for IsStartingStyleRule() in AllowFrom + +Caused a CHECK failure when trying to cast from StyleRuleStartingStyle +to StyleRuleGroup. Also, removed unused condition rule leftovers from +StyleRuleStartingStyle. + +Cherry picked from: +https://chromium-review.googlesource.com/c/chromium/src/+/5097743 + +diff --git a/third_party/blink/renderer/core/css/style_rule.cc b/third_party/blink/renderer/core/css/style_rule.cc +index 1912267e3a912ebae92e29743f7cd541dd944c32..9db2612f08a6489a7abdfdc786bbe5d0ad939611 100644 +--- a/third_party/blink/renderer/core/css/style_rule.cc ++++ b/third_party/blink/renderer/core/css/style_rule.cc +@@ -812,6 +812,6 @@ void StyleRuleContainer::TraceAfterDispatch(blink::Visitor* visitor) const { + + StyleRuleStartingStyle::StyleRuleStartingStyle( + HeapVector> rules) +- : StyleRuleCondition(kStartingStyle, "", std::move(rules)) {} ++ : StyleRuleGroup(kStartingStyle, std::move(rules)) {} + + } // namespace blink +diff --git a/third_party/blink/renderer/core/css/style_rule.h b/third_party/blink/renderer/core/css/style_rule.h +index 19cee7b2e03f7fced4668a0792b9d5c0e7a54e59..6a3c9ef9e3f632a17d9b6f50f8e60d23930c93c1 100644 +--- a/third_party/blink/renderer/core/css/style_rule.h ++++ b/third_party/blink/renderer/core/css/style_rule.h +@@ -550,18 +550,17 @@ class CORE_EXPORT StyleRuleContainer : public StyleRuleCondition { + Member container_query_; + }; + +-class StyleRuleStartingStyle : public StyleRuleCondition { ++class StyleRuleStartingStyle : public StyleRuleGroup { + public: + explicit StyleRuleStartingStyle(HeapVector> rules); + StyleRuleStartingStyle(const StyleRuleStartingStyle&) = default; + +- bool ConditionIsSupported() const { return true; } + StyleRuleStartingStyle* Copy() const { + return MakeGarbageCollected(*this); + } + + void TraceAfterDispatch(blink::Visitor* visitor) const { +- StyleRuleCondition::TraceAfterDispatch(visitor); ++ StyleRuleGroup::TraceAfterDispatch(visitor); + } + }; + +@@ -614,7 +613,8 @@ struct DowncastTraits { + static bool AllowFrom(const StyleRuleBase& rule) { + return rule.IsMediaRule() || rule.IsSupportsRule() || + rule.IsContainerRule() || rule.IsLayerBlockRule() || +- rule.IsScopeRule() || rule.IsPositionFallbackRule(); ++ rule.IsScopeRule() || rule.IsPositionFallbackRule() || ++ rule.IsStartingStyleRule(); + } + }; +