Commit 4a0045f2 authored by Xiaoqian Dai's avatar Xiaoqian Dai Committed by Chromium LUCI CQ

capture mode: Still show mouse if we're in dev tablet mode.

Bug: None
Change-Id: I174f12dbaecc64e83f8fabbe53a481549dc79a87
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2600052Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
Commit-Queue: Xiaoqian Dai <xdai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#839177}
parent cb7be476
...@@ -1461,7 +1461,9 @@ bool CaptureModeSession::IsInCountDownAnimation() const { ...@@ -1461,7 +1461,9 @@ bool CaptureModeSession::IsInCountDownAnimation() const {
void CaptureModeSession::UpdateCursor(const gfx::Point& location_in_screen, void CaptureModeSession::UpdateCursor(const gfx::Point& location_in_screen,
bool is_touch) { bool is_touch) {
// Hide mouse cursor in tablet mode. // Hide mouse cursor in tablet mode.
if (TabletModeController::Get()->InTabletMode()) { auto* tablet_mode_controller = Shell::Get()->tablet_mode_controller();
if (tablet_mode_controller->InTabletMode() &&
!tablet_mode_controller->IsInDevTabletMode()) {
cursor_setter_->HideCursor(); cursor_setter_->HideCursor();
return; return;
} }
......
...@@ -1206,6 +1206,15 @@ TEST_F(CaptureModeTest, FullscreenCursorStates) { ...@@ -1206,6 +1206,15 @@ TEST_F(CaptureModeTest, FullscreenCursorStates) {
EXPECT_FALSE(controller->IsActive()); EXPECT_FALSE(controller->IsActive());
EXPECT_FALSE(cursor_manager->IsCursorLocked()); EXPECT_FALSE(cursor_manager->IsCursorLocked());
EXPECT_EQ(original_cursor_type, cursor_manager->GetCursor().type()); EXPECT_EQ(original_cursor_type, cursor_manager->GetCursor().type());
// Test that if we're in tablet mode for dev purpose, the cursor should still
// be visible.
Shell::Get()->tablet_mode_controller()->SetEnabledForDev(true);
StartCaptureSession(CaptureModeSource::kFullscreen, CaptureModeType::kImage);
EXPECT_EQ(controller->type(), CaptureModeType::kImage);
EXPECT_TRUE(cursor_manager->IsCursorLocked());
event_generator->MoveMouseTo(gfx::Point(175, 175));
EXPECT_TRUE(cursor_manager->IsCursorVisible());
} }
TEST_F(CaptureModeTest, WindowCursorStates) { TEST_F(CaptureModeTest, WindowCursorStates) {
......
...@@ -527,6 +527,10 @@ void TabletModeController::StopObservingAnimation(bool record_stats, ...@@ -527,6 +527,10 @@ void TabletModeController::StopObservingAnimation(bool record_stats,
DeleteScreenshot(); DeleteScreenshot();
} }
bool TabletModeController::IsInDevTabletMode() const {
return tablet_mode_behavior_ == kOnForDev;
}
void TabletModeController::AddObserver(TabletModeObserver* observer) { void TabletModeController::AddObserver(TabletModeObserver* observer) {
tablet_mode_observers_.AddObserver(observer); tablet_mode_observers_.AddObserver(observer);
} }
......
...@@ -123,6 +123,10 @@ class ASH_EXPORT TabletModeController ...@@ -123,6 +123,10 @@ class ASH_EXPORT TabletModeController
// clamshell. // clamshell.
void StopObservingAnimation(bool record_stats, bool delete_screenshot); void StopObservingAnimation(bool record_stats, bool delete_screenshot);
// Returns true if we're in tablet mode for development purpose (please refer
// to kOnForDev for more details.)
bool IsInDevTabletMode() const;
// TabletMode: // TabletMode:
void AddObserver(TabletModeObserver* observer) override; void AddObserver(TabletModeObserver* observer) override;
void RemoveObserver(TabletModeObserver* observer) override; void RemoveObserver(TabletModeObserver* observer) override;
...@@ -209,6 +213,16 @@ class ASH_EXPORT TabletModeController ...@@ -209,6 +213,16 @@ class ASH_EXPORT TabletModeController
bool always_show_overview_button = false; bool always_show_overview_button = false;
ForcePhysicalTabletState force_physical_tablet_state = ForcePhysicalTabletState force_physical_tablet_state =
ForcePhysicalTabletState::kDefault; ForcePhysicalTabletState::kDefault;
bool operator==(const TabletModeBehavior& other) const {
return use_sensor == other.use_sensor &&
observe_display_events == other.observe_display_events &&
observe_pointer_device_events ==
other.observe_pointer_device_events &&
block_internal_input_device == other.block_internal_input_device &&
always_show_overview_button == other.always_show_overview_button &&
force_physical_tablet_state == other.force_physical_tablet_state;
}
}; };
private: private:
......
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