Холст черного цвета с измененным размером, со временем рисунки не исчезают полностью

У меня есть черный холст, на котором нарисованы вещи. Я хочу, чтобы нарисованные внутри вещи со временем стали черными, в том порядке, в котором они нарисованы (FIFO). Это работает, если я использую холст, размер которого не был изменен. При изменении размера холста элементы становятся не совсем белыми.

Вопрос: Почему белые пятна не исчезают полностью до черного после изменения размера холста? Как я могу заставить их переходить в черный цвет так же, как они делают, когда я не изменил размер холста?

Вот некоторый код, который демонстрирует.http://jsfiddle.net/6VvbQ/35/

var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
context.fillRect(0, 0, 300, 150);

// Comment this out and it works as intended, why?
canvas.width = canvas.height = 300;

window.draw = function () {
    context.fillStyle = 'rgba(255,255,255,1)';
    context.fillRect(
        Math.floor(Math.random() * 300),
        Math.floor(Math.random() * 150),
        2, 2);
    context.fillStyle = 'rgba(0,0,0,.02)';
    context.fillRect(0, 0, 300, 150);

    setTimeout('draw()', 1000 / 20);
}
setTimeout('draw()', 1000 / 20);

Ответы на вопрос(3)

Ваш ответ на вопрос