diff options
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/browser.cpp')
-rw-r--r-- | examples/webenginewidgets/simplebrowser/browser.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/examples/webenginewidgets/simplebrowser/browser.cpp b/examples/webenginewidgets/simplebrowser/browser.cpp index 5c6dbd35e..68458b2a4 100644 --- a/examples/webenginewidgets/simplebrowser/browser.cpp +++ b/examples/webenginewidgets/simplebrowser/browser.cpp @@ -51,8 +51,6 @@ #include "browser.h" #include "browserwindow.h" -#include <QWebEngineProfile> - Browser::Browser() { // Quit application if the download manager window is the only remaining window @@ -61,14 +59,17 @@ Browser::Browser() QObject::connect( QWebEngineProfile::defaultProfile(), &QWebEngineProfile::downloadRequested, &m_downloadManagerWidget, &DownloadManagerWidget::downloadRequested); - QObject::connect( - &m_otrProfile, &QWebEngineProfile::downloadRequested, - &m_downloadManagerWidget, &DownloadManagerWidget::downloadRequested); } BrowserWindow *Browser::createWindow(bool offTheRecord) { - auto profile = offTheRecord ? &m_otrProfile : QWebEngineProfile::defaultProfile(); + if (offTheRecord && !m_otrProfile) { + m_otrProfile.reset(new QWebEngineProfile); + QObject::connect( + m_otrProfile.get(), &QWebEngineProfile::downloadRequested, + &m_downloadManagerWidget, &DownloadManagerWidget::downloadRequested); + } + auto profile = offTheRecord ? m_otrProfile.get() : QWebEngineProfile::defaultProfile(); auto mainWindow = new BrowserWindow(this, profile, false); m_windows.append(mainWindow); QObject::connect(mainWindow, &QObject::destroyed, [this, mainWindow]() { |