diff options
author | Jüri Valdmann <juri.valdmann@qt.io> | 2019-07-02 12:43:52 +0200 |
---|---|---|
committer | Jüri Valdmann <juri.valdmann@qt.io> | 2019-07-02 12:43:52 +0200 |
commit | 57119f16668cf79dec0dbdfbc9a2183f9e5c44fa (patch) | |
tree | a9f6c7ec75d91eb8408d02dd2c16eec4a39e0541 /src/core/web_contents_delegate_qt.h | |
parent | fb430b4e104dd6313a776980b4798f1333193149 (diff) | |
parent | bd864f6418ed164c19a700fc4b6ebab3be431c62 (diff) |
Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I806417dd7a6d2594a86ee49feedc4ad9ee48add2
Diffstat (limited to 'src/core/web_contents_delegate_qt.h')
-rw-r--r-- | src/core/web_contents_delegate_qt.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h index 2ef4f22fc..11b35c549 100644 --- a/src/core/web_contents_delegate_qt.h +++ b/src/core/web_contents_delegate_qt.h @@ -40,6 +40,7 @@ #ifndef WEB_CONTENTS_DELEGATE_QT_H #define WEB_CONTENTS_DELEGATE_QT_H +#include "content/browser/frame_host/frame_tree_node.h" #include "content/public/browser/media_capture_devices.h" #include "content/public/browser/web_contents_delegate.h" #include "content/public/browser/web_contents_observer.h" @@ -71,6 +72,23 @@ class WebContentsAdapter; class WebContentsAdapterClient; class WebEngineSettings; +class FrameFocusedObserver : public content::FrameTreeNode::Observer +{ +public: + FrameFocusedObserver(WebContentsAdapterClient *adapterClient); + ~FrameFocusedObserver(); + void addNode(content::FrameTreeNode *node); + void removeNode(content::FrameTreeNode *node); + +protected: + void OnFrameTreeNodeFocused(content::FrameTreeNode *node) override; + void OnFrameTreeNodeDestroyed(content::FrameTreeNode *node) override; + +private: + WebContentsAdapterClient *m_viewClient; + QVector<content::FrameTreeNode *> m_observedNodes; +}; + class SavePageInfo { public: @@ -133,8 +151,10 @@ public: bool TakeFocus(content::WebContents *source, bool reverse) override; // WebContentsObserver overrides + void RenderFrameCreated(content::RenderFrameHost *render_frame_host) override; void RenderFrameDeleted(content::RenderFrameHost *render_frame_host) override; void RenderProcessGone(base::TerminationStatus status) override; + void RenderFrameHostChanged(content::RenderFrameHost *old_host, content::RenderFrameHost *new_host) override; void RenderViewHostChanged(content::RenderViewHost *old_host, content::RenderViewHost *new_host) override; void DidStartNavigation(content::NavigationHandle *navigation_handle) override; void DidFinishNavigation(content::NavigationHandle *navigation_handle) override; @@ -202,6 +222,8 @@ private: int m_lastLoadProgress; LoadingState m_loadingState; bool m_didStartLoadingSeen; + FrameFocusedObserver m_frameFocusedObserver; + QUrl m_url; QString m_title; int m_audioStreamCount = 0; |