summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-20 10:35:05 +0200
committerDanilo M. <danix@danix.xyz>2026-08-20 10:35:05 +0200
commit5a71cbbbc2326586aa4ef326a4ffa5dc7f5e285a (patch)
tree26649641d2bd4d416160230a9235ad08b4adb4b6 /tests
parentc1e150b08360ff312732528fefb8bbc6cc7db588 (diff)
downloadqtmaildir-5a71cbbbc2326586aa4ef326a4ffa5dc7f5e285a.tar.gz
qtmaildir-5a71cbbbc2326586aa4ef326a4ffa5dc7f5e285a.zip
docs: correct item 126, the cause is createWindow, not the interceptor
The first diagnosis was wrong and the user's own follow-up disproved it: a plain-text GitHub mail opens its links correctly while an HTML newsletter does not. If RequestInterceptor blocking https were the cause, neither would work. Verified against the two messages named. The difference is target="_blank". An anchor with no target navigates the main frame and reaches acceptNavigationRequest, which hands it to QDesktopServices::openUrl; that path works today. An anchor asking for a new window is routed by Chromium to QWebEnginePage::createWindow(), which MessagePage does not override, so the base implementation returns nullptr and the click is discarded before any existing code observes it. Marketing HTML uses _blank almost universally, which is what makes it read as "HTML mail is broken". Both messages render HTML, so this was never a text-versus-HTML distinction: the GitHub mail is multipart/alternative and its HTML part is what the pane shows. The entry also drops the proposal to let main-frame navigations through the interceptor. That would have weakened the remote-content protection to fix something it was not causing. Nothing here needs m_allowRemote relaxed: the URL goes to an external browser and the pane fetches nothing. Records the trap that decides the fix's shape: createWindow() receives no URL, only a WebWindowType, so an override returning nullptr discards the target before it can be read. Item 127 is updated to match. OpenLinkInNewTab and OpenLinkInNewWindow fail through the same missing createWindow(), so fixing 126 may make them start working, which is worse rather than better. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YDq53rMd3AQp7QmcZzpuBM
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions