WebProcessPool::platformInitializeWebProcess() does: if (m_defaultPageGroup->preferences().useGPUProcessForDOMRenderingEnabled()) parameters.maximumIOSurfaceSize = WebCore::IOSurface::maximumSize(); but m_defaultPageGroup->preferences() is uninitialized at this point, so this condition is never hit. The same applies to checks for mediaDevicesEnabled and captureAudioInGPUProcessEnabled lower down. Behavior might be different in different UI apps (depending on their use of the API). I reproduced the issue in MiniBrowser on macOS.
<rdar://problem/101821075>
I confirmed that m_defaultPageGroup->preferences() is empty when launching MobileSafaro too, so these checks are certainly wrong.
The config in MobileSafari is such that these checks succeed.
*** This bug has been marked as a duplicate of bug 257750 ***