Skip to content

Commit

Permalink
fix: fix css lenght parse stack overflow with font: inherit property (#…
Browse files Browse the repository at this point in the history
…449)

2023-08-07 20:47:25.935739+0800 Runner[7889:8608870] flutter: Stack
Overflow
#0 _LinkedHashMapMixin.[]
(dart:collection-patch/compact_hash.dart:601:3)
#1 CSSStyleDeclaration.getPropertyValue
(package:webf/src/css/style_declaration.dart:150:30)
#2 CSSLength.parseLength
(package:webf/src/css/values/length.dart:590:68)
#3 CSSLength.parseLength
(package:webf/src/css/values/length.dart:590:16)
#4 CSSLength.parseLength
(package:webf/src/css/values/length.dart:590:16)
#5 CSSLength.parseLength
(package:webf/src/css/values/length.dart:590:16)
...
#2116 Element.setRenderStyleProperty
(package:webf/src/dom/element.dart:1402:11)
#2117 Element.setRenderStyle (package:webf/src/dom/element.dart:1777:5)
#2118 Element._onStyleChanged (package:webf/src/dom/element.dart:1849:7)
#2119 CSSStyleDeclaration._emitPropertyChanged
(package:webf/src/css/style_declaration.dart:685:22)
#2120 CSSStyleDeclaration.flushPendingProperties
(package:webf/src/css/style_declaration.dart:457:7)
#2121   Element.attachTo (package:webf/src/dom/element.dart:997:13)
#2122 Element.ensureChildAttached
(package:webf/src/dom/element.dart:1061:17)
#2123 Element.didAttachRenderer
(package:webf/src/dom/element.dart:600:5)
#2124   Element.attachTo (package:webf/src/dom/element.dart:999:7)
#2125 Element.ensureChildAttached
(package:webf/src/dom/element.dart:1061:17)
#2126 Element.didAttachRenderer
(package:webf/src/dom/element.dart:600:5)
#2127   Element.attachTo (package:webf/src/dom/element.dart:999:7)
#2128 Element.ensureChildAttached
(package:webf/src/dom/element.dart:1061:17)
#2129 Element.didAttachRenderer
(package:webf/src/dom/element.dart:600:5)
#2130   Element.attachTo (package:webf/src/dom/element.dart:999:7)
#2131   Element.appendChild (package:webf/src/dom/element.dart:1094:15)
#2132 WebFViewController.insertAdjacentNode
(package:webf/src/launcher/controller.dart:461:16)
#2133   flushUICommand (package:webf/src/bridge/to_native.dart:524:16)
#2134 flushUICommandWithContextId
(package:webf/src/bridge/to_native.dart:469:5)
#2135   _flushUICommand (package:webf/src/bridge/from_native.dart:371:3)
#2136   _FfiCallback_flushUICommand (dart:ffi)
#2137   FfiTrampoline__evaluateQuickjsByteCode (dart:ffi)
#2138 evaluateQuickjsByteCode
(package:webf/src/bridge/to_native.dart:221:40)
#2139   evaluateScripts (package:webf/src/bridge/to_native.dart:166:19)
#2140   _RootZone.runUnary (dart:async/zone.dart:1660:54)
#2141   _FutureListener.handleValue (dart:async/future_impl.dart:147:18)
#2142 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:767:45)
#2143 Future._propagateToListeners (dart:async/future_impl.dart:796:13)
#2144   Future._completeWithValue (dart:async/future_impl.dart:567:5)
#2145   _RootZone.runUnary (dart:async/zone.dart:1660:54)
#2146   _FutureListener.handleValue (dart:async/future_impl.dart:147:18)
#2147 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:767:45)
#2148 Future._propagateToListeners (dart:async/future_impl.dart:796:13)
#2149   Future._completeWithValue (dart:async/future_impl.dart:567:5)
#2150   _RootZone.runUnary (dart:async/zone.dart:1660:54)
#2151   _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#2152   _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)

Co-authored-by: edmond.l <edmond.l@binance.com>
Co-authored-by: TIANCHENG <dongtiangche@outlook.com>
  • Loading branch information
3 people authored Nov 8, 2023
1 parent deb675a commit e21a117
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions webf/lib/src/css/values/length.dart
Original file line number Diff line number Diff line change
Expand Up @@ -604,8 +604,8 @@ class CSSLength {
return CSSLengthValue.initial;
} else if (text == INHERIT) {
if (renderStyle != null && propertyName != null && renderStyle.target.parentElement != null) {
return parseLength(renderStyle.target.parentElement!.style.getPropertyValue(propertyName), renderStyle,
propertyName, axisType);
var element = renderStyle.target.parentElement!;
return parseLength(element.style.getPropertyValue(propertyName), element.renderStyle, propertyName, axisType);
}
return CSSLengthValue.zero;
} else if (text == AUTO) {
Expand Down

0 comments on commit e21a117

Please sign in to comment.