Commit fc1434b2 authored by Daniel Murphy's avatar Daniel Murphy Committed by Commit Bot

[SessionStorage] Sequence checking on release builds

R=pwnall@chromium.org

Bug: 857464
Change-Id: I58218cf3f4831842f5fddaca480523e5c9169f35
Reviewed-on: https://chromium-review.googlesource.com/1142474
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: default avatarVictor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576274}
parent bb15c32a
......@@ -85,7 +85,6 @@ LocalStorageCachedArea::LocalStorageCachedArea(
main_thread_scheduler_(main_thread_scheduler),
weak_factory_(this) {
DCHECK(!namespace_id_.empty());
blink::mojom::StorageAreaAssociatedPtrInfo wrapper_ptr_info;
session_namespace->OpenArea(origin_, mojo::MakeRequest(&wrapper_ptr_info));
leveldb_.Bind(std::move(wrapper_ptr_info),
......
......@@ -35,12 +35,12 @@ LocalStorageCachedAreas::LocalStorageCachedAreas(
main_thread_scheduler_(main_thread_scheduler) {}
LocalStorageCachedAreas::~LocalStorageCachedAreas() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(sequence_checker_.CalledOnValidSequence());
}
scoped_refptr<LocalStorageCachedArea> LocalStorageCachedAreas::GetCachedArea(
const url::Origin& origin) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(sequence_checker_.CalledOnValidSequence());
return GetCachedArea(kLocalStorageNamespaceId, origin,
main_thread_scheduler_);
}
......@@ -49,7 +49,7 @@ scoped_refptr<LocalStorageCachedArea>
LocalStorageCachedAreas::GetSessionStorageArea(const std::string& namespace_id,
const url::Origin& origin) {
DCHECK_NE(kLocalStorageNamespaceId, namespace_id);
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(sequence_checker_.CalledOnValidSequence());
return GetCachedArea(namespace_id, origin, main_thread_scheduler_);
}
......@@ -59,7 +59,7 @@ void LocalStorageCachedAreas::CloneNamespace(
DCHECK(base::FeatureList::IsEnabled(features::kMojoSessionStorage));
DCHECK_EQ(kSessionStorageNamespaceIdLength, source_namespace.size());
DCHECK_EQ(kSessionStorageNamespaceIdLength, destination_namespace.size());
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(sequence_checker_.CalledOnValidSequence());
auto namespace_it = cached_namespaces_.find(source_namespace);
if (namespace_it == cached_namespaces_.end()) {
......@@ -76,7 +76,7 @@ void LocalStorageCachedAreas::CloneNamespace(
}
size_t LocalStorageCachedAreas::TotalCacheSize() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(sequence_checker_.CalledOnValidSequence());
size_t total = 0;
for (const auto& it : cached_namespaces_)
total += it.second.TotalCacheSize();
......@@ -84,7 +84,7 @@ size_t LocalStorageCachedAreas::TotalCacheSize() const {
}
void LocalStorageCachedAreas::ClearAreasIfNeeded() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(sequence_checker_.CalledOnValidSequence());
if (TotalCacheSize() < total_cache_limit_)
return;
......@@ -96,7 +96,7 @@ scoped_refptr<LocalStorageCachedArea> LocalStorageCachedAreas::GetCachedArea(
const std::string& namespace_id,
const url::Origin& origin,
blink::scheduler::WebThreadScheduler* scheduler) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(sequence_checker_.CalledOnValidSequence());
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class CacheMetrics {
......
......@@ -56,7 +56,7 @@ class CONTENT_EXPORT LocalStorageCachedAreas {
size_t TotalCacheSize() const;
void set_cache_limit_for_testing(size_t limit) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(sequence_checker_.CalledOnValidSequence());
total_cache_limit_ = limit;
}
......@@ -68,7 +68,9 @@ class CONTENT_EXPORT LocalStorageCachedAreas {
const url::Origin& origin,
blink::scheduler::WebThreadScheduler* scheduler);
SEQUENCE_CHECKER(sequence_checker_);
// TODO(dmurph): Remove release check when crashing has stopped.
// http://crbug.com/857464
base::SequenceCheckerImpl sequence_checker_;
blink::mojom::StoragePartitionService* const storage_partition_service_;
......
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