A únicas diferenças desse código para com a resolução são a forma de calcular as coordenadas da parte branca do esquadro e a variável cores.
Não sei se essa foi a forma correta de trabalhar com a variável cores. (Se o array era realmente necessário para o código funcionar)
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
function desenhaEsquadro(xa, ya, xc, yc, cores) {
pincel.fillStyle='black';
pincel.beginPath();
pincel.moveTo(xa, ya);
pincel.lineTo(xa, yc);
pincel.lineTo(xc, yc);
pincel.fill();
pincel.fillStyle='white';
pincel.beginPath();
pincel.moveTo(xa +50, ya + 125);
pincel.lineTo(xa + 50, yc - 50);
pincel.lineTo(xc - 125, yc - 50);
pincel.fill();
}
var cores = ['black', 'white'];
desenhaEsquadro(50, 50, 400, 400, cores)
</script>