#include "content/browser/scheduler/responsiveness/watcher.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "base/location.h"
#include "base/memory/raw_ptr.h"
#include "base/pending_task.h"
#include "base/run_loop.h"
#include "base/synchronization/lock.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "content/browser/scheduler/responsiveness/calculator.h"
#include "content/browser/scheduler/responsiveness/native_event_observer.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/test/browser_task_environment.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace content {
namespace responsiveness {
namespace {
struct TaskTiming { … };
class FakeCalculator : public Calculator { … };
class FakeMetricSource : public MetricSource { … };
class FakeWatcher : public Watcher { … };
}
class ResponsivenessWatcherTest : public testing::Test { … };
TEST_F(ResponsivenessWatcherTest, TaskForwarding) { … }
TEST_F(ResponsivenessWatcherTest, TaskNesting) { … }
TEST_F(ResponsivenessWatcherTest, NativeEvents) { … }
TEST_F(ResponsivenessWatcherTest, BlockedOrLowPriorityTask) { … }
TEST_F(ResponsivenessWatcherTest, DelayedTask) { … }
class ResponsivenessWatcherRealIOThreadTest : public testing::Test { … };
TEST_F(ResponsivenessWatcherRealIOThreadTest, MessageLoopObserver) { … }
}
}