15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function debug(message) 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) document.getElementById('status').innerHTML += '<br/>' + message; 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function done(message) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (document.location.hash == '#fail') 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return; 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (message) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) debug('PASS: ' + message); 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) debug('PASS'); 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) document.location.hash = '#pass'; 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function fail(message) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) debug('FAILED: ' + message); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) document.location.hash = '#fail'; 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function getLog() 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return '' + document.getElementById('status').innerHTML; 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function fileErrorToString(e) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) switch (e.code) { 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case FileError.QUOTA_EXCEEDED_ERR: 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return 'QUOTA_EXCEEDED_ERR'; 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case FileError.NOT_FOUND_ERR: 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return 'NOT_FOUND_ERR'; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case FileError.SECURITY_ERR: 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return 'SECURITY_ERR'; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case FileError.INVALID_MODIFICATION_ERR: 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return 'INVALID_MODIFICATION_ERR'; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case FileError.INVALID_STATE_ERR: 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return 'INVALID_STATE_ERR'; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) default: 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return 'Unknown Error'; 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function unexpectedErrorCallback(e) 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) fail('unexpectedErrorCallback:' + fileErrorToString(e)); 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 54