| Index: webkit/fileapi/file_system_util.cc
|
| diff --git a/webkit/fileapi/file_system_util.cc b/webkit/fileapi/file_system_util.cc
|
| index 5aa3cf20af7eb4c9f0106652b81696527ac0bb49..8435a767611fc15e4f2e83688f5bc3b37a95a9ca 100644
|
| --- a/webkit/fileapi/file_system_util.cc
|
| +++ b/webkit/fileapi/file_system_util.cc
|
| @@ -9,8 +9,12 @@
|
| #include "base/file_path.h"
|
| #include "base/logging.h"
|
| #include "base/sys_string_conversions.h"
|
| +#include "base/utf_string_conversions.h"
|
| #include "googleurl/src/gurl.h"
|
| #include "net/base/escape.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebCString.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h"
|
| #include "webkit/fileapi/file_system_types.h"
|
|
|
| namespace fileapi {
|
| @@ -151,4 +155,26 @@ quota::StorageType FileSystemTypeToQuotaStorageType(FileSystemType type) {
|
| }
|
| }
|
|
|
| +// TODO(kinuko): Merge these two methods (conversion methods between
|
| +// origin url <==> identifier) with the ones in the database module.
|
| +std::string GetOriginIdentifierFromURL(const GURL& url) {
|
| + WebKit::WebSecurityOrigin web_security_origin =
|
| + WebKit::WebSecurityOrigin::createFromString(UTF8ToUTF16(url.spec()));
|
| + return web_security_origin.databaseIdentifier().utf8();
|
| +}
|
| +
|
| +GURL GetOriginURLFromIdentifier(const std::string& origin_identifier) {
|
| + WebKit::WebSecurityOrigin web_security_origin =
|
| + WebKit::WebSecurityOrigin::createFromDatabaseIdentifier(
|
| + UTF8ToUTF16(origin_identifier));
|
| + GURL origin_url(web_security_origin.toString());
|
| +
|
| + // We need this work-around for file:/// URIs as
|
| + // createFromDatabaseIdentifier returns empty origin_url for them.
|
| + if (origin_url.spec().empty() &&
|
| + origin_identifier.find("file__") == 0)
|
| + return GURL("file:///");
|
| + return origin_url;
|
| +}
|
| +
|
| } // namespace fileapi
|
|
|