diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-20 10:35:05 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-20 10:35:05 +0200 |
| commit | 5a71cbbbc2326586aa4ef326a4ffa5dc7f5e285a (patch) | |
| tree | 26649641d2bd4d416160230a9235ad08b4adb4b6 /src/messageview.cpp | |
| parent | c1e150b08360ff312732528fefb8bbc6cc7db588 (diff) | |
| download | qtmaildir-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 'src/messageview.cpp')
0 files changed, 0 insertions, 0 deletions
