Code:
copyCanvas(makeSourceCanvas());
// this passes the result of the function makeSourceCanvas to your function copyCanvas, but makeSourceCanvas doesn't return a result (other than null or undefined - the default).
..but your function
Code:
var copyCanvas = function() {
isn't expecting to receive any data; that is, it has no parameter(s).