diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-01-14 11:17:50 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-01-15 09:11:31 +0100 |
commit | 498167a995444704a828da7ff5d5353946049ae3 (patch) | |
tree | 6bd3974f9172b992ef294def74c8ed6513550fa9 | |
parent | 1bc8826b7a73e104d1aa1de663114f077f129f35 (diff) |
Register PerformanceNode early enough
Must be created before RenderFrame.
Change-Id: I4ee121f6ad6a77fc48d12bc56b1fdb82ec97139b
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
-rw-r--r-- | src/core/web_contents_adapter.cpp | 9 | ||||
-rw-r--r-- | src/core/web_contents_view_qt.cpp | 12 | ||||
-rw-r--r-- | src/core/web_contents_view_qt.h | 6 |
3 files changed, 13 insertions, 14 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 118bbd490..6eff8e9ad 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -68,7 +68,6 @@ #include "base/task/sequence_manager/thread_controller_with_message_pump_impl.h" #include "base/values.h" #include "chrome/browser/tab_contents/form_interaction_tab_helper.h" -#include "components/performance_manager/embedder/performance_manager_registry.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/renderer_host/text_input_manager.h" #include "content/browser/web_contents/web_contents_impl.h" @@ -529,11 +528,6 @@ void WebContentsAdapter::initialize(content::SiteInstance *site) #if BUILDFLAG(ENABLE_EXTENSIONS) extensions::ExtensionWebContentsObserverQt::CreateForWebContents(webContents()); #endif - FormInteractionTabHelper::CreateForWebContents(webContents()); - if (auto *performance_manager_registry = performance_manager::PerformanceManagerRegistry::GetInstance()) { - if (!webContents()->GetMainFrame()->IsRenderFrameCreated()) - performance_manager_registry->CreatePageNodeForWebContents(webContents()); - } // Create an instance of WebEngineVisitedLinksManager to catch the first // content::NOTIFICATION_RENDERER_PROCESS_CREATED event. This event will @@ -2013,9 +2007,6 @@ void WebContentsAdapter::discard() #if BUILDFLAG(ENABLE_EXTENSIONS) extensions::ExtensionWebContentsObserverQt::CreateForWebContents(webContents()); #endif - FormInteractionTabHelper::CreateForWebContents(webContents()); - if (auto *performance_manager_registry = performance_manager::PerformanceManagerRegistry::GetInstance()) - performance_manager_registry->CreatePageNodeForWebContents(webContents()); } void WebContentsAdapter::undiscard() diff --git a/src/core/web_contents_view_qt.cpp b/src/core/web_contents_view_qt.cpp index 5714079cf..1db641205 100644 --- a/src/core/web_contents_view_qt.cpp +++ b/src/core/web_contents_view_qt.cpp @@ -51,6 +51,8 @@ #include "web_engine_context.h" #include "web_contents_delegate_qt.h" +#include "chrome/browser/tab_contents/form_interaction_tab_helper.h" +#include "components/performance_manager/embedder/performance_manager_registry.h" #include "components/spellcheck/spellcheck_buildflags.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" @@ -65,6 +67,16 @@ namespace QtWebEngineCore { +WebContentsViewQt::WebContentsViewQt(content::WebContents *webContents) + : m_webContents(webContents) + , m_client(nullptr) + , m_factoryClient(nullptr) +{ + FormInteractionTabHelper::CreateForWebContents(webContents); + if (auto *performance_manager_registry = performance_manager::PerformanceManagerRegistry::GetInstance()) + performance_manager_registry->CreatePageNodeForWebContents(webContents); +} + void WebContentsViewQt::setFactoryClient(WebContentsAdapterClient* client) { if (m_factoryClient) diff --git a/src/core/web_contents_view_qt.h b/src/core/web_contents_view_qt.h index 0e760b4e4..d2f82dfad 100644 --- a/src/core/web_contents_view_qt.h +++ b/src/core/web_contents_view_qt.h @@ -59,11 +59,7 @@ class WebContentsViewQt public: static inline WebContentsViewQt *from(WebContentsView *view) { return static_cast<WebContentsViewQt*>(view); } - WebContentsViewQt(content::WebContents* webContents) - : m_webContents(webContents) - , m_client(nullptr) - , m_factoryClient(nullptr) - { } + WebContentsViewQt(content::WebContents *webContents); void setFactoryClient(WebContentsAdapterClient* client); void setClient(WebContentsAdapterClient* client); |