Skip to content

Commit fc3e9ec

Browse files
author
Ulf Hermann
committed
Turn webEngineFileSystemAccessRequest into well-behaved value type
Allow a nullptr as the controller and add a public default ctor to allow QMetaType to create it. Task-number: QTBUG-108649 Task-number: QTBUG-135032 Pick-to: 6.9 6.8 Change-Id: I70dc626bb7cce1fdb96c4c3b4dabce2fdfc17537 Reviewed-by: Michal Klocek <[email protected]>
1 parent ba79e85 commit fc3e9ec

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/core/api/qwebenginefilesystemaccessrequest.cpp

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,17 @@ QWebEngineFileSystemAccessRequest::QWebEngineFileSystemAccessRequest(
7272
*/
7373
void QWebEngineFileSystemAccessRequest::reject()
7474
{
75-
d_ptr->reject();
75+
if (Q_LIKELY(d_ptr))
76+
d_ptr->reject();
7677
}
7778

7879
/*!
7980
Accepts the request to access local files.
8081
*/
8182
void QWebEngineFileSystemAccessRequest::accept()
8283
{
83-
d_ptr->accept();
84+
if (Q_LIKELY(d_ptr))
85+
d_ptr->accept();
8486
}
8587

8688
/*!
@@ -90,7 +92,9 @@ void QWebEngineFileSystemAccessRequest::accept()
9092

9193
QUrl QWebEngineFileSystemAccessRequest::origin() const
9294
{
93-
return d_ptr->origin();
95+
if (Q_LIKELY(d_ptr))
96+
return d_ptr->origin();
97+
return QUrl();
9498
}
9599

96100
/*!
@@ -100,7 +104,9 @@ QUrl QWebEngineFileSystemAccessRequest::origin() const
100104

101105
QUrl QWebEngineFileSystemAccessRequest::filePath() const
102106
{
103-
return d_ptr->filePath();
107+
if (Q_LIKELY(d_ptr))
108+
return d_ptr->filePath();
109+
return QUrl();
104110
}
105111

106112
/*!
@@ -109,7 +115,9 @@ QUrl QWebEngineFileSystemAccessRequest::filePath() const
109115
*/
110116
HandleType QWebEngineFileSystemAccessRequest::handleType() const
111117
{
112-
return d_ptr->handleType();
118+
if (Q_LIKELY(d_ptr))
119+
return d_ptr->handleType();
120+
return File;
113121
}
114122

115123
/*!
@@ -118,7 +126,9 @@ HandleType QWebEngineFileSystemAccessRequest::handleType() const
118126
*/
119127
AccessFlags QWebEngineFileSystemAccessRequest::accessFlags() const
120128
{
121-
return d_ptr->accessFlags();
129+
if (Q_LIKELY(d_ptr))
130+
return d_ptr->accessFlags();
131+
return {};
122132
}
123133

124134
QT_END_NAMESPACE

src/core/api/qwebenginefilesystemaccessrequest.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class Q_WEBENGINECORE_EXPORT QWebEngineFileSystemAccessRequest
2424
Q_PROPERTY(AccessFlags accessFlags READ accessFlags CONSTANT FINAL)
2525

2626
public:
27+
QWebEngineFileSystemAccessRequest() = default;
2728
QWebEngineFileSystemAccessRequest(const QWebEngineFileSystemAccessRequest &other);
2829
QWebEngineFileSystemAccessRequest &operator=(const QWebEngineFileSystemAccessRequest &other);
2930
QWebEngineFileSystemAccessRequest(QWebEngineFileSystemAccessRequest &&other) noexcept = default;

0 commit comments

Comments
 (0)