We don't always have backing store to flush, if platformCALayerDrawsContent() is false. We also can't assert that we have a back surface, because the very first paint will not. <rdar://problem/16439276>
Created attachment 227906 [details] patch needs testing before landing, though (waiting for debug build)
http://trac.webkit.org/changeset/166331