diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-11-16 16:05:27 +0100 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2021-11-25 12:34:59 +0100 |
commit | 1b8aa58a618eee23c4fd23b4fb51667fd8a3f2b8 (patch) | |
tree | cf2f294ce3e7e92a48397a6ab05340e7479d33ba /src/core/renderer/web_engine_page_render_frame.h | |
parent | ee3252238c200d84461d5da71bb413b798c117f3 (diff) |
Fix race condition on layout
Calling some methods without 'meaningful' layout when
render frame is visible tiggers at the best some DCHECKS.
Therefore if frame is visible wait for 'meaningful' layout.
This fixes some flaky tests on toPlainTextSync call.
Pick-to: 6.2
Change-Id: I746a1c436798b440c59f9b8b4a1d297e3fa7e56d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/core/renderer/web_engine_page_render_frame.h')
-rw-r--r-- | src/core/renderer/web_engine_page_render_frame.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/renderer/web_engine_page_render_frame.h b/src/core/renderer/web_engine_page_render_frame.h index 3fb4657c5..f2ae8fd25 100644 --- a/src/core/renderer/web_engine_page_render_frame.h +++ b/src/core/renderer/web_engine_page_render_frame.h @@ -63,12 +63,16 @@ private: FetchDocumentInnerTextCallback callback) override; void SetBackgroundColor(uint32_t color) override; void OnDestruct() override; + void DidMeaningfulLayout(blink::WebMeaningfulLayout layout_type) override; + void WasShown() override; + void WasHidden() override; void BindReceiver(mojo::PendingAssociatedReceiver<qtwebenginepage::mojom::WebEnginePageRenderFrame> receiver); private: mojo::AssociatedReceiver<qtwebenginepage::mojom::WebEnginePageRenderFrame> m_binding; + bool m_needsLayout; }; } // namespace |