Merge branch 'master' into dev

This commit is contained in:
Evan Czaplicki 2013-10-30 16:34:29 +01:00
commit 5d1ba746ac
2 changed files with 23 additions and 1 deletions

View file

@ -25,7 +25,7 @@ Elm.Native.Show.make = function(elm) {
return "'" + addSlashes(v) + "'";
} else if (type === "string") {
return '"' + addSlashes(v) + '"';
} else if (type === "object" && '_' in v) {
} else if (type === "object" && '_' in v && probablyPublic(v)) {
var output = [];
for (var k in v._) {
for (var i = v._[k].length; i--; ) {
@ -91,5 +91,26 @@ Elm.Native.Show.make = function(elm) {
.replace(/\"/g, '\\"');
}
function probablyPublic(v) {
var keys = Object.keys(v);
var len = keys.length;
if (len === 3
&& 'props' in v
&& 'element' in v) return false;
if (len === 5
&& 'horizontal' in v
&& 'vertical' in v
&& 'x' in v
&& 'y' in v) return false;
if (len === 7
&& 'theta' in v
&& 'scale' in v
&& 'x' in v
&& 'y' in v
&& 'alpha' in v
&& 'form' in v) return false;
return true;
}
return elm.Native.Show.values = { show:toString };
};

View file

@ -34,6 +34,7 @@ ElmRuntime.filterDeadInputs = function(inputs) {
// define the draw function
var vendors = ['ms', 'moz', 'webkit', 'o'];
var window = window || {};
for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
window.requestAnimationFrame = window[vendors[i]+'RequestAnimationFrame'];
window.cancelAnimationFrame = window[vendors[i]+'CancelAnimationFrame'] ||