Commit 0bf4ddb4 authored by Zhuoyu Qian's avatar Zhuoyu Qian Committed by Commit Bot

Change DeleteForOrigin and DeleteCacheStorage to use url::Origin.

This CL update the function CacheStorageContext::DeleteForOrigin and
BrowsingDataCacheStorageHelper::DeleteCacheStorage to use dedicated
Origin type instead of GURL.

Bug: 598424
Change-Id: I744de003425372eddb015da97beae099adbdae57
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1997435Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Reviewed-by: default avatarJoshua Bell <jsbell@chromium.org>
Commit-Queue: Zhuoyu Qian <zhuoyu.qian@samsung.com>
Cr-Commit-Position: refs/heads/master@{#732213}
parent f49defcf
......@@ -15,6 +15,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/cache_storage_context.h"
#include "content/public/browser/storage_usage_info.h"
#include "url/gurl.h"
using content::BrowserThread;
using content::CacheStorageContext;
......@@ -55,7 +56,8 @@ void BrowsingDataCacheStorageHelper::StartFetching(FetchCallback callback) {
&GetAllOriginsInfoForCacheStorageCallback, std::move(callback)));
}
void BrowsingDataCacheStorageHelper::DeleteCacheStorage(const GURL& origin) {
void BrowsingDataCacheStorageHelper::DeleteCacheStorage(
const url::Origin& origin) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
cache_storage_context_->DeleteForOrigin(origin);
}
......@@ -104,7 +106,7 @@ void CannedBrowsingDataCacheStorageHelper::StartFetching(
}
void CannedBrowsingDataCacheStorageHelper::DeleteCacheStorage(
const GURL& origin) {
pending_origins_.erase(url::Origin::Create(origin));
const url::Origin& origin) {
pending_origins_.erase(origin);
BrowsingDataCacheStorageHelper::DeleteCacheStorage(origin);
}
......@@ -16,7 +16,6 @@
#include "base/memory/ref_counted.h"
#include "base/time/time.h"
#include "content/public/browser/cache_storage_context.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace content {
......@@ -43,7 +42,7 @@ class BrowsingDataCacheStorageHelper
// |callback|. This must be called only in the UI thread.
virtual void StartFetching(FetchCallback callback);
// Requests the Cache Storage data for an origin be deleted.
virtual void DeleteCacheStorage(const GURL& origin);
virtual void DeleteCacheStorage(const url::Origin& origin);
protected:
virtual ~BrowsingDataCacheStorageHelper();
......@@ -84,7 +83,7 @@ class CannedBrowsingDataCacheStorageHelper
// BrowsingDataCacheStorageHelper methods.
void StartFetching(FetchCallback callback) override;
void DeleteCacheStorage(const GURL& origin) override;
void DeleteCacheStorage(const url::Origin& origin) override;
private:
~CannedBrowsingDataCacheStorageHelper() override;
......
......@@ -11,6 +11,7 @@
#include "content/public/browser/storage_partition.h"
#include "content/public/test/browser_task_environment.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
namespace {
......@@ -40,16 +41,16 @@ TEST_F(CannedBrowsingDataCacheStorageHelperTest, Empty) {
}
TEST_F(CannedBrowsingDataCacheStorageHelperTest, Delete) {
const GURL origin1("http://host1:9000");
const GURL origin2("http://example.com");
const url::Origin origin1 = url::Origin::Create(GURL("http://host1:9000"));
const url::Origin origin2 = url::Origin::Create(GURL("http://example.com"));
scoped_refptr<CannedBrowsingDataCacheStorageHelper> helper(
new CannedBrowsingDataCacheStorageHelper(CacheStorageContext()));
EXPECT_TRUE(helper->empty());
helper->Add(url::Origin::Create(origin1));
helper->Add(url::Origin::Create(origin2));
helper->Add(url::Origin::Create(origin2));
helper->Add(origin1);
helper->Add(origin2);
helper->Add(origin2);
EXPECT_EQ(2u, helper->GetCount());
helper->DeleteCacheStorage(origin2);
EXPECT_EQ(1u, helper->GetCount());
......
......@@ -752,8 +752,7 @@ class CookieTreeCacheStorageNode : public CookieTreeNode {
LocalDataContainer* container = GetLocalDataContainerForNode(this);
if (container) {
container->cache_storage_helper_->DeleteCacheStorage(
usage_info_->origin.GetURL());
container->cache_storage_helper_->DeleteCacheStorage(usage_info_->origin);
container->cache_storage_info_list_.erase(usage_info_);
}
}
......
......@@ -11,6 +11,7 @@
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/storage_usage_info.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
MockBrowsingDataCacheStorageHelper::MockBrowsingDataCacheStorageHelper(
Profile* profile)
......@@ -28,21 +29,19 @@ void MockBrowsingDataCacheStorageHelper::StartFetching(FetchCallback callback) {
}
void MockBrowsingDataCacheStorageHelper::DeleteCacheStorage(
const GURL& origin) {
const url::Origin& origin) {
ASSERT_TRUE(fetched_);
ASSERT_TRUE(origins_.find(origin) != origins_.end());
origins_[origin] = false;
}
void MockBrowsingDataCacheStorageHelper::AddCacheStorageSamples() {
const GURL kOrigin1("https://cshost1:1/");
const GURL kOrigin2("https://cshost2:2/");
content::StorageUsageInfo info1(url::Origin::Create(kOrigin1), 1,
base::Time());
const url::Origin kOrigin1 = url::Origin::Create(GURL("https://cshost1:1/"));
const url::Origin kOrigin2 = url::Origin::Create(GURL("https://cshost2:2/"));
content::StorageUsageInfo info1(kOrigin1, 1, base::Time());
response_.push_back(info1);
origins_[kOrigin1] = true;
content::StorageUsageInfo info2(url::Origin::Create(kOrigin2), 2,
base::Time());
content::StorageUsageInfo info2(kOrigin2, 2, base::Time());
response_.push_back(info2);
origins_[kOrigin2] = true;
}
......
......@@ -37,14 +37,14 @@ class MockBrowsingDataCacheStorageHelper
// BrowsingDataCacheStorageHelper.
void StartFetching(FetchCallback callback) override;
void DeleteCacheStorage(const GURL& origin) override;
void DeleteCacheStorage(const url::Origin& origin) override;
private:
~MockBrowsingDataCacheStorageHelper() override;
FetchCallback callback_;
bool fetched_ = false;
std::map<GURL, bool> origins_;
std::map<url::Origin, bool> origins_;
std::list<content::StorageUsageInfo> response_;
DISALLOW_COPY_AND_ASSIGN(MockBrowsingDataCacheStorageHelper);
......
......@@ -194,17 +194,17 @@ void CacheStorageContextImpl::GetAllOriginsInfo(
base::RetainedRef(this), std::move(callback)));
}
void CacheStorageContextImpl::DeleteForOrigin(const GURL& origin) {
void CacheStorageContextImpl::DeleteForOrigin(const url::Origin& origin) {
// Can be called on any sequence.
task_runner_->PostTask(
FROM_HERE, base::BindOnce(
[](scoped_refptr<CacheStorageContextImpl> context,
const GURL& origin) {
const url::Origin& origin) {
scoped_refptr<CacheStorageManager> manager =
context->CacheManager();
if (!manager)
return;
manager->DeleteOriginData(url::Origin::Create(origin),
manager->DeleteOriginData(origin,
CacheStorageOwner::kCacheAPI);
},
base::RetainedRef(this), origin));
......
......@@ -111,7 +111,7 @@ class CONTENT_EXPORT CacheStorageContextImpl
// CacheStorageContext
void GetAllOriginsInfo(GetUsageInfoCallback callback) override;
void DeleteForOrigin(const GURL& origin) override;
void DeleteForOrigin(const url::Origin& origin) override;
// Callable on any sequence.
void AddObserver(CacheStorageContextImpl::Observer* observer);
......
......@@ -255,7 +255,7 @@ class TestCacheStorageContext : public CacheStorageContextWithManager {
NOTREACHED();
}
void DeleteForOrigin(const GURL& origin_url) override { NOTREACHED(); }
void DeleteForOrigin(const url::Origin& origin) override { NOTREACHED(); }
private:
~TestCacheStorageContext() override = default;
......
......@@ -10,7 +10,9 @@
#include "base/callback.h"
#include "base/memory/ref_counted.h"
class GURL;
namespace url {
class Origin;
}
namespace content {
......@@ -26,7 +28,7 @@ class CacheStorageContext
// Methods used in response to browsing data and quota manager requests.
// May be called on any sequence.
virtual void GetAllOriginsInfo(GetUsageInfoCallback callback) = 0;
virtual void DeleteForOrigin(const GURL& origin_url) = 0;
virtual void DeleteForOrigin(const url::Origin& origin) = 0;
protected:
friend class base::RefCountedThreadSafe<CacheStorageContext>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment