The spec says: "Control characters (Unicode category Cc)—other than tabs (U+0009), line feeds (U+000A), carriage returns (U+000D) and sequences that form a segment break—must be rendered as a visible glyph". When taking the complex text code path we act according to the spec but make the tab character invisible when taking the simple text code path.
Pull request: https://github.com/WebKit/WebKit/pull/13573