Skip to content

fix: keep full screen when Escape is pressed in a web page - #255

Open
barto95100 wants to merge 2 commits into
the-ora:mainfrom
barto95100:contrib/179-escape-fullscreen
Open

barto95100 wants to merge 2 commits into
the-ora:mainfrom
barto95100:contrib/179-escape-fullscreen

Conversation

@barto95100

Copy link
Copy Markdown

Summary

Closes #179.

Escape not handled by the page travels up the responder chain as cancelOperation(_:) and reached the window, which exits full screen. It is now stopped at the page host view, after WebKit, so pages still receive the key (closing their own dialogs, players…). Like Safari, Escape also stops a page that is still loading.

Type of Change

  • Bug fix

Testing

  • Full screen, Escape on a page: stays in full screen.
  • Escape still closes page dialogs and exits video full screen.
  • Escape during a page load stops it.

AI Assistance Disclosure

Code written with Claude (AI) under my direction; I reviewed and tested every change on macOS.

Checklist

  • Code builds successfully
  • No new warnings or errors

Escape not handled by the page travels up the responder chain as cancelOperation(_:) and reached the window, which exits full screen. Stop it at the page host view, after WebKit, so pages still get the key. Like Safari, it now stops a page that is still loading. Fixes the-ora#179.
@greptile-apps

greptile-apps Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The change affects Escape handling in browser pages.

The PR appears safe to merge, with a non-blocking gap in coverage for stopping page loads.

Findings

  1. P2 Stop-loading behavior is untested ▶

Summary

Keeps unhandled Escape from reaching the window through BrowserPageHostView.

  • Escape keeps the browser in full screen and stops active page loads.

Reviews (1) · Last reviewed commit: "fix: keep full screen when Escape is pre..." · Reviewed by Greptile

Comment thread oraTests/BrowserPageHostViewTests.swift Resolved
The handler that stops a loading page on Escape was replaced by a counter in
the test, so the stop-loading rule itself was untested. The handler now takes
any LoadingStoppable page (BrowserPage conforms), and tests check through the
host view that Escape stops a loading page and leaves a loaded one alone.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Single click of esc key is closing fullscreen.

1 participant