Fail-safe handling of nullable string value in lookupStyle #1031
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, we've been doing some research to find out why the flex layout library throws errors on older browsers. More specifically, Safari on iOS 8 and below.
This issue reports about this error: #958 - it says it's a duplicate of #947, however, these errors seem slightly unrelated.
The problem is the
lookupStyle
method in theStyleUtils
service callsgetComputedStyle(element).getPropertyValue(styleName)
. The spec says thatgetPropertyValue
should return an empty string if the style is not set, however, on some older browsers it returnsnull
instead. This causes an error when the method returnsvalue.trim()
, since value isn't a string.This PR adds a safeguard to check for
null
and makes sure the method always return a string.We've tested this on multiple old browsers on Browserstack and this seems to solve all our issues.