| Index: webkit/database/database_util.cc
|
| diff --git a/webkit/database/database_util.cc b/webkit/database/database_util.cc
|
| index b5e8df0bfbe4b50cd1e835f66d63c2f1deed39d7..007d0503d30e5eb3ea1c9e4e690267ba23a3e7c8 100644
|
| --- a/webkit/database/database_util.cc
|
| +++ b/webkit/database/database_util.cc
|
| @@ -75,14 +75,19 @@ string16 DatabaseUtil::GetOriginIdentifier(const GURL& url) {
|
| }
|
|
|
| GURL DatabaseUtil::GetOriginFromIdentifier(const string16& origin_identifier) {
|
| - GURL origin(WebKit::WebSecurityOrigin::createFromDatabaseIdentifier(
|
| - origin_identifier).toString());
|
| + WebKit::WebSecurityOrigin web_security_origin =
|
| + WebKit::WebSecurityOrigin::createFromDatabaseIdentifier(
|
| + origin_identifier);
|
| +
|
| // We need this work-around for file:/// URIs as
|
| - // createFromDatabaseIdentifier returns empty origin url for them.
|
| - if (origin.spec().empty() &&
|
| - origin_identifier.find(ASCIIToUTF16("file__")) == 0)
|
| - return GURL("file:///");
|
| - return origin;
|
| + // createFromDatabaseIdentifier returns null origin_url for them.
|
| + if (web_security_origin.isUnique()) {
|
| + if (origin_identifier.find(UTF8ToUTF16("file__")) == 0)
|
| + return GURL("file:///");
|
| + return GURL();
|
| + }
|
| +
|
| + return GURL(web_security_origin.toString());
|
| }
|
|
|
| } // namespace webkit_database
|
|
|