Changeset 106856 in webkit


Ignore:
Timestamp:
Feb 6, 2012 2:54:41 PM (12 years ago)
Author:
ericu@chromium.org
Message:

[filesystem/Chromium] crackFileSystemURL needs to use innerURL
https://bugs.webkit.org/show_bug.cgi?id=77881

Reviewed by Adam Barth.

  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystem::crackFileSystemURL):
Add the new code path, taken only if innerURL is present.

Location:
trunk/Source/WebKit/chromium
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r106840 r106856  
     12012-02-06  Eric Uhrhane  <ericu@chromium.org>
     2
     3        [filesystem/Chromium] crackFileSystemURL needs to use innerURL
     4        https://bugs.webkit.org/show_bug.cgi?id=77881
     5
     6        Reviewed by Adam Barth.
     7
     8        * src/AsyncFileSystemChromium.cpp:
     9        (WebCore::AsyncFileSystem::crackFileSystemURL):
     10        Add the new code path, taken only if innerURL is present.
     11
    1122012-02-03  James Robinson  <jamesr@chromium.org>
    213
  • trunk/Source/WebKit/chromium/src/AsyncFileSystemChromium.cpp

    r106542 r106856  
    6464        return false;
    6565
    66     KURL originURL(ParsedURLString, url.path());
    67     String path = decodeURLEscapeSequences(originURL.path());
    68     if (path.isEmpty() || path[0] != '/')
    69         return false;
    70     path = path.substring(1);
    71 
    72     if (path.startsWith(temporaryPathPrefix)) {
    73         type = Temporary;
    74         path = path.substring(temporaryPathPrefixLength);
    75     } else if (path.startsWith(persistentPathPrefix)) {
    76         type = Persistent;
    77         path = path.substring(persistentPathPrefixLength);
    78     } else if (path.startsWith(externalPathPrefix)) {
    79         type = externalType;
    80         path = path.substring(externalPathPrefixLength);
    81     } else
    82         return false;
    83 
    84     if (path.isEmpty() || path[0] != '/')
    85         return false;
    86 
    87     filePath.swap(path);
     66    if (url.innerURL()) {
     67        String typeString = url.innerURL()->path().substring(1);
     68        if (typeString == temporaryPathPrefix)
     69            type = Temporary;
     70        else if (typeString == persistentPathPrefix)
     71            type = Persistent;
     72        else if (typeString == externalPathPrefix)
     73            type = externalType;
     74        else
     75            return false;
     76
     77        filePath = decodeURLEscapeSequences(url.path());
     78    } else {
     79        // FIXME: Remove this clause once http://codereview.chromium.org/7811006
     80        // lands, which makes this dead code.
     81        KURL originURL(ParsedURLString, url.path());
     82        String path = decodeURLEscapeSequences(originURL.path());
     83        if (path.isEmpty() || path[0] != '/')
     84            return false;
     85        path = path.substring(1);
     86
     87        if (path.startsWith(temporaryPathPrefix)) {
     88            type = Temporary;
     89            path = path.substring(temporaryPathPrefixLength);
     90        } else if (path.startsWith(persistentPathPrefix)) {
     91            type = Persistent;
     92            path = path.substring(persistentPathPrefixLength);
     93        } else if (path.startsWith(externalPathPrefix)) {
     94            type = externalType;
     95            path = path.substring(externalPathPrefixLength);
     96        } else
     97            return false;
     98
     99        if (path.isEmpty() || path[0] != '/')
     100            return false;
     101
     102        filePath.swap(path);
     103    }
    88104    return true;
    89105}
Note: See TracChangeset for help on using the changeset viewer.