diff options
author | ericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-09 22:49:23 +0000 |
---|---|---|
committer | ericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-09 22:49:23 +0000 |
commit | c5b7ac0ceae62938bc02b57026770dc5258d2a0e (patch) | |
tree | e04d39709b74a4278e80a3438be8c467a925d7a2 /webkit/database | |
parent | 1ca7949354b1a27da73c9688fc64216d7fceac05 (diff) | |
download | chromium_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.cc | 21 |
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 |