#include "third_party/blink/renderer/platform/scheduler/main_thread/agent_group_scheduler_impl.h"
#include "base/containers/contains.h"
#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_vector.h"
#include "third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h"
#include "third_party/blink/renderer/platform/scheduler/main_thread/policy_updater.h"
#include "third_party/blink/renderer/platform/scheduler/public/dummy_schedulers.h"
namespace blink {
namespace scheduler {
std::unique_ptr<WebAgentGroupScheduler>
WebAgentGroupScheduler::CreateForTesting() { … }
MainThreadTaskQueue::QueueCreationParams DefaultTaskQueueCreationParams(
AgentGroupSchedulerImpl* agent_group_scheduler_impl) { … }
MainThreadTaskQueue::QueueCreationParams CompositorTaskRunnerCreationParams(
AgentGroupSchedulerImpl* agent_group_scheduler_impl) { … }
AgentGroupSchedulerImpl::AgentGroupSchedulerImpl(
MainThreadSchedulerImpl& main_thread_scheduler)
: … { … }
AgentGroupSchedulerImpl::~AgentGroupSchedulerImpl() { … }
void AgentGroupSchedulerImpl::Dispose() { … }
std::unique_ptr<PageScheduler> AgentGroupSchedulerImpl::CreatePageScheduler(
PageScheduler::Delegate* delegate) { … }
scoped_refptr<base::SingleThreadTaskRunner>
AgentGroupSchedulerImpl::DefaultTaskRunner() { … }
scoped_refptr<base::SingleThreadTaskRunner>
AgentGroupSchedulerImpl::CompositorTaskRunner() { … }
scoped_refptr<MainThreadTaskQueue>
AgentGroupSchedulerImpl::CompositorTaskQueue() { … }
WebThreadScheduler& AgentGroupSchedulerImpl::GetMainThreadScheduler() { … }
v8::Isolate* AgentGroupSchedulerImpl::Isolate() { … }
void AgentGroupSchedulerImpl::AddAgent(Agent* agent) { … }
void AgentGroupSchedulerImpl::PerformMicrotaskCheckpoint() { … }
void AgentGroupSchedulerImpl::Trace(Visitor* visitor) const { … }
void AgentGroupSchedulerImpl::AddPageSchedulerForTesting(
PageSchedulerImpl* page_scheduler) { … }
void AgentGroupSchedulerImpl::RemovePageScheduler(
PageSchedulerImpl* page_scheduler) { … }
void AgentGroupSchedulerImpl::IncrementVisibleFramesForAgent(
const base::UnguessableToken& agent_cluster_id,
PolicyUpdater& policy_updater) { … }
void AgentGroupSchedulerImpl::DecrementVisibleFramesForAgent(
const base::UnguessableToken& agent_cluster_id,
PolicyUpdater& policy_updater) { … }
bool AgentGroupSchedulerImpl::IsAgentVisible(
const base::UnguessableToken& agent_cluster_id) const { … }
void AgentGroupSchedulerImpl::UpdatePolicy() { … }
void AgentGroupSchedulerImpl::OnUrgentMessageReceived() { … }
void AgentGroupSchedulerImpl::OnUrgentMessageProcessed() { … }
}
}