jupiterjs/canjs — pull request #114 by rjgotten (2012-10-02 13:52:46+00:00)
Title: canMakeObserve: should fail on DOM elements

The `canMakeObserve` function should fail on DOM elements, the `window` object and `can.$ element` collections.

Allowing `can.Observe` to recurse into these data types causes an inevitable reference loop when encountering the `window` property, which results in infinite recursion and a stack overflow.

Moreover, binding to all possible properties on a DOM object is a bad idea in general (performance, stability, etc.) and probably not what your library user was after in the first place.