The problem was introduced in 2010 under https://bugs.webkit.org/show_bug.cgi?id=36248. The depth buffer should be initialized to 1.0f (rather than 0.0f) to match expected initialization behavior. The current logic was setting the depth buffer to 1.0, blocking all drawing operations, unless an explicit "gl.clear(gl.DEPTH_BUFFER_BIT)" was being done immediately after attaching the depth FBO.  Found by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html
<rdar://problem/15201336>
Created attachment 220455 [details] Patch
Committed r161375: <http://trac.webkit.org/changeset/161375>
*** Bug 81290 has been marked as a duplicate of this bug. ***
*** Bug 122264 has been marked as a duplicate of this bug. ***
*** Bug 94300 has been marked as a duplicate of this bug. ***