diff options
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/browser.cpp')
-rw-r--r-- | examples/webenginewidgets/simplebrowser/browser.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/examples/webenginewidgets/simplebrowser/browser.cpp b/examples/webenginewidgets/simplebrowser/browser.cpp index 551edcc81..fd68246d0 100644 --- a/examples/webenginewidgets/simplebrowser/browser.cpp +++ b/examples/webenginewidgets/simplebrowser/browser.cpp @@ -6,6 +6,8 @@ #include <QWebEngineSettings> +using namespace Qt::StringLiterals; + Browser::Browser() { // Quit application if the download manager window is the only remaining window @@ -16,13 +18,16 @@ Browser::Browser() &m_downloadManagerWidget, &DownloadManagerWidget::downloadRequested); } -BrowserWindow *Browser::createWindow(bool offTheRecord) +BrowserWindow *Browser::createHiddenWindow(bool offTheRecord) { if (!offTheRecord && !m_profile) { - m_profile.reset(new QWebEngineProfile( - QString::fromLatin1("simplebrowser.%1").arg(qWebEngineChromiumVersion()))); + const QString name = u"simplebrowser."_s + QLatin1StringView(qWebEngineChromiumVersion()); + m_profile.reset(new QWebEngineProfile(name)); m_profile->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true); m_profile->settings()->setAttribute(QWebEngineSettings::DnsPrefetchEnabled, true); + m_profile->settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, true); + m_profile->settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls, false); + m_profile->settings()->setAttribute(QWebEngineSettings::ScreenCaptureEnabled, true); QObject::connect(m_profile.get(), &QWebEngineProfile::downloadRequested, &m_downloadManagerWidget, &DownloadManagerWidget::downloadRequested); } @@ -32,6 +37,12 @@ BrowserWindow *Browser::createWindow(bool offTheRecord) QObject::connect(mainWindow, &QObject::destroyed, [this, mainWindow]() { m_windows.removeOne(mainWindow); }); + return mainWindow; +} + +BrowserWindow *Browser::createWindow(bool offTheRecord) +{ + auto *mainWindow = createHiddenWindow(offTheRecord); mainWindow->show(); return mainWindow; } |