diff options
Diffstat (limited to 'src/core/web_contents_adapter_client.h')
-rw-r--r-- | src/core/web_contents_adapter_client.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h index e1fb3dc4c..3cc5350df 100644 --- a/src/core/web_contents_adapter_client.h +++ b/src/core/web_contents_adapter_client.h @@ -71,6 +71,17 @@ class WebContentsAdapter; class WebContentsDelegateQt; class WebEngineSettings; +// Must match blink::WebReferrerPolicy +enum class ReferrerPolicy { + Always, + Default, + NoReferrerWhenDowngrade, + Never, + Origin, + OriginWhenCrossOrigin, + NoReferrerWhenDowngradeOriginWhenCrossOrigin, + Last = NoReferrerWhenDowngradeOriginWhenCrossOrigin, +}; class WebEngineContextMenuSharedData : public QSharedData { @@ -96,6 +107,9 @@ public: QString suggestedFileName; QString misspelledWord; QStringList spellCheckerSuggestions; + QUrl pageUrl; + QUrl frameUrl; + ReferrerPolicy referrerPolicy = ReferrerPolicy::Default; // Some likely candidates for future additions as we add support for the related actions: // bool isImageBlocked; // <enum tbd> mediaType; @@ -244,6 +258,34 @@ public: return d->spellCheckerSuggestions; } + void setFrameUrl(const QUrl &url) { + d->frameUrl = url; + } + + QUrl frameUrl() const { + return d->frameUrl; + } + + void setPageUrl(const QUrl &url) { + d->pageUrl = url; + } + + QUrl pageUrl() const { + return d->pageUrl; + } + + QUrl referrerUrl() const { + return !d->frameUrl.isEmpty() ? d->frameUrl : d->pageUrl; + } + + void setReferrerPolicy(ReferrerPolicy referrerPolicy) { + d->referrerPolicy = referrerPolicy; + } + + ReferrerPolicy referrerPolicy() const { + return d->referrerPolicy; + } + private: QSharedDataPointer<WebEngineContextMenuSharedData> d; }; |