Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1580)

Unified Diff: content/renderer/input/main_thread_event_queue_unittest.cc

Issue 2581243004: Pass main thread responsiveness threshold via Finch (Closed)
Patch Set: Use EXPECT_FALSE/TRUE - avoids compile error. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/input/main_thread_event_queue_unittest.cc
diff --git a/content/renderer/input/main_thread_event_queue_unittest.cc b/content/renderer/input/main_thread_event_queue_unittest.cc
index f7ccb8cab0fe69c5c7ae8a47841a4c60a55760b1..cda96df4c6a7ffad7a35670f7622ea7f78598ea6 100644
--- a/content/renderer/input/main_thread_event_queue_unittest.cc
+++ b/content/renderer/input/main_thread_event_queue_unittest.cc
@@ -9,6 +9,7 @@
#include <vector>
#include "base/macros.h"
+#include "base/metrics/field_trial.h"
#include "base/strings/string_util.h"
#include "base/test/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
@@ -711,4 +712,68 @@ INSTANTIATE_TEST_CASE_P(
testing::Range(0u,
(kRafAlignedEnabledTouch | kRafAlignedEnabledMouse) + 1));
+class DummyMainThreadEventQueueClient : public MainThreadEventQueueClient {
+ void HandleEventOnMainThread(int routing_id,
+ const blink::WebCoalescedInputEvent* event,
+ const ui::LatencyInfo& latency,
+ InputEventDispatchType dispatch_type) override {}
+
+ void SendInputEventAck(int routing_id,
+ blink::WebInputEvent::Type type,
+ InputEventAckState ack_result,
+ uint32_t touch_event_id) override {}
+
+ void NeedsMainFrame(int routing_id) override {}
+};
+
+class MainThreadEventQueueInitializationTest
+ : public testing::Test {
+ public:
+ MainThreadEventQueueInitializationTest()
+ : field_trial_list_(new base::FieldTrialList(nullptr)) {}
+
+ base::TimeDelta main_thread_responsiveness_threshold() {
+ return queue_->main_thread_responsiveness_threshold_;
+ }
+
+ bool enable_non_blocking_due_to_main_thread_responsiveness_flag() {
+ return queue_->enable_non_blocking_due_to_main_thread_responsiveness_flag_;
+ }
+
+ protected:
+ scoped_refptr<MainThreadEventQueue> queue_;
+ base::test::ScopedFeatureList feature_list_;
+ blink::scheduler::MockRendererScheduler renderer_scheduler_;
+ scoped_refptr<base::TestSimpleTaskRunner> main_task_runner_;
+ std::unique_ptr<base::FieldTrialList> field_trial_list_;
+ DummyMainThreadEventQueueClient dummy_main_thread_event_queue_client_;
+};
+
+TEST_F(MainThreadEventQueueInitializationTest,
+ MainThreadResponsivenessThresholdEnabled) {
+ feature_list_.InitFromCommandLine(
+ features::kMainThreadBusyScrollIntervention.name, "");
+
+ base::FieldTrialList::CreateFieldTrial(
+ "MainThreadResponsivenessScrollIntervention", "Enabled123");
+ queue_ = new MainThreadEventQueue(kTestRoutingID,
+ &dummy_main_thread_event_queue_client_,
+ main_task_runner_, &renderer_scheduler_);
+ EXPECT_TRUE(enable_non_blocking_due_to_main_thread_responsiveness_flag());
+ EXPECT_EQ(base::TimeDelta::FromMilliseconds(123),
+ main_thread_responsiveness_threshold());
+}
+
+TEST_F(MainThreadEventQueueInitializationTest,
+ MainThreadResponsivenessThresholdDisabled) {
+ base::FieldTrialList::CreateFieldTrial(
+ "MainThreadResponsivenessScrollIntervention", "Control");
+ queue_ = new MainThreadEventQueue(kTestRoutingID,
+ &dummy_main_thread_event_queue_client_,
+ main_task_runner_, &renderer_scheduler_);
+ EXPECT_FALSE(enable_non_blocking_due_to_main_thread_responsiveness_flag());
+ EXPECT_EQ(base::TimeDelta::FromMilliseconds(0),
+ main_thread_responsiveness_threshold());
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698