Browser v1-2 を v1 chrome に寄せる - #394
Draft
MocA-Love wants to merge 4 commits into
Draft
Conversation
…hind feature flag <webview> は Electron 公式も非推奨寄りで、OOPIF ベースの native compositor が CSS z-index / pointer-events / opacity を尊重しないため multi-tab の安定運用に根本的な限界がある (scroll 吸われる・URL候補 クリック吸われる・ゴースト描画・右クリック出ない 等)。 codex 調査結果: WebContentsView への移行が本筋。1 tab = 1 native view、main process で bounds/visibility/child order 管理、DOM overlay を view 下に絶対重ねない設計にする。 この commit では v3 の骨格を投入: - apps/desktop/src/main/lib/browser/browser-view-manager.ts paneId 単位で WebContentsView を生成、setBounds/setVisible/ addChildView で制御。tab create/close/activate、navigate/back/ forward/reload、suspend (URL 編集中などに active view を一時非 表示) API。did-navigate/title/favicon/loading/fail-load/download を emit。persist:superset partition 共用。 - apps/desktop/src/lib/trpc/routers/browser-view/ register/unregister/setBounds/createTab/closeTab/activateTab/ navigate/goBack/goForward/reload/setSuspended + onTabs/ onDownload subscription - apps/desktop/src/renderer/.../BrowserPaneV3/ placeholder div で bounds 報告、main process が view を上に 配置。簡易 tab bar + toolbar + URL bar。URL 編集中 (focus〜blur) は view を suspend してクリックが DOM に届くようにしている。 - feature flag: localStorage "superset.browserV3"==="1" で v3 を 使う。未設定は従来 v1 (<webview>)。 まだ bookmark / history / find-in-page / zoom / extension toolbar / MCP createTarget 連携は v3 側に未移植。動作確認後に順次移行。
…me-adapter-webcontentsview
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…me-adapter-webcontentsview
MocA-Love
force-pushed
the
main
branch
2 times, most recently
from
May 20, 2026 11:45
edd89c5 to
50717bc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
Browser v1-2(WebContentsView 版ブラウザ)を v1 ブラウザと同等の基本機能レベルへ寄せるための draft PR。
<webview>ベースの v1 は、Electron 側の native view 挙動により z-index / pointer-events / opacity まわりが安定せず、複数タブ化の前提として限界がある。そのため WebContentsView ベースの v1-2 を feature flag 配下で追加し、まずは v1 と同じ操作感まで持っていく。変更内容
BrowserViewManagerを追加browser-viewtRPC router を追加し、register / bounds 更新 / tab 作成 / activate / close / navigate / reload / download 通知を扱うBrowserPaneV3を追加し、DOM の placeholder bounds に合わせて native view を配置BrowserPaneChromeを追加localStorage["superset.browserV3"] === "1"の時だけ v1-2 を使う現在の状態
mainはローカルで取り込み済み。コンフリクトなし確認観点