Like everything in life has quota, Safari allots specific size to each applications that it can consume to store information in session storage. If consumption exceeds, while calling setItem it throws QUOTA error. While creating one HTML5 based application for one of the client. I found that Safari that comes on iPad 1 built on top of AppleWebKit 531.21.10 has two reason to throw this error. First like I said on exceeding the limit and another on when an key already exists. To workaround the second case, have to write our own function that first removes item using removeItem and then SetItem