Update CSS for mirroring local video #691
Merged
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.
This helps to workaround a Safari CSS issue related to transforms
Contributing to Twilio
Pull Request Details
JIRA link(s):
Description
This PR changes the way that the local video track is mirrored. This change is made to help an issue that is experienced in Desktop Safari where the local video track sometimes appears to be black.
This changes the CSS:
transform: rotateY(180deg)
Which computes to (as seen in the 'Computed' tab in DevTools):
transform: matrix3d(-1, 0, -1.2246467991473532e-16, 0, 0, 1, 0, 0, 1.2246467991473532e-16, 0, -1, 0, 0, 0, 0, 1);
to:
transform: scaleX(-1)
Which computes to:
matrix(-1, 0, 0, 1, 0, 0)
I'm not exactly sure why this workaround helps, but it may have something to do with the fact that
scaleX(-1)
results in a simpler 2d transformation, instead of the more complicated 3d transform that results fromrotateY(180deg)
. I'm guessing that Safari has an easier time with the simple 2d transform.Burndown
Before review
npm test
Before merge