The logic used to convert the attributed strings from In-band caption content was improperly converting from floating point values to byte values. We are getting a directive to draw 100% opaque black background in TextTrackCueGenericBoxElement::applyCSSProperties. This is coming from the cue's background color property. It looks like the code in InbandTextTrackPrivateAVF.cpp (makeRGBA32FromARGBCFArray) is improperly converting from floating point values to bytes. I see a 50% opacity value coming into the function, which is multiplied by 255 when being passed to the makeRGBA32FromFloats function. That function calls 'colorFloatToRGBAByte', which performs a bounded multiplication by 255. This means we have (0.5 * 255) * 255 -> 125 * (255) -> the max of 255. If I take away the outer (redundant) multiplication by 255, I get correct behavior.
<rdar://problem/14627254>
Created attachment 208198 [details] Patch
Committed r153758: <http://trac.webkit.org/changeset/153758>