summaryrefslogtreecommitdiffstats
path: root/webkit/database
diff options
context:
space:
mode:
authorericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-09 22:49:23 +0000
committerericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-09 22:49:23 +0000
commitc5b7ac0ceae62938bc02b57026770dc5258d2a0e (patch)
treee04d39709b74a4278e80a3438be8c467a925d7a2 /webkit/database
parent1ca7949354b1a27da73c9688fc64216d7fceac05 (diff)
downloadchromium_src-c5b7ac0ceae62938bc02b57026770dc5258d2a0e.zip
chromium_src-c5b7ac0ceae62938bc02b57026770dc5258d2a0e.tar.gz
chromium_src-c5b7ac0ceae62938bc02b57026770dc5258d2a0e.tar.bz2
Fix ObfuscatedOriginEnumerator::Next not to try to call
GetOriginURLFromIdentifier if it doesn't have an identifier. BUG=133402 TEST=ObfuscatedFileUtilTest.TestCreateAndDeleteFile on Linux debug Review URL: https://chromiumcodereview.appspot.com/10572006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145766 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/database')
-rw-r--r--webkit/database/database_util.cc21
1 files changed, 13 insertions, 8 deletions
diff --git a/webkit/database/database_util.cc b/webkit/database/database_util.cc
index b5e8df0..77d13f2 100644
--- a/webkit/database/database_util.cc
+++ b/webkit/database/database_util.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -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