1.7 KiB
1.7 KiB
flutter_inappwebview_windows 0.6.0 사본 (JJ_MKVMaker 패치)
원본: https://pub.dev/packages/flutter_inappwebview_windows 0.6.0 (Apache-2.0, pubspec.yaml 의 dependency_overrides 로 사용)
고친 문제 (10/11)
원본의 C++ 쪽은 WebView2 의 다운로드 이벤트를 다루지 않아 useOnDownloadStart · onDownloadStartRequest 가 Windows 에서 듣지 않고,
WebView2 가 파일을 스스로 사용자 다운로드 폴더에 받는다. Tor 화면 (lib/ui/tor_page.dart) 은 받기를 하지 않고 안내만 보여야 한다.
수정
windows/in_app_webview/in_app_webview.cpp:ICoreWebView2_4::add_DownloadStarting. 그 웹 뷰의 설정useOnDownloadStart가 켜져 있을 때만Cancel = TRUE로 받지 않고 Dart 의onDownloadStartRequest(url · mimeType · contentLength) 로 알린다. 꺼져 있으면 (일반 브라우저) 원래대로.windows/in_app_webview/webview_channel_delegate.h/.cpp:onDownloadStartRequest보내기 추가.- example · test 폴더 제거.
고친 곳에는
JJ_MKVMaker:주석을 달았다.
앱 안 프록시 인증 (10/11)
앱 안 프록시 (DNS 강제 · Tor 다리, 127.0.0.1) 는 같은 기기의 다른 앱이 쓰지 못하게 이번 실행의 비밀값으로 Basic 인증을 묻는다 (407, realm JJ_MKVMaker).
원본은 WebView2 의 인증 이벤트를 다루지 않아 프록시가 물으면 페이지를 열지 못한다.
in_app_webview_settings.h/.cpp: 설정jjProxyAuth("아이디:비밀값@포트,포트").in_app_webview.cpp:ICoreWebView2_10::add_BasicAuthenticationRequested. 묻는 주소가 그 포트의127.0.0.1이고 challenge 의 realm 이JJ_MKVMaker일 때만 아이디 · 비밀값을 넣는다. 그 밖 (웹 사이트의 인증) 은 원래대로.