AnalyticalGraphicsInc/cesium — pull request #1499 by shunter (2014-02-22 01:48:17+00:00)
Title: Remove the need for the WeakMap shim in knockout-es5.

The WeakMap shim actually stored values (in this case the observable storage) on the keys (view models) directly, using a hidden randomly-generated property, and overwrote the global Object.getOwnPropertyNames function to hide that property. For our purposes, the observable storage is not really that secret, so it simplifies everything to just create a non-enumerable property named __knockoutObservables on the view model. Less is more.