Skip to content

Refactor browser layer behind engine abstraction#17

Merged
max4c merged 1 commit intomainfrom
codex/chromium-engine-abstraction
Apr 8, 2026
Merged

Refactor browser layer behind engine abstraction#17
max4c merged 1 commit intomainfrom
codex/chromium-engine-abstraction

Conversation

@max4c
Copy link
Copy Markdown
Owner

@max4c max4c commented Apr 8, 2026

Summary

  • add a browser engine abstraction with shared page/state/event types
  • move BrowserManager, BrowserPaneView, and browser save flow onto the engine interface
  • keep WebKit as the active engine while adding fake-engine coverage for browser behavior

Testing

  • swift build
  • swift test
  • bash scripts/smoke-cli.sh

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: abc83cd020

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +37 to +39
let configuration = WKWebViewConfiguration()
configuration.websiteDataStore = websiteDataStore
configuration.defaultWebpagePreferences.allowsContentJavaScript = true
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reuse a shared WKProcessPool for every WebKit page

Each call to makePage creates a new WKWebViewConfiguration but never assigns a shared processPool. This regresses the previous behavior where all tabs reused one pool, and in WebKit that can isolate session-scoped browsing state between tabs (for example, authentication/session cookies), so opening a site in a new tab may not inherit the logged-in state from an existing tab. Keep a single WKProcessPool on WebKitBrowserEngine and set configuration.processPool when creating each page.

Useful? React with 👍 / 👎.

@max4c max4c merged commit 0183ecf into main Apr 8, 2026
1 check passed
@max4c max4c deleted the codex/chromium-engine-abstraction branch April 8, 2026 18:06
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.

1 participant