clearRect is currently defined as a subtraction mechanism for hit regions [1]. It's unlikely that a UA will implement hit regions using pixels so this would have to be done using path subtraction which is expensive.
Why was this special behavior added to clearRect? Hit regions are not subject to other operations such as clipping... 1: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-clearrect
