If you don't want `tileSize` to be an optional param for `ol.tilegrid.createForProjection` shouldn't you at least set `tileSize` to `new ol.Size(256, 256)` in the options passed to `ol.tilegrid.TileGrid`? It's better not to assume that `ol.tilegrid.TileGrid` as the same default value for `tileSize`. Having an optional `tileSize` param for `ol.tilegrid.createForProjection` would make sense to me though.

But overall, this looks like a good change to me. The previous code was a bit broken.