blob: bb56d7f33b0dd3439ca4f0bd4a147246f99c5441 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "extensions/renderer/extension_throttle_manager_access.h"
#include "base/synchronization/lock.h"
#include "extensions/renderer/extension_throttle_manager.h"
namespace extensions {
ExtensionThrottleManagerAccess::ExtensionThrottleManagerAccess(
ExtensionThrottleManager* manager)
: manager_(manager) {
CHECK(manager_);
}
ExtensionThrottleManagerAccess::~ExtensionThrottleManagerAccess() = default;
void ExtensionThrottleManagerAccess::SetDestroyed() {
base::AutoLock auto_lock(lock_);
manager_ = nullptr;
}
std::tuple<base::MovableAutoLock, ExtensionThrottleManager*>
ExtensionThrottleManagerAccess::Get() {
base::MovableAutoLock auto_lock(lock_);
return std::make_tuple(std::move(auto_lock), manager_);
}
} // namespace extensions