Changeset 142613 in webkit


Ignore:
Timestamp:
Feb 12, 2013 6:19:28 AM (11 years ago)
Author:
vsevik@chromium.org
Message:

Web Inspector: File system should produce more verbose error messages and recover from errors
https://bugs.webkit.org/show_bug.cgi?id=109571

Reviewed by Alexander Pavlov.

Error handler prints original file system call params now.
Added callbacks to error handler to recover from errors.

  • inspector/front-end/FileSystemProjectDelegate.js:

(WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
(WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
(WebInspector.FileSystemUtils.errorMessage):
(.fileSystemLoaded):
(.fileEntryLoaded):
(.errorHandler):
(WebInspector.FileSystemUtils.requestFileContent):
(WebInspector.FileSystemUtils.setFileContent):
(WebInspector.FileSystemUtils._readDirectory):
(.innerCallback):
(WebInspector.FileSystemUtils._requestEntries):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r142612 r142613  
     12013-02-12  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: File system should produce more verbose error messages and recover from errors
     4        https://bugs.webkit.org/show_bug.cgi?id=109571
     5
     6        Reviewed by Alexander Pavlov.
     7
     8        Error handler prints original file system call params now.
     9        Added callbacks to error handler to recover from errors.
     10
     11        * inspector/front-end/FileSystemProjectDelegate.js:
     12        (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
     13        (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
     14        (WebInspector.FileSystemUtils.errorMessage):
     15        (.fileSystemLoaded):
     16        (.fileEntryLoaded):
     17        (.errorHandler):
     18        (WebInspector.FileSystemUtils.requestFileContent):
     19        (WebInspector.FileSystemUtils.setFileContent):
     20        (WebInspector.FileSystemUtils._readDirectory):
     21        (.innerCallback):
     22        (WebInspector.FileSystemUtils._requestEntries):
     23
    1242013-02-12  Vsevolod Vlasov  <vsevik@chromium.org>
    225
  • trunk/Source/WebCore/inspector/front-end/FileSystemProjectDelegate.js

    r142612 r142613  
    8787        WebInspector.FileSystemUtils.requestFileContent(this._isolatedFileSystemModel, this._fileSystemPath, filePath, innerCallback.bind(this));
    8888       
     89        /**
     90         * @param {?string} content
     91         */
    8992        function innerCallback(content)
    9093        {
     
    129132        {
    130133            var result = [];
    131             if (content)
     134            if (content !== null)
    132135                result = WebInspector.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex);
    133136            callback(result);
     
    215218}
    216219
    217 WebInspector.FileSystemUtils.errorHandler = function(error)
     220WebInspector.FileSystemUtils.errorMessage = function(error)
    218221{
    219222    var msg;
     
    239242    };
    240243
    241     console.error("File system error: " + msg);
     244    return "File system error: " + msg;
    242245}
    243246
     
    297300 * @param {string} fileSystemPath
    298301 * @param {string} path
    299  * @param {function(string)} callback
     302 * @param {function(?string)} callback
    300303 */
    301304WebInspector.FileSystemUtils.requestFileContent = function(isolatedFileSystemModel, fileSystemPath, path, callback)
     
    304307
    305308    var fileSystem;
     309   
    306310    /**
    307311     * @param {DOMFileSystem} fs
     
    309313    function fileSystemLoaded(fs)
    310314    {
    311         fs.root.getFile(path, null, fileEntryLoaded, WebInspector.FileSystemUtils.errorHandler);
     315        fs.root.getFile(path, null, fileEntryLoaded, errorHandler);
    312316    }
    313317
     
    317321    function fileEntryLoaded(entry)
    318322    {
    319         entry.file(fileLoaded, WebInspector.FileSystemUtils.errorHandler);
     323        entry.file(fileLoaded, errorHandler);
    320324    }
    321325
     
    336340    {
    337341        callback(/** @type {string} */ (this.result));
     342    }
     343
     344    function errorHandler(error)
     345    {
     346        var errorMessage = WebInspector.FileSystemUtils.errorMessage(error);
     347        console.error(errorMessage + " when getting content for file '" + (fileSystemPath + "/" + path) + "'");
     348        callback(null);
    338349    }
    339350}
     
    351362
    352363    var fileSystem;
     364
    353365    /**
    354366     * @param {DOMFileSystem} fs
     
    356368    function fileSystemLoaded(fs)
    357369    {
    358         fs.root.getFile(path, null, fileEntryLoaded, WebInspector.FileSystemUtils.errorHandler);
     370        fs.root.getFile(path, null, fileEntryLoaded, errorHandler);
    359371    }
    360372
     
    364376    function fileEntryLoaded(entry)
    365377    {
    366         entry.createWriter(fileWriterCreated, WebInspector.FileSystemUtils.errorHandler);
     378        entry.createWriter(fileWriterCreated, errorHandler);
    367379    }
    368380
     
    372384    function fileWriterCreated(fileWriter)
    373385    {
    374         fileWriter.onerror = WebInspector.FileSystemUtils.errorHandler;
     386        fileWriter.onerror = errorHandler;
    375387        fileWriter.onwriteend = fileTruncated;
    376388        fileWriter.truncate(0);
     
    388400        callback();
    389401    }
     402
     403    function errorHandler(error)
     404    {
     405        var errorMessage = WebInspector.FileSystemUtils.errorMessage(error);
     406        console.error(errorMessage + " when setting content for file '" + (fileSystemPath + "/" + path) + "'");
     407        callback();
     408    }
    390409}
    391410
     
    405424        else {
    406425            entries = entries.concat(toArray(results));
    407             dirReader.readEntries(innerCallback, WebInspector.FileSystemUtils.errorHandler);
     426            dirReader.readEntries(innerCallback, errorHandler);
    408427        }
    409428    }
     
    414433    }   
    415434
    416     dirReader.readEntries(innerCallback, WebInspector.FileSystemUtils.errorHandler);
     435    dirReader.readEntries(innerCallback, errorHandler);
     436
     437    function errorHandler(error)
     438    {
     439        var errorMessage = WebInspector.FileSystemUtils.errorMessage(error);
     440        console.error(errorMessage + " when reading directory '" + dirEntry.fullPath + "'");
     441        callback([]);
     442    }
    417443}
    418444
     
    424450WebInspector.FileSystemUtils._requestEntries = function(fileSystem, path, callback)
    425451{
    426     fileSystem.root.getDirectory(path, null, innerCallback, WebInspector.FileSystemUtils.errorHandler);
     452    fileSystem.root.getDirectory(path, null, innerCallback, errorHandler);
    427453
    428454    function innerCallback(dirEntry)
     
    430456        WebInspector.FileSystemUtils._readDirectory(dirEntry, callback)
    431457    }
    432 }
    433 
    434 WebInspector.FileSystemUtils.prototype = {
    435 }
     458
     459    function errorHandler(error)
     460    {
     461        var errorMessage = WebInspector.FileSystemUtils.errorMessage(error);
     462        console.error(errorMessage + " when requesting entry '" + path + "'");
     463        callback([]);
     464    }
     465}
Note: See TracChangeset for help on using the changeset viewer.