Commit 4a372788 authored by Ria Jiang's avatar Ria Jiang Committed by Commit Bot

Use use-viz-hit-test flag in RenderWidgetHostInputEventRouter.

1. Since we want to turn on viz hit-test both with and without viz
display compositor, changing RenderWidgetHostInputEventRouter to use
use-viz-hit-test flag instead.

2. Add use-viz-hit-test flag to viz-component switches.

Bug: 804888
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I65e268d826cc57e289d1579291066cc8c58f6203
Reviewed-on: https://chromium-review.googlesource.com/879843
Commit-Queue: Ria Jiang <riajiang@chromium.org>
Reviewed-by: default avatarSadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531380}
parent a4b93b7a
......@@ -30,4 +30,11 @@ bool IsSurfaceSynchronizationEnabled() {
base::FeatureList::IsEnabled(kVizDisplayCompositor);
}
bool IsVizHitTestingEnabled() {
// TODO(riajiang): Check feature flag as well. https://crbug.com/804888
return base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kUseVizHitTest) ||
base::FeatureList::IsEnabled(kVizDisplayCompositor);
}
} // namespace features
......@@ -15,6 +15,7 @@ VIZ_COMMON_EXPORT extern const base::Feature kEnableSurfaceSynchronization;
VIZ_COMMON_EXPORT extern const base::Feature kVizDisplayCompositor;
VIZ_COMMON_EXPORT bool IsSurfaceSynchronizationEnabled();
VIZ_COMMON_EXPORT bool IsVizHitTestingEnabled();
} // namespace features
......
......@@ -24,6 +24,9 @@ const char kDeadlineToSynchronizeSurfaces[] =
// by the parent compositor.
const char kEnableSurfaceSynchronization[] = "enable-surface-synchronization";
// Enables the viz hit-test logic (HitTestAggregator and HitTestQuery).
const char kUseVizHitTest[] = "use-viz-hit-test";
uint32_t GetDeadlineToSynchronizeSurfaces() {
std::string deadline_to_synchronize_surfaces_string =
base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
......
......@@ -15,6 +15,7 @@ namespace switches {
// Keep list in alphabetical order.
VIZ_COMMON_EXPORT extern const char kDeadlineToSynchronizeSurfaces[];
VIZ_COMMON_EXPORT extern const char kEnableSurfaceSynchronization[];
VIZ_COMMON_EXPORT extern const char kUseVizHitTest[];
VIZ_COMMON_EXPORT uint32_t GetDeadlineToSynchronizeSurfaces();
......
......@@ -162,8 +162,7 @@ RenderWidgetHostInputEventRouter::RenderWidgetHostInputEventRouter()
in_touchscreen_gesture_pinch_(false),
gesture_pinch_did_send_scroll_begin_(false),
event_targeter_(std::make_unique<RenderWidgetTargeter>(this)),
enable_viz_(
base::FeatureList::IsEnabled(features::kVizDisplayCompositor)),
use_viz_hit_test_(features::IsVizHitTestingEnabled()),
weak_ptr_factory_(this) {}
RenderWidgetHostInputEventRouter::~RenderWidgetHostInputEventRouter() {
......@@ -285,7 +284,7 @@ RenderWidgetTargetResult RenderWidgetHostInputEventRouter::FindViewAtLocation(
viz::FrameSinkId frame_sink_id;
bool query_renderer = false;
if (enable_viz_) {
if (use_viz_hit_test_) {
const auto& display_hit_test_query_map =
GetHostFrameSinkManager()->display_hit_test_query();
const auto iter =
......
......@@ -261,7 +261,7 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter
hittest_data_;
std::unique_ptr<RenderWidgetTargeter> event_targeter_;
bool enable_viz_ = false;
bool use_viz_hit_test_ = false;
base::WeakPtrFactory<RenderWidgetHostInputEventRouter> weak_ptr_factory_;
......
......@@ -17,9 +17,5 @@ const char kUseAsyncEventTargeting[] = "enable-async-event-targeting";
// "//services/ui/ime/test_ime_driver".
const char kUseTestConfig[] = "use-test-config";
// WindowServer uses the viz hit-test logic (HitTestAggregator and
// HitTestQuery).
const char kUseVizHitTest[] = "use-viz-hit-test";
} // namespace switches
} // namespace ui
......@@ -13,7 +13,6 @@ namespace switches {
// alongside the definition of their values in the .cc file.
extern const char kUseAsyncEventTargeting[];
extern const char kUseTestConfig[];
extern const char kUseVizHitTest[];
} // namespace switches
} // namespace ui
......
......@@ -14,6 +14,7 @@
#include "base/memory/weak_ptr.h"
#include "base/run_loop.h"
#include "base/test/scoped_task_environment.h"
#include "components/viz/common/switches.h"
#include "components/viz/host/hit_test/hit_test_query.h"
#include "services/ui/common/accelerator_util.h"
#include "services/ui/common/switches.h"
......@@ -523,7 +524,7 @@ class EventDispatcherVizTargeterTest
void EventDispatcherVizTargeterTest::SetUp() {
base::CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kUseVizHitTest);
::switches::kUseVizHitTest);
if (is_event_processing_async()) {
base::CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kUseAsyncEventTargeting);
......
......@@ -9,6 +9,7 @@
#include "base/metrics/user_metrics.h"
#include "base/task_scheduler/post_task.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/viz/common/features.h"
#include "components/viz/host/hit_test/hit_test_query.h"
#include "services/ui/common/switches.h"
#include "services/ui/ws/event_location.h"
......@@ -47,8 +48,7 @@ void EventTargeter::FindTargetForLocationNow(
ServerWindow* root = event_targeter_delegate_->GetRootWindowForDisplay(
event_location.display_id);
DeepestWindow deepest_window;
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kUseVizHitTest)) {
if (!features::IsVizHitTestingEnabled()) {
if (root) {
deepest_window = ui::ws::FindDeepestVisibleWindowForLocation(
root, event_source, gfx::ToFlooredPoint(event_location.raw_location));
......
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