diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-07-22 11:28:29 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-07-22 11:35:34 +0200 |
commit | 1e28eaa9c45fdfeb0c75271d0cf52e427032dd76 (patch) | |
tree | 8885567999485448b66b9a20eff434bfdfb841e6 /dev-qt | |
parent | net-misc/websocketd: Initial import (diff) | |
download | gentoo-1e28eaa9c45fdfeb0c75271d0cf52e427032dd76.tar.gz gentoo-1e28eaa9c45fdfeb0c75271d0cf52e427032dd76.tar.bz2 gentoo-1e28eaa9c45fdfeb0c75271d0cf52e427032dd76.zip |
dev-qt/qtwebengine: 5.15.2_p20210421 security cleanup
Bug: https://bugs.gentoo.org/800181
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-qt')
5 files changed, 0 insertions, 809 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index 7ee8f9bdba71..562f5ae1546c 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -1,3 +1,2 @@ DIST qtwebengine-5.15.2-chromium87-ppc64le.tar.xz 28536 BLAKE2B 98f8e01e7026d9df1d30ae453d4394d3c4ad04c0620a2496235d45f5f1080c2280e040826cde7f72d9771bfc80d0c3df56c9dcbe4f763cec432ad56de37d64c5 SHA512 c90a76f44a9d720624016fd082ab3036f12e13b9789e869ebaf5e4774afca7d4187faf187f365f696d1a7eda05ca75516556ee9d291cdb3408d57cc4b23e2654 -DIST qtwebengine-5.15.2_p20210421.tar.xz 320142308 BLAKE2B 1ed6e3daad8e8da7336c1575f524f1474eb043a44a86eebdc2375e9a01dbb21a4bf622b01525c627ff5846bb375b19617ca78f418749d6e4ce53b376da0b8317 SHA512 3a57cc8eb1aab086ae2ef69b1b1eaac47827d1f460ff53d5954b0dcb6753cc0e5fb24db490ea186141e6659e26a59862e8096126450a9fde6ed1230c00e4ceaa DIST qtwebengine-5.15.2_p20210625.tar.xz 320144708 BLAKE2B cd11e69a34ff0fa07d26262906a12304c39a12575024d61db18bc696284e9c5700090e5bfed217c89d2c8eac49b0ccb7d7ee0ba716ec3a81878de1301566884d SHA512 517a8cdaff684894456db8cfb5cfca412b8764e7035623d8190d9a06f6995742097a53eb67329d12bf8dc0a56372f7d09a54532ba804a5bff245ca8ef042a4e1 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch deleted file mode 100644 index 7411567e74f0..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch +++ /dev/null @@ -1,126 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp b/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp -index 013f1dfb2..3ce63c192 100644 ---- a/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp -+++ b/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp -@@ -9,6 +9,7 @@ - - #include "libANGLE/HandleAllocator.h" - -+#include <limits> - #include <algorithm> - #include <functional> - -diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc -index fd651958f..1e8d0606c 100644 ---- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc -+++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc -@@ -14,9 +14,9 @@ - * limitations under the License. - */ - -+#include <limits> - #include "src/trace_processor/containers/string_pool.h" - --#include <limits> - - #include "perfetto/base/logging.h" - #include "perfetto/ext/base/utils.h" -diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc -index 00496b335..0dccfeb8a 100644 ---- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc -+++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc -@@ -14,6 +14,7 @@ - * limitations under the License. - */ - -+#include <limits> - #include "src/trace_processor/db/column.h" - - #include "src/trace_processor/db/compare.h" -diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc -index 837bfeba9..cdd56817d 100644 ---- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc -+++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc -@@ -14,6 +14,7 @@ - * limitations under the License. - */ - -+#include <limits> - #include "src/trace_processor/types/variadic.h" - - namespace perfetto { -diff --git a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -index be91def6b..73f202356 100644 ---- a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -+++ b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc -@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) { - } - - GType ax_platform_atk_hyperlink_get_type() { -- static volatile gsize type_volatile = 0; -+ static gsize type_volatile = 0; - - AXPlatformNodeAuraLinux::EnsureGTypeInit(); - -diff --git a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc -index 04125c6fd..6c64e5d8e 100644 ---- a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc -+++ b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc -@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) { - GType GetType() { - AXPlatformNodeAuraLinux::EnsureGTypeInit(); - -- static volatile gsize type_volatile = 0; -+ static gsize type_volatile = 0; - if (g_once_init_enter(&type_volatile)) { - static const GTypeInfo type_info = { - sizeof(AXPlatformNodeAuraLinuxClass), // class_size -diff --git a/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc b/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc -index c663a2074..38a342484 100644 ---- a/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc -+++ b/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc -@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) { - } - - GType GtkKeyBindingsHandler::HandlerGetType() { -- static volatile gsize type_id_volatile = 0; -+ static gsize type_id_volatile = 0; - if (g_once_init_enter(&type_id_volatile)) { - GType type_id = g_type_register_static_simple( - GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"), ---- a/src/3rdparty/chromium/components/bookmarks/browser/bookmark_expanded_state_tracker.cc -+++ b/src/3rdparty/chromium/components/bookmarks/browser/bookmark_expanded_state_tracker.cc -@@ -2,6 +2,7 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <cstddef> - #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h" - - #include <stdint.h> -diff --git a/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc b/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc -index 657a3c96b..ad641a082 100644 ---- a/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc -+++ b/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <cstddef> -+ - #include "components/bookmarks/browser/base_bookmark_model_observer.h" - - namespace bookmarks { -diff --git a/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc b/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -index 19f9aab5b..27fec2168 100644 ---- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -+++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -@@ -37,6 +37,7 @@ - - #include <algorithm> - #include <array> -+#include <limits> - #include "absl/base/internal/hide_ptr.h" - #include "absl/base/internal/raw_logging.h" - #include "absl/base/internal/spinlock.h" - diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch deleted file mode 100644 index 457953671a47..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 035c305ce7761f51328b45f1bd83e26aef267c9d Mon Sep 17 00:00:00 2001 -From: Frank Tang <ftang@chromium.org> -Date: Thu, 15 Oct 2020 22:44:27 -0700 -Subject: [PATCH] [Intl] call new ListFormatter::createInstance - -The one we currently using is now marked as internal and to be removed -for 68. Migrating to the style which already avaiable in ICU 67-1. - -Bug: v8:11031 -Change-Id: I668382a2e1b8602ddca02bf231c5008a6c92bf2d -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477751 -Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> -Commit-Queue: Frank Tang <ftang@chromium.org> -Cr-Commit-Position: refs/heads/master@{#70638} ---- - -diff --git a/src/3rdparty/chromium/v8/src/objects/js-list-format.cc b/src/3rdparty/chromium/v8/src/objects/js-list-format.cc -index b17d38c..e48a387 100644 ---- a/src/3rdparty/chromium/v8/src/objects/js-list-format.cc -+++ b/src/3rdparty/chromium/v8/src/objects/js-list-format.cc -@@ -29,46 +29,27 @@ - namespace internal { - - namespace { --const char* kStandard = "standard"; --const char* kOr = "or"; --const char* kUnit = "unit"; --const char* kStandardShort = "standard-short"; --const char* kOrShort = "or-short"; --const char* kUnitShort = "unit-short"; --const char* kStandardNarrow = "standard-narrow"; --const char* kOrNarrow = "or-narrow"; --const char* kUnitNarrow = "unit-narrow"; - --const char* GetIcuStyleString(JSListFormat::Style style, -- JSListFormat::Type type) { -+UListFormatterWidth GetIcuWidth(JSListFormat::Style style) { -+ switch (style) { -+ case JSListFormat::Style::LONG: -+ return ULISTFMT_WIDTH_WIDE; -+ case JSListFormat::Style::SHORT: -+ return ULISTFMT_WIDTH_SHORT; -+ case JSListFormat::Style::NARROW: -+ return ULISTFMT_WIDTH_NARROW; -+ } -+ UNREACHABLE(); -+} -+ -+UListFormatterType GetIcuType(JSListFormat::Type type) { - switch (type) { - case JSListFormat::Type::CONJUNCTION: -- switch (style) { -- case JSListFormat::Style::LONG: -- return kStandard; -- case JSListFormat::Style::SHORT: -- return kStandardShort; -- case JSListFormat::Style::NARROW: -- return kStandardNarrow; -- } -+ return ULISTFMT_TYPE_AND; - case JSListFormat::Type::DISJUNCTION: -- switch (style) { -- case JSListFormat::Style::LONG: -- return kOr; -- case JSListFormat::Style::SHORT: -- return kOrShort; -- case JSListFormat::Style::NARROW: -- return kOrNarrow; -- } -+ return ULISTFMT_TYPE_OR; - case JSListFormat::Type::UNIT: -- switch (style) { -- case JSListFormat::Style::LONG: -- return kUnit; -- case JSListFormat::Style::SHORT: -- return kUnitShort; -- case JSListFormat::Style::NARROW: -- return kUnitNarrow; -- } -+ return ULISTFMT_TYPE_UNITS; - } - UNREACHABLE(); - } -@@ -143,7 +124,7 @@ - icu::Locale icu_locale = r.icu_locale; - UErrorCode status = U_ZERO_ERROR; - icu::ListFormatter* formatter = icu::ListFormatter::createInstance( -- icu_locale, GetIcuStyleString(style_enum, type_enum), status); -+ icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status); - if (U_FAILURE(status) || formatter == nullptr) { - delete formatter; - THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError), diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch deleted file mode 100644 index 88e7b893e302..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch +++ /dev/null @@ -1,372 +0,0 @@ -diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp -index 5597c69f9..2cd48907b 100644 ---- a/src/core/web_contents_adapter.cpp -+++ b/src/core/web_contents_adapter.cpp -@@ -716,8 +716,7 @@ void WebContentsAdapter::load(const QWebEngineHttpRequest &request) - m_adapterClient->loadFinished(false, request.url(), false, - net::ERR_DISALLOWED_URL_SCHEME, - QCoreApplication::translate("WebContentsAdapter", -- "HTTP-POST data can only be sent over HTTP(S) protocol"), -- false); -+ "HTTP-POST data can only be sent over HTTP(S) protocol")); - return; - } - params.post_data = network::ResourceRequestBody::CreateFromBytes( -@@ -773,7 +772,7 @@ void WebContentsAdapter::setContent(const QByteArray &data, const QString &mimeT - - GURL dataUrlToLoad(urlString); - if (dataUrlToLoad.spec().size() > url::kMaxURLChars) { -- m_adapterClient->loadFinished(false, baseUrl, false, net::ERR_ABORTED, QString(), false); -+ m_adapterClient->loadFinished(false, baseUrl, false, net::ERR_ABORTED, QString()); - return; - } - content::NavigationController::LoadURLParams params((dataUrlToLoad)); -@@ -1995,6 +1994,7 @@ void WebContentsAdapter::discard() - if (m_webContents->IsLoading()) { - m_webContentsDelegate->didFailLoad(m_webContentsDelegate->url(webContents()), net::Error::ERR_ABORTED, - QStringLiteral("Discarded")); -+ m_webContentsDelegate->DidStopLoading(); - } - - content::WebContents::CreateParams createParams(m_profileAdapter->profile()); -diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h -index 267266d81..afc43806a 100644 ---- a/src/core/web_contents_adapter_client.h -+++ b/src/core/web_contents_adapter_client.h -@@ -466,8 +466,7 @@ public: - virtual void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) = 0; - virtual void loadCommitted() = 0; - virtual void loadVisuallyCommitted() = 0; -- virtual void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, -- const QString &errorDescription, bool triggersErrorPage) = 0; -+ virtual void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) = 0; - virtual void focusContainer() = 0; - virtual void unhandledKeyEvent(QKeyEvent *event) = 0; - virtual QSharedPointer<WebContentsAdapter> -diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp -index 1e92a46f8..f0e4130e8 100644 ---- a/src/core/web_contents_delegate_qt.cpp -+++ b/src/core/web_contents_delegate_qt.cpp -@@ -259,14 +259,12 @@ void WebContentsDelegateQt::CloseContents(content::WebContents *source) - - void WebContentsDelegateQt::LoadProgressChanged(double progress) - { -- QUrl current_url(m_viewClient->webContentsAdapter()->getNavigationEntryOriginalUrl(m_viewClient->webContentsAdapter()->currentNavigationEntryIndex())); -- int p = qMin(qRound(progress * 100), 100); -- -- if (!m_loadingErrorFrameList.isEmpty() || !m_loadProgressMap.contains(current_url) || m_loadProgressMap[current_url] == 100 || p == 100) -+ if (!m_loadingErrorFrameList.isEmpty() || !m_loadingInfo.isLoading()) // suppress signals that aren't between loadStarted and loadFinished - return; - -- if (p > m_loadProgressMap[current_url]) { // ensure strict monotonic increase -- m_loadProgressMap[current_url] = p; -+ int p = qMin(qRound(progress * 100), 100); -+ if (p > m_loadingInfo.progress) { // ensure strict monotonic increase -+ m_loadingInfo.progress = p; - m_viewClient->loadProgressChanged(p); - } - } -@@ -339,35 +337,21 @@ void WebContentsDelegateQt::RenderViewHostChanged(content::RenderViewHost *, con - } - } - --void WebContentsDelegateQt::EmitLoadStarted(const QUrl &url, bool isErrorPage) -+void WebContentsDelegateQt::emitLoadStarted(bool isErrorPage) - { -- m_isDocumentEmpty = true; -- m_viewClient->loadStarted(url, isErrorPage); -- m_viewClient->updateNavigationActions(); -- -- if ((url.hasFragment() || m_lastLoadedUrl.hasFragment()) -- && url.adjusted(QUrl::RemoveFragment) == m_lastLoadedUrl.adjusted(QUrl::RemoveFragment) -- && !m_isNavigationCommitted) { -- m_loadProgressMap.insert(url, 100); -- m_lastLoadedUrl = url; -- m_viewClient->loadProgressChanged(100); -+ // only report first ever load start or separate one for error page only -+ if (!isErrorPage && m_loadingInfo.isLoading()) // already running - return; -- } - -- if (!m_loadProgressMap.isEmpty()) { -- QMap<QUrl, int>::iterator it = m_loadProgressMap.begin(); -- while (it != m_loadProgressMap.end()) { -- if (it.value() == 100) { -- it = m_loadProgressMap.erase(it); -- continue; -- } -- ++it; -- } -+ m_isDocumentEmpty = true; // reset to default which may only be overridden on actual resource load complete -+ if (!isErrorPage) { -+ m_loadingInfo.progress = 0; -+ m_viewClient->loadStarted(m_loadingInfo.url, false); -+ m_viewClient->updateNavigationActions(); -+ m_viewClient->loadProgressChanged(0); -+ } else { -+ m_viewClient->loadStarted(toQt(GURL(content::kUnreachableWebDataURL)), true); - } -- -- m_lastLoadedUrl = url; -- m_loadProgressMap.insert(url, 0); -- m_viewClient->loadProgressChanged(0); - } - - void WebContentsDelegateQt::DidStartNavigation(content::NavigationHandle *navigation_handle) -@@ -375,34 +359,41 @@ void WebContentsDelegateQt::DidStartNavigation(content::NavigationHandle *naviga - if (!webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)) - navigation_handle->SetSilentlyIgnoreErrors(); - -- if (!navigation_handle->IsInMainFrame()) -+ if (!navigation_handle->IsInMainFrame() || !web_contents()->IsLoadingToDifferentDocument()) - return; - - - m_loadingErrorFrameList.clear(); - m_faviconManager->resetCandidates(); -- EmitLoadStarted(toQt(navigation_handle->GetURL())); -+ -+ m_loadingInfo.url = toQt(navigation_handle->GetURL()); -+ // IsErrorPage is only set after navigation commit, so check it otherwise: error page shouldn't have navigation entry -+ bool isErrorPage = m_loadingInfo.triggersErrorPage && !navigation_handle->GetNavigationEntry(); -+ emitLoadStarted(isErrorPage); - } - --void WebContentsDelegateQt::EmitLoadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription, bool triggersErrorPage) -+void WebContentsDelegateQt::emitLoadFinished(bool isErrorPage) - { -- Q_ASSERT(!isErrorPage || webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)); -- Q_ASSERT((triggersErrorPage && webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)) || !triggersErrorPage); -- -- // When error page enabled we don't need to send the error page load finished signal -- if (m_loadProgressMap[url] == 100) -+ if (!m_loadingInfo.isLoading()) // not currently running - return; - -- m_lastLoadedUrl = url; -- m_loadProgressMap[url] = 100; -- m_isNavigationCommitted = false; -- m_viewClient->loadProgressChanged(100); -+ Q_ASSERT(!isErrorPage || webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)); -+ Q_ASSERT((m_loadingInfo.triggersErrorPage && webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)) || !m_loadingInfo.triggersErrorPage); -+ -+ if (!isErrorPage) { -+ if (m_loadingInfo.progress < 100) { -+ m_loadingInfo.progress = 100; -+ m_viewClient->loadProgressChanged(100); -+ } - -- m_viewClient->loadFinished(success, url, isErrorPage, errorCode, errorDescription, triggersErrorPage); -- m_viewClient->updateNavigationActions(); -+ m_viewClient->loadFinished(m_loadingInfo.success, m_loadingInfo.url, false, m_loadingInfo.errorCode, m_loadingInfo.errorDescription); -+ m_viewClient->updateNavigationActions(); -+ } else { -+ m_viewClient->loadFinished(false, toQt(GURL(content::kUnreachableWebDataURL)), true, 0, QString()); -+ } - } - --void WebContentsDelegateQt::EmitLoadCommitted() -+void WebContentsDelegateQt::emitLoadCommitted() - { - m_findTextHelper->handleLoadCommitted(); - m_viewClient->loadCommitted(); -@@ -422,8 +413,7 @@ void WebContentsDelegateQt::DidFinishNavigation(content::NavigationHandle *navig - profileAdapter->visitedLinksManager()->addUrl(url); - } - -- m_isNavigationCommitted = true; -- EmitLoadCommitted(); -+ emitLoadCommitted(); - } - - // Success is reported by DidFinishLoad, but DidFailLoad is now dead code and needs to be handled below -@@ -440,11 +430,11 @@ void WebContentsDelegateQt::DidFinishNavigation(content::NavigationHandle *navig - // Now report we are starting to load an error-page. - m_loadingErrorFrameList.append(navigation_handle->GetRenderFrameHost()->GetRoutingID()); - m_faviconManager->resetCandidates(); -- EmitLoadStarted(toQt(GURL(content::kUnreachableWebDataURL)), true); -+ emitLoadStarted(true); - - // If it is already committed we will not see another DidFinishNavigation call or a DidFinishLoad call. - if (navigation_handle->HasCommitted()) -- EmitLoadCommitted(); -+ emitLoadCommitted(); - } - } - -@@ -486,6 +476,9 @@ void WebContentsDelegateQt::DidStopLoading() - - if (m_loadingState == LoadingState::Loading) - setLoadingState(LoadingState::Loaded); -+ -+ emitLoadFinished(); -+ m_loadingInfo.clear(); - } - - void WebContentsDelegateQt::didFailLoad(const QUrl &url, int errorCode, const QString &errorDescription) -@@ -495,7 +488,11 @@ void WebContentsDelegateQt::didFailLoad(const QUrl &url, int errorCode, const QS - // Delay notifying failure until the error-page is done loading. - // Error-pages are not loaded on failures due to abort. - bool aborted = (errorCode == -3 /* ERR_ABORTED*/ ); -- EmitLoadFinished(false /* success */ , url, false /* isErrorPage */, errorCode, errorDescription, errorPageEnabled && !aborted); -+ m_loadingInfo.success = false; -+ m_loadingInfo.url = url; -+ m_loadingInfo.errorCode = errorCode; -+ m_loadingInfo.errorDescription = errorDescription; -+ m_loadingInfo.triggersErrorPage = errorPageEnabled && !aborted; - } - - void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, int error_code) -@@ -511,8 +508,7 @@ void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_h - Q_ASSERT(error_code == -3 /* ERR_ABORTED */); - m_loadingErrorFrameList.removeOne(render_frame_host->GetRoutingID()); - m_viewClient->iconChanged(QUrl()); -- -- EmitLoadFinished(false /* success */, toQt(validated_url), true /* isErrorPage */); -+ emitLoadFinished(/* isErrorPage = */true); - return; - } - // Qt6: Consider getting rid of the error_description (Chromium already has) -@@ -532,7 +528,7 @@ void WebContentsDelegateQt::DidFinishLoad(content::RenderFrameHost* render_frame - // Trigger LoadFinished signal for main frame's error page only. - if (!render_frame_host->GetParent()) { - m_viewClient->iconChanged(QUrl()); -- EmitLoadFinished(true /* success */, toQt(validated_url), true /* isErrorPage */); -+ emitLoadFinished(/* isErrorPage = */true); - } - - return; -@@ -550,7 +546,11 @@ void WebContentsDelegateQt::DidFinishLoad(content::RenderFrameHost* render_frame - int http_statuscode = entry ? entry->GetHttpStatusCode() : 0; - bool errorPageEnabled = webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled); - bool triggersErrorPage = errorPageEnabled && (http_statuscode >= 400) && m_isDocumentEmpty; -- EmitLoadFinished(http_statuscode < 400, toQt(validated_url), false /* isErrorPage */, http_statuscode, QString(), triggersErrorPage); -+ -+ m_loadingInfo.success = http_statuscode < 400; -+ m_loadingInfo.url = toQt(validated_url); -+ m_loadingInfo.errorCode = http_statuscode; -+ m_loadingInfo.triggersErrorPage = triggersErrorPage; - } - - void WebContentsDelegateQt::DidUpdateFaviconURL(content::RenderFrameHost *render_frame_host, const std::vector<blink::mojom::FaviconURLPtr> &candidates) -diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h -index 5a3dff6e9..7149f6bff 100644 ---- a/src/core/web_contents_delegate_qt.h -+++ b/src/core/web_contents_delegate_qt.h -@@ -216,9 +216,9 @@ private: - WindowOpenDisposition disposition, const gfx::Rect &initial_pos, - const QUrl &url, - bool user_gesture); -- void EmitLoadStarted(const QUrl &url, bool isErrorPage = false); -- void EmitLoadFinished(bool success, const QUrl &url, bool isErrorPage = false, int errorCode = 0, const QString &errorDescription = QString(), bool triggersErrorPage = false); -- void EmitLoadCommitted(); -+ void emitLoadStarted(bool isErrorPage = false); -+ void emitLoadFinished(bool isErrorPage = false); -+ void emitLoadCommitted(); - - LoadingState determineLoadingState(content::WebContents *contents); - void setLoadingState(LoadingState state); -@@ -242,9 +242,17 @@ private: - int m_desktopStreamCount = 0; - mutable bool m_pendingUrlUpdate = false; - -- QMap<QUrl, int> m_loadProgressMap; -- QUrl m_lastLoadedUrl; -- bool m_isNavigationCommitted = false; -+ struct LoadingInfo { -+ bool success = false; -+ int progress = -1; -+ bool isLoading() const { return progress >= 0; } -+ QUrl url; -+ int errorCode = 0; -+ QString errorDescription; -+ bool triggersErrorPage = false; -+ void clear() { *this = LoadingInfo(); } -+ } m_loadingInfo; -+ - bool m_isDocumentEmpty = true; - base::WeakPtrFactory<WebContentsDelegateQt> m_weakPtrFactory { this }; - }; -diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp -index 6ab1c97cb..1de7f1c7f 100644 ---- a/src/webengine/api/qquickwebengineview.cpp -+++ b/src/webengine/api/qquickwebengineview.cpp -@@ -496,11 +496,9 @@ Q_STATIC_ASSERT(static_cast<int>(WebEngineError::NoErrorDomain) == static_cast<i - Q_STATIC_ASSERT(static_cast<int>(WebEngineError::CertificateErrorDomain) == static_cast<int>(QQuickWebEngineView::CertificateErrorDomain)); - Q_STATIC_ASSERT(static_cast<int>(WebEngineError::DnsErrorDomain) == static_cast<int>(QQuickWebEngineView::DnsErrorDomain)); - --void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, -- const QString &errorDescription, bool triggersErrorPage) -+void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) - { - Q_Q(QQuickWebEngineView); -- Q_UNUSED(triggersErrorPage); - - if (isErrorPage) { - #if QT_CONFIG(webengine_testsupport) -diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h -index ebe55c345..ec535298b 100644 ---- a/src/webengine/api/qquickwebengineview_p_p.h -+++ b/src/webengine/api/qquickwebengineview_p_p.h -@@ -116,8 +116,7 @@ public: - void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override; - void loadCommitted() override; - void loadVisuallyCommitted() override; -- void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, -- const QString &errorDescription, bool triggersErrorPage) override; -+ void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) override; - void focusContainer() override; - void unhandledKeyEvent(QKeyEvent *event) override; - QSharedPointer<QtWebEngineCore::WebContentsAdapter> -diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp -index e08afed44..b32c15039 100644 ---- a/src/webenginewidgets/api/qwebenginepage.cpp -+++ b/src/webenginewidgets/api/qwebenginepage.cpp -@@ -282,28 +282,20 @@ void QWebEnginePagePrivate::loadStarted(const QUrl &provisionalUrl, bool isError - QTimer::singleShot(0, q, &QWebEnginePage::loadStarted); - } - --void QWebEnginePagePrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, -- const QString &errorDescription, bool triggersErrorPage) -+void QWebEnginePagePrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) - { - Q_Q(QWebEnginePage); - Q_UNUSED(url); - Q_UNUSED(errorCode); - Q_UNUSED(errorDescription); - -- if (isErrorPage) { -- QTimer::singleShot(0, q, [q](){ -- emit q->loadFinished(false); -- }); -+ if (isErrorPage) - return; -- } - - isLoading = false; -- Q_ASSERT((success && !triggersErrorPage) || !success); -- if (!triggersErrorPage) { -- QTimer::singleShot(0, q, [q, success](){ -- emit q->loadFinished(success); -- }); -- } -+ QTimer::singleShot(0, q, [q, success](){ -+ emit q->loadFinished(success); -+ }); - } - - void QWebEnginePagePrivate::didPrintPageToPdf(const QString &filePath, bool success) -diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h -index 82ce99503..ae3ab5d25 100644 ---- a/src/webenginewidgets/api/qwebenginepage_p.h -+++ b/src/webenginewidgets/api/qwebenginepage_p.h -@@ -107,8 +107,7 @@ public: - void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override; - void loadCommitted() override { } - void loadVisuallyCommitted() override { } -- void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, -- const QString &errorDescription, bool triggersErrorPage) override; -+ void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) override; - void focusContainer() override; - void unhandledKeyEvent(QKeyEvent *event) override; - QSharedPointer<QtWebEngineCore::WebContentsAdapter> diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild deleted file mode 100644 index 21f59ef813ef..000000000000 --- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) -QTVER=$(ver_cut 1-3) -inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build - -DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications" -HOMEPAGE="https://www.qt.io/" - -if [[ ${QT5_BUILD_TYPE} == release ]]; then - KEYWORDS="amd64 ~arm arm64 ~ppc64 x86" - if [[ ${PV} == ${QTVER}_p* ]]; then - SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz" - S="${WORKDIR}/${P}" - QT5_BUILD_DIR="${S}_build" - fi -else - EGIT_BRANCH="5.15" - EGIT_REPO_URI=( - "https://code.qt.io/qt/${QT5_MODULE}.git" - "https://github.com/qt/${QT5_MODULE}.git" - ) - inherit git-r3 -fi - -# patchset based on https://github.com/chromium-ppc64le releases -SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-chromium87-ppc64le.tar.xz )" - -IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets" -REQUIRED_USE="designer? ( widgets )" - -RDEPEND=" - app-arch/snappy:= - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - dev-libs/expat - dev-libs/libevent:= - dev-libs/libxml2[icu] - dev-libs/libxslt - dev-libs/re2:= - ~dev-qt/qtcore-${QTVER} - ~dev-qt/qtdeclarative-${QTVER} - ~dev-qt/qtgui-${QTVER} - ~dev-qt/qtnetwork-${QTVER} - ~dev-qt/qtprintsupport-${QTVER} - ~dev-qt/qtwebchannel-${QTVER}[qml] - media-libs/fontconfig - media-libs/freetype - media-libs/harfbuzz:= - media-libs/lcms:2 - media-libs/libjpeg-turbo:= - media-libs/libpng:0= - >=media-libs/libvpx-1.5:=[svc(+)] - media-libs/libwebp:= - media-libs/mesa[egl,X(+)] - media-libs/opus - sys-apps/dbus - sys-apps/pciutils - sys-libs/zlib[minizip] - virtual/libudev - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXScrnSaver - x11-libs/libXtst - alsa? ( media-libs/alsa-lib ) - designer? ( ~dev-qt/designer-${QTVER} ) - geolocation? ( ~dev-qt/qtpositioning-${QTVER} ) - kerberos? ( virtual/krb5 ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( media-video/ffmpeg:0= ) - system-icu? ( >=dev-libs/icu-68.2:= ) - widgets? ( - ~dev-qt/qtdeclarative-${QTVER}[widgets] - ~dev-qt/qtwidgets-${QTVER} - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-util/gperf - dev-util/ninja - dev-util/re2c - net-libs/nodejs[ssl] - sys-devel/bison - ppc64? ( >=dev-util/gn-0.1807 ) -" - -PATCHES=( - "${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446 - "${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606 - "${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix - "${FILESDIR}/${PN}-5.15.2_p20210406-glibc-2.33.patch" # by Fedora, bug 769989 - "${FILESDIR}/${PN}-5.15.2_p20210406-gcc11.patch" # by Fedora, bug 768261 - "${FILESDIR}/${PN}-5.15.2_p20210406-icu69.patch" # bug 781236 - "${FILESDIR}/${P}-qtbug-91773.patch" # in Qt "5.15.5" -) - -src_unpack() { - # bug 307861 - eshopts_push -s extglob - if is-flagq '-g?(gdb)?([1-9])'; then - ewarn - ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)." - ewarn "You may experience really long compilation times and/or increased memory usage." - ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug." - ewarn - fi - eshopts_pop - - case ${QT5_BUILD_TYPE} in - live) git-r3_src_unpack ;& - release) default ;; - esac -} - -src_prepare() { - if [[ ${PV} == ${QTVER}_p* ]]; then - # This is made from git, and for some reason will fail w/o .git directories. - mkdir -p .git src/3rdparty/chromium/.git || die - - # We need to make sure this integrates well into Qt 5.15.2 installation. - # Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it. - sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die - fi - - # QTBUG-88657 - jumbo-build could still make trouble - if ! use jumbo-build; then - sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \ - src/buildtools/config/common.pri || die - fi - - # bug 630834 - pass appropriate options to ninja when building GN - sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \ - -i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die - - # bug 620444 - ensure local headers are used - find "${S}" -type f -name "*.pr[fio]" | \ - xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die - - if use system-icu; then - # Sanity check to ensure that bundled copy of ICU is not used. - # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because - # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system. - # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in - # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in - # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated. - local file - while read file; do - echo "#error This file should not be used!" > "${file}" || die - done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null) - fi - - qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri - qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri - - qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro - - qt_use_disable_mod widgets widgets src/src.pro - - qt5-build_src_prepare - - # we need to generate ppc64 stuff because upstream does not ship it yet - if use ppc64; then - einfo "Patching for ppc64le and generating build files" - eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch" - pushd src/3rdparty/chromium > /dev/null || die - eapply -p0 "${WORKDIR}/${PN}-ppc64le" - popd > /dev/null || die - pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die - mkdir -vp source/config/linux/ppc64 || die - mkdir -p source/libvpx/test || die - touch source/libvpx/test/test.mk || die - ./generate_gni.sh || die - popd >/dev/null || die - fi -} - -src_configure() { - export NINJA_PATH=/usr/bin/ninja - export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}" - - local myqmakeargs=( - -- - -no-build-qtpdf - -printing-and-pdf - -system-opus - -system-webp - $(usex alsa '-alsa' '-no-alsa') - $(usex bindist '-no-proprietary-codecs' '-proprietary-codecs') - $(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation') - $(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos') - $(usex pulseaudio '-pulseaudio' '-no-pulseaudio') - $(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg') - $(usex system-icu '-webengine-icu' '-no-webengine-icu') - ) - qt5-build_src_configure -} - -src_install() { - qt5-build_src_install - - # bug 601472 - if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then - die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" - fi -} |