summaryrefslogtreecommitdiff
path: root/src/citron/util/url_request_interceptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/citron/util/url_request_interceptor.cpp')
-rw-r--r--src/citron/util/url_request_interceptor.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/citron/util/url_request_interceptor.cpp b/src/citron/util/url_request_interceptor.cpp
new file mode 100644
index 000000000..996097e35
--- /dev/null
+++ b/src/citron/util/url_request_interceptor.cpp
@@ -0,0 +1,33 @@
+// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#ifdef YUZU_USE_QT_WEB_ENGINE
+
+#include "yuzu/util/url_request_interceptor.h"
+
+UrlRequestInterceptor::UrlRequestInterceptor(QObject* p) : QWebEngineUrlRequestInterceptor(p) {}
+
+UrlRequestInterceptor::~UrlRequestInterceptor() = default;
+
+void UrlRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo& info) {
+ const auto resource_type = info.resourceType();
+
+ switch (resource_type) {
+ case QWebEngineUrlRequestInfo::ResourceTypeMainFrame:
+ requested_url = info.requestUrl();
+ emit FrameChanged();
+ break;
+ case QWebEngineUrlRequestInfo::ResourceTypeSubFrame:
+ case QWebEngineUrlRequestInfo::ResourceTypeXhr:
+ emit FrameChanged();
+ break;
+ default:
+ break;
+ }
+}
+
+QUrl UrlRequestInterceptor::GetRequestedURL() const {
+ return requested_url;
+}
+
+#endif