The implementation is spread over several .cpp and .mm files.
Created attachment 244766 [details] patch
https://trac.webkit.org/r178578