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