How does this object method definition work without the "function" keyword?
Solution 1:
How is it possible that this runs at all in any browser? Is is some sort of new ES6 functionality?
Yes.
...
Method definitions
A property of an object can also refer to a function or a getter or setter method.
var o = { property: function ([parameters]) {}, get property() {}, set property(value) {}, };
In ECMAScript 6, a shorthand notation is available, so that the keyword "function" is no longer necessary.
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
...
Solution 2:
ES6 allows "concise methods" which, as you've discovered, aren't cross-browser compatible yet.