Fix remaining bugs in the canvas extend mechanism
Finish the test for canvas extend