Phase B (T1-5/T1-6/T2-2/T2-8/T2-12): download manager flyout w/ speed+pause/resume/cancel, bookmark bar, tab sleeping, tab search (open+closed), context menu w/ 'download video from this link' (79 tests GREEN)

This commit is contained in:
Yun Chan 2026-08-15 15:09:59 +09:00
parent af19dba8f4
commit 0caa1111e7
9 changed files with 763 additions and 3 deletions

View file

@ -43,6 +43,9 @@ public sealed class TabViewService
/// <summary>탭 뒤로/앞으로 가능 상태 변화(네비 버튼 갱신용).</summary>
public event Action? HistoryChanged;
/// <summary>우클릭 메뉴 요청 — 호스트가 WPF ContextMenu 로 재구성해 표시(Handled=true).</summary>
public event Action<CoreWebView2, CoreWebView2ContextMenuRequestedEventArgs>? ContextMenuBuild;
public TabViewService(CoreWebView2Environment env, AppConfig config, Panel host,
SiteZoomStore zoomStore, Dispatcher dispatcher)
{
@ -170,6 +173,13 @@ public sealed class TabViewService
// 페이지 내 다운로드 → 호스트 훅
cv.DownloadStarting += (_, de) => DownloadStarting?.Invoke(cv, de);
// 우클릭 메뉴 → 호스트가 커스텀 메뉴 구성(기본 메뉴 대체, T2-12/T3-5)
cv.ContextMenuRequested += (_, ce) =>
{
ce.Handled = true;
ContextMenuBuild?.Invoke(cv, ce);
};
// 초기 URL (세션 복원)
if (!string.IsNullOrEmpty(tab.Url) && string.IsNullOrEmpty(cv.Source))
{