24 #include "webhittestresult.h"
27 using namespace WebEngineViewer;
29 class WebEngineViewer::WebHitTestResultPrivate
39 void init(
const QVariantMap &map);
50 bool mIsContentEditable =
false;
51 bool mIsContentSelected =
false;
52 bool mMediaPaused =
false;
53 bool mMediaMuted =
false;
57 void WebHitTestResultPrivate::init(
const QVariantMap &map)
63 mAlternateText =
map.value(QStringLiteral(
"alternateText")).toString();
64 mImageUrl =
map.value(QStringLiteral(
"imageUrl")).toUrl();
65 mIsContentEditable =
map.value(QStringLiteral(
"contentEditable")).toBool();
66 mIsContentSelected =
map.value(QStringLiteral(
"contentSelected")).toBool();
67 mLinkTitle =
map.value(QStringLiteral(
"linkTitle")).toString();
68 mLinkUrl =
map.value(QStringLiteral(
"linkUrl")).toUrl();
69 mMediaUrl =
map.value(QStringLiteral(
"mediaUrl")).toUrl();
70 mMediaPaused =
map.value(QStringLiteral(
"mediaPaused")).toBool();
71 mMediaMuted =
map.value(QStringLiteral(
"mediaMuted")).toBool();
72 mTagName =
map.value(QStringLiteral(
"tagName")).toString();
74 const QVariantList &rect =
map.value(QStringLiteral(
"boundingRect")).toList();
75 if (rect.size() == 4) {
76 mBoundingRect =
QRect(rect.at(0).toInt(), rect.at(1).toInt(), rect.at(2).toInt(), rect.at(3).toInt());
79 if (!mImageUrl.isEmpty()) {
80 mImageUrl = mPageUrl.resolved(mImageUrl);
82 if (!mLinkUrl.isEmpty()) {
83 mLinkUrl = mPageUrl.resolved(mLinkUrl);
85 if (!mMediaUrl.isEmpty()) {
86 mMediaUrl = mPageUrl.resolved(mMediaUrl);
91 WebHitTestResult::WebHitTestResult()
92 : d(new WebHitTestResultPrivate)
96 WebHitTestResult::WebHitTestResult(
const QPoint &pos,
const QUrl &pageUrl,
const QVariant &result)
97 : d(new WebHitTestResultPrivate(pos, pageUrl, result))
102 : d(new WebHitTestResultPrivate)
107 WebHitTestResult::~WebHitTestResult() =
default;
111 if (
this != &other) {
117 QString WebHitTestResult::alternateText()
const
119 return d->mAlternateText;
122 QRect WebHitTestResult::boundingRect()
const
124 return d->mBoundingRect;
127 QUrl WebHitTestResult::imageUrl()
const
132 bool WebHitTestResult::isContentEditable()
const
134 return d->mIsContentEditable;
137 bool WebHitTestResult::isContentSelected()
const
139 return d->mIsContentSelected;
142 bool WebHitTestResult::isNull()
const
147 QString WebHitTestResult::linkTitle()
const
149 return d->mLinkTitle;
152 QUrl WebHitTestResult::linkUrl()
const
157 QUrl WebHitTestResult::mediaUrl()
const
162 bool WebHitTestResult::mediaPaused()
const
164 return d->mMediaPaused;
167 bool WebHitTestResult::mediaMuted()
const
169 return d->mMediaMuted;
172 QPoint WebHitTestResult::pos()
const
177 QString WebHitTestResult::tagName()
const
182 QUrl WebHitTestResult::pageUrl()
const