Метод Object.prototype.hasOwnProperty используется, чтобы определить есть ли у объекта своё собственное, а не унаследованное свойство.
for(var property in object) {} не делает различия между свойствами объекта и его прототипа, перечисляет только перечислимые свойства.
Ошибка, точней не то поведение, появляется во всех браузерах. Вы добавляете в Storage.prototype метод getFullSize, но не указываете, что оно не должно быть перечислимым.
if(typeof localStorage === "object") {
    // добавленный метод
    Storage.prototype.getFullSize = function() {};
    var items = [];
    // засчитано в localStore
    for(var property in localStorage) {
        items.push(property);
    }
    alert(items.join(", "));
}
if(typeof localStorage === "object") {
    // тот же самый пример, но объявляем метод неперечислимым
    Object.defineProperty(Storage.prototype, "getFullSize", {
        value: function() {},
        enumerable: false,
        configurable: true
    });
    var items = [];
    // не засчитано в localStore
    for(var property in localStorage) {
        items.push(property);
    }
    alert(items.join(", "));
}
Но например Модзилла считает свойства из Storage.prototype за перечислимые, поэтому необходима проверка на то, что свойство является собственным(что гарантирует, что ключ именно из локального хранилища). Вот здесь и нужен hasOwnProperty
if(typeof localStorage === "object") {
    // тот же самый пример, но объявляем метод неперечислимым
    Object.defineProperty(Storage.prototype, "getFullSize", {
        value: function() {},
        enumerable: false,
        configurable: true
    });
    var items = [];
    for(var property in localStorage) {
        if(localStorage.hasOwnProperty(property)) {
            
            items.push(property);
        }
    }
    alert(items.join(", "));
}
Ну, а также существует метод Object.keys, который позволяет получить свои собственные имена свойств объекта
if(typeof localStorage === "object") {
    var items = [];
    Object.keys(localStorage).forEach(function(key) {
        items.push(key);
    });
    alert(items.join(", "));
}