diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-06-07 11:14:00 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-06-07 14:15:07 +0200 |
commit | 3b04c83620a465a4f8876413c37696fbbc3a23d6 (patch) | |
tree | 7b55507c6dc8e88819ee229764e5547f759cfd74 /src/core/web_contents_delegate_qt.cpp | |
parent | 47e69dd008dd7e55dc035063dc7293a19971a0bb (diff) |
Set custom user-agent manually on new windows
Chromium forgets to set ShouldOverrideUserAgentInNewTabs(), so we need
to manually set the override.
Fixes: QTBUG-76249
Change-Id: Id240ee525dacec3cd8389aca058a61d3af62b00a
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/core/web_contents_delegate_qt.cpp')
-rw-r--r-- | src/core/web_contents_delegate_qt.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp index 95a49f40a..83f68b68d 100644 --- a/src/core/web_contents_delegate_qt.cpp +++ b/src/core/web_contents_delegate_qt.cpp @@ -225,6 +225,11 @@ void WebContentsDelegateQt::AddNewContents(content::WebContents* source, std::un { Q_UNUSED(source) QSharedPointer<WebContentsAdapter> newAdapter = createWindow(std::move(new_contents), disposition, initial_pos, user_gesture); + // Chromium can forget to pass user-agent override settings to new windows (see QTBUG-61774 and QTBUG-76249), + // so set it here. Note the actual value doesn't really matter here. Only the second value does, but we try + // to give the correct user-agent anyway. + if (newAdapter) + newAdapter->webContents()->SetUserAgentOverride(newAdapter->profileAdapter()->httpUserAgent().toStdString(), true); if (newAdapter && !newAdapter->isInitialized()) newAdapter->loadDefault(); if (was_blocked) |