summaryrefslogtreecommitdiffstats
path: root/src/core/web_engine_context.h
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2018-01-11 11:24:48 +0100
committerMichal Klocek <michal.klocek@qt.io>2018-05-18 10:49:44 +0000
commitcfddf26f78e521809a17d4fab5bb7cfe18d3f08e (patch)
tree5da7f2d15afd944f6b0bcdfab4e798063f2e582f /src/core/web_engine_context.h
parent7d6f72463ef372aabf4c4e6f212b9d331ef1338a (diff)
Change BrowserContextAdapter to be QPointer
BrowserContextAdapter is living and accessed only in UI thread, remove QSharedPointer usage and change QWebengineProfile to use QPointer. Prevent BrowserContextAdapter outliving WebEngineContext by setting globalObject as a parent to track WebEngineContext destruction. This commits tries to simplify the life cycle handling of browser context, it removes profile shutdown methods and QWebEngineBrowserContext, which was used to track profile destruction. Task-number: QTBUG-62147 Change-Id: I79f2c38a123cd053e3a59f4900afbdc759a396fe Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Diffstat (limited to 'src/core/web_engine_context.h')
-rw-r--r--src/core/web_engine_context.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/web_engine_context.h b/src/core/web_engine_context.h
index c1640bdf2..63dbe9f23 100644
--- a/src/core/web_engine_context.h
+++ b/src/core/web_engine_context.h
@@ -48,7 +48,7 @@
#include "base/values.h"
#include "printing/features/features.h"
-#include <QSharedPointer>
+#include <QScopedPointer>
namespace base {
class RunLoop;
@@ -80,7 +80,8 @@ class WebEngineContext : public base::RefCounted<WebEngineContext> {
public:
static WebEngineContext *current();
- QSharedPointer<BrowserContextAdapter> defaultBrowserContext();
+ BrowserContextAdapter *defaultBrowserContext();
+
QObject *globalQObject();
#if BUILDFLAG(ENABLE_BASIC_PRINTING)
printing::PrintJobManager* getPrintJobManager();
@@ -99,7 +100,7 @@ private:
std::unique_ptr<content::ContentMainRunner> m_contentRunner;
std::unique_ptr<content::BrowserMainRunner> m_browserRunner;
QObject* m_globalQObject;
- QSharedPointer<BrowserContextAdapter> m_defaultBrowserContext;
+ QScopedPointer<BrowserContextAdapter> m_defaultBrowserContext;
std::unique_ptr<DevToolsServerQt> m_devtoolsServer;
#if BUILDFLAG(ENABLE_BASIC_PRINTING)
std::unique_ptr<printing::PrintJobManager> m_printJobManager;