From dae6a21c69b509ef23766239f34a83465d7808eb Mon Sep 17 00:00:00 2001
From: Bernhard M. Wiedemann <bwiedemann+opensusegit@suse.de>
Date: May 29 2020 19:22:18 +0000
Subject: Update libqt5-qtwebengine to rev 59 via SR 809430


https://build.opensuse.org/request/show/809430
by user Vogtinator + maxlin_factory
Qt 5.15.0

---

diff --git a/packages/libq/libqt5-qtwebengine/.files b/packages/libq/libqt5-qtwebengine/.files
index 8deb05f..ce18520 100644
Binary files a/packages/libq/libqt5-qtwebengine/.files and b/packages/libq/libqt5-qtwebengine/.files differ
diff --git a/packages/libq/libqt5-qtwebengine/.rev b/packages/libq/libqt5-qtwebengine/.rev
index 41aa225..a7896a1 100644
--- a/packages/libq/libqt5-qtwebengine/.rev
+++ b/packages/libq/libqt5-qtwebengine/.rev
@@ -588,4 +588,12 @@
   of https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463</comment>
     <requestid>797111</requestid>
   </revision>
+  <revision rev="59" vrev="1">
+    <srcmd5>960e8bd52f42eaf7b30729f32befdd0a</srcmd5>
+    <version>5.15.0</version>
+    <time>1590779737</time>
+    <user>maxlin_factory</user>
+    <comment>Qt 5.15.0</comment>
+    <requestid>809430</requestid>
+  </revision>
 </revisionlist>
diff --git a/packages/libq/libqt5-qtwebengine/QTBUG-81574.patch b/packages/libq/libqt5-qtwebengine/QTBUG-81574.patch
deleted file mode 100644
index a13a99c..0000000
--- a/packages/libq/libqt5-qtwebengine/QTBUG-81574.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-From 7d56bbb4c1708f00f729bdfe2e8951c644c83194 Mon Sep 17 00:00:00 2001
-From: Kirill Burtsev <kirill.burtsev@qt.io>
-Date: Wed, 12 Feb 2020 16:15:34 +0100
-Subject: [PATCH] Clear previous page text selection on new navigation unconditionally
-
-Remove code duplication on triggering new url load, and use direct
-code to clear SelectedText instead of CollapseSelection as it assumes
-focused frame and might be ignored.
-
-Fixes: QTBUG-81574
-Change-Id: I01cf02967e118f407c8a3997e176d5b258478a5a
----
-
-diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
-index 8cc8179..a7579f9 100644
---- a/src/core/web_contents_adapter.cpp
-+++ b/src/core/web_contents_adapter.cpp
-@@ -67,6 +67,7 @@
- #include "base/task/sequence_manager/thread_controller_with_message_pump_impl.h"
- #include "base/values.h"
- #include "content/browser/renderer_host/render_view_host_impl.h"
-+#include "content/browser/renderer_host/text_input_manager.h"
- #include "content/browser/web_contents/web_contents_impl.h"
- #include "content/public/browser/browser_task_traits.h"
- #include "content/public/browser/child_process_security_policy.h"
-@@ -369,6 +370,23 @@
-     }
- }
- 
-+static void Navigate(WebContentsAdapter *adapter, const content::NavigationController::LoadURLParams &params)
-+{
-+    Q_ASSERT(adapter);
-+    adapter->webContents()->GetController().LoadURLWithParams(params);
-+    adapter->focusIfNecessary();
-+    adapter->resetSelection();
-+}
-+
-+static void NavigateTask(QWeakPointer<WebContentsAdapter> weakAdapter, const content::NavigationController::LoadURLParams &params)
-+{
-+    DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-+    const auto adapter = weakAdapter.toStrongRef();
-+    if (!adapter)
-+        return;
-+    Navigate(adapter.get(), params);
-+}
-+
- namespace {
- static QList<WebContentsAdapter *> recursive_guard_loading_adapters;
- 
-@@ -705,21 +723,12 @@
-         }
-     }
- 
--    auto navigate = [](QWeakPointer<WebContentsAdapter> weakAdapter, const content::NavigationController::LoadURLParams &params) {
--        const auto adapter = weakAdapter.toStrongRef();
--        if (!adapter)
--            return;
--        adapter->webContents()->GetController().LoadURLWithParams(params);
--        adapter->focusIfNecessary();
--    };
--
--    QWeakPointer<WebContentsAdapter> weakThis(sharedFromThis());
-     if (resizeNeeded) {
-         // Schedule navigation on the event loop.
-         base::PostTaskWithTraits(FROM_HERE, {content::BrowserThread::UI},
--                                 base::BindOnce(navigate, std::move(weakThis), std::move(params)));
-+                                 base::BindOnce(&NavigateTask, sharedFromThis().toWeakRef(), std::move(params)));
-     } else {
--        navigate(std::move(weakThis), params);
-+        Navigate(this, params);
-     }
- }
- 
-@@ -752,9 +761,7 @@
-     params.can_load_local_resources = true;
-     params.transition_type = ui::PageTransitionFromInt(ui::PAGE_TRANSITION_TYPED | ui::PAGE_TRANSITION_FROM_API);
-     params.override_user_agent = content::NavigationController::UA_OVERRIDE_TRUE;
--    m_webContents->GetController().LoadURLWithParams(params);
--    focusIfNecessary();
--    m_webContents->CollapseSelection();
-+    Navigate(this, params);
- }
- 
- void WebContentsAdapter::save(const QString &filePath, int savePageFormat)
-@@ -1676,6 +1683,17 @@
-     return m_webContents->GetFocusedFrame() != nullptr;
- }
- 
-+void WebContentsAdapter::resetSelection()
-+{
-+    CHECK_INITIALIZED();
-+    // unconditionally clears the selection in contrast to CollapseSelection, which checks focus state first
-+    if (auto rwhv = static_cast<RenderWidgetHostViewQt *>(m_webContents->GetRenderWidgetHostView())) {
-+        if (auto mgr = rwhv->GetTextInputManager())
-+            if (auto selection = const_cast<content::TextInputManager::TextSelection *>(mgr->GetTextSelection(rwhv)))
-+                selection->SetSelection(base::string16(), 0, gfx::Range(), false);
-+    }
-+}
-+
- WebContentsAdapterClient::RenderProcessTerminationStatus
- WebContentsAdapterClient::renderProcessExitStatus(int terminationStatus) {
-     auto status = WebContentsAdapterClient::RenderProcessTerminationStatus(-1);
-diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h
-index 11f8f9c..f8f147f 100644
---- a/src/core/web_contents_adapter.h
-+++ b/src/core/web_contents_adapter.h
-@@ -229,6 +229,7 @@
-     void focusIfNecessary();
-     bool isFindTextInProgress() const;
-     bool hasFocusedFrame() const;
-+    void resetSelection();
- 
-     // meant to be used within WebEngineCore only
-     void initialize(content::SiteInstance *site);
-diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
-index 8cdcc9f..94b3f16 100644
---- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
-+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
-@@ -700,7 +700,7 @@
-     CursorTrackedPage(QWidget *parent = 0): QWebEnginePage(parent) {
-     }
- 
--    QString selectedText() {
-+    QString jsSelectedText() {
-         return evaluateJavaScriptSync(this, "window.getSelection().toString()").toString();
-     }
- 
-@@ -716,42 +716,52 @@
-     int isSelectionCollapsed() {
-         return evaluateJavaScriptSync(this, "window.getSelection().getRangeAt(0).collapsed").toBool();
-     }
--    bool hasSelection()
--    {
--        return !selectedText().isEmpty();
--    }
- };
- 
- void tst_QWebEnginePage::textSelection()
- {
--    QWebEngineView view;
--    CursorTrackedPage *page = new CursorTrackedPage(&view);
--    QString content("<html><body><p id=one>The quick brown fox</p>" \
-+    CursorTrackedPage page;
-+
-+    QString textToSelect("The quick brown fox");
-+    QString content = QString("<html><body><p id=one>%1</p>" \
-         "<p id=two>jumps over the lazy dog</p>" \
--        "<p>May the source<br/>be with you!</p></body></html>");
--    page->setView(&view);
--    QSignalSpy loadSpy(&view, SIGNAL(loadFinished(bool)));
--    page->setHtml(content);
-+        "<p>May the source<br/>be with you!</p></body></html>").arg(textToSelect);
-+
-+    QSignalSpy loadSpy(&page, SIGNAL(loadFinished(bool)));
-+    page.setHtml(content);
-     QTRY_COMPARE_WITH_TIMEOUT(loadSpy.count(), 1, 20000);
- 
-     // these actions must exist
--    QVERIFY(page->action(QWebEnginePage::SelectAll) != 0);
-+    QVERIFY(page.action(QWebEnginePage::SelectAll) != 0);
- 
-     // ..but SelectAll is disabled because the page has no focus due to disabled FocusOnNavigationEnabled.
--    QCOMPARE(page->action(QWebEnginePage::SelectAll)->isEnabled(), false);
-+    QCOMPARE(page.action(QWebEnginePage::SelectAll)->isEnabled(), false);
- 
-     // Verify hasSelection returns false since there is no selection yet...
--    QCOMPARE(page->hasSelection(), false);
-+    QVERIFY(!page.hasSelection());
-+    QVERIFY(page.jsSelectedText().isEmpty());
- 
-     // this will select the first paragraph
-     QString selectScript = "var range = document.createRange(); " \
-         "var node = document.getElementById(\"one\"); " \
-         "range.selectNode(node); " \
-         "getSelection().addRange(range);";
--    evaluateJavaScriptSync(page, selectScript);
--    QCOMPARE(page->selectedText().trimmed(), QString::fromLatin1("The quick brown fox"));
-+    evaluateJavaScriptSync(&page, selectScript);
-+
-     // Make sure hasSelection returns true, since there is selected text now...
--    QCOMPARE(page->hasSelection(), true);
-+    QTRY_VERIFY(page.hasSelection());
-+    QCOMPARE(page.selectedText().trimmed(), textToSelect);
-+
-+    QCOMPARE(page.jsSelectedText().trimmed(), textToSelect);
-+
-+    // navigate away and check that selection is cleared
-+    page.load(QUrl("about:blank"));
-+    QTRY_COMPARE(loadSpy.count(), 2);
-+
-+    QVERIFY(!page.hasSelection());
-+    QVERIFY(page.selectedText().isEmpty());
-+
-+    QVERIFY(page.jsSelectedText().isEmpty());
- }
- 
- 
diff --git a/packages/libq/libqt5-qtwebengine/QTBUG-82186.patch b/packages/libq/libqt5-qtwebengine/QTBUG-82186.patch
deleted file mode 100644
index 2d9955e..0000000
--- a/packages/libq/libqt5-qtwebengine/QTBUG-82186.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From c729361f9f8f6c0602d401d5e230ba63ab11a682 Mon Sep 17 00:00:00 2001
-From: Jüri Valdmann <juri.valdmann@qt.io>
-Date: Wed, 19 Feb 2020 14:15:34 +0100
-Subject: [PATCH] Fix recursive deadlock in sandbox::InitLibcLocaltimeFunctions
-
-QtWebEngineProcess overrides the C library's localtime* functions by redefining
-the symbols in src/process/main.cpp and then using dlsym(RTLD_NEXT, ...) to
-fetch the original symbols in //sandbox/linux/services/libc_interceptor.cc. The
-functions InitLibcLocaltimeFunctions{,Impl} use pthread_once to guarantee that
-this symbol resolution happens only once.
-
-If dlsym fails, for example because the C library is earlier in the search path
-than QtWebEngineCore, then InitLibcLocaltimeFunctionsImpl tries to print an
-error message with LOG(ERROR). However, printing a log message involves also
-printing the timestamp in the local time zone, using, of course, localtime_r.
-Thus, InitLibcLocaltimeFunctions depends on localtime_r depends on
-InitLibcLocaltimeFunctions, and we get a deadlock due to the recursive use of
-pthread_once.
-
-This deadlock happens only for utility processes and not for zygotes or
-renderers, since the latter proxy the localtime* calls back to the main process.
-(See service_manager::ZygoteMain, where the first function call is to
-sandbox::SetAmZygoteOrRenderer, and compare with content::UtilityMain)
-
-Task-number: QTBUG-82186
-Change-Id: I32009e8482b2634c47082a4c89393dc61c22507e
----
-
-diff --git a/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc b/chromium/sandbox/linux/services/libc_interceptor.cc
-index ed4dd02..fad77f9 100644
---- a/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc
-+++ b/src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc
-@@ -199,6 +199,7 @@
-   g_libc_funcs->localtime64_r =
-       reinterpret_cast<LocaltimeRFunction>(dlsym(RTLD_NEXT, "localtime64_r"));
- 
-+#if !defined(TOOLKIT_QT)
-   if (!g_libc_funcs->localtime || !g_libc_funcs->localtime_r) {
-     // https://bugs.chromium.org/p/chromium/issues/detail?id=16800
-     //
-@@ -210,6 +211,7 @@
-                   " time related functions to misbehave. "
-                   "https://bugs.chromium.org/p/chromium/issues/detail?id=16800";
-   }
-+#endif
- 
-   if (!g_libc_funcs->localtime)
-     g_libc_funcs->localtime = gmtime;
diff --git a/packages/libq/libqt5-qtwebengine/fix1163766.patch b/packages/libq/libqt5-qtwebengine/fix1163766.patch
index c70b637..2e9a03d 100644
--- a/packages/libq/libqt5-qtwebengine/fix1163766.patch
+++ b/packages/libq/libqt5-qtwebengine/fix1163766.patch
@@ -6,12 +6,12 @@ https://bugzilla.opensuse.org/show_bug.cgi?id=1163766
 seccomp filters disallow a new kernel syscall to get time
 used on i586
 
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
+Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
 ===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
-@@ -1422,5 +1422,13 @@
- #define __NR_memfd_create 356
+--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
++++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
+@@ -1710,5 +1710,13 @@
+ #define __NR_clone3 435
  #endif
  
 +#if !defined(__NR_clock_gettime64)
@@ -24,10 +24,10 @@ Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/sys
 +
  #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
  
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
 ===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
 @@ -151,6 +151,11 @@ ResultExpr EvaluateSyscallImpl(int fs_de
    if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) {
      return RestrictClockID();
@@ -40,11 +40,11 @@ Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/sec
  
    if (sysno == __NR_clone) {
      return RestrictCloneToThreadsAndEPERMFork();
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
+Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
 ===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
-@@ -30,6 +30,9 @@ ResultExpr ImeProcessPolicy::EvaluateSys
+--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
++++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
+@@ -31,6 +31,9 @@ ResultExpr ImeProcessPolicy::EvaluateSys
  #if defined(__NR_clock_gettime)
      case __NR_clock_gettime:
  #endif
@@ -52,5 +52,5 @@ Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/services/service_
 +    case __NR_clock_gettime64:
 +#endif
        return Allow();
-     default:
-       auto* broker_process = SandboxLinux::GetInstance()->broker_process();
+ // https://crbug.com/991435
+ #if defined(__NR_getrusage)
diff --git a/packages/libq/libqt5-qtwebengine/libqt5-qtwebengine.changes b/packages/libq/libqt5-qtwebengine/libqt5-qtwebengine.changes
index 8cd63a3..4859cc3 100644
--- a/packages/libq/libqt5-qtwebengine/libqt5-qtwebengine.changes
+++ b/packages/libq/libqt5-qtwebengine/libqt5-qtwebengine.changes
@@ -1,8 +1,53 @@
 -------------------------------------------------------------------
+Wed May 27 08:47:23 UTC 2020 - Fabian Vogt <fvogt@suse.com>
+
+- Can't use system VPX on Leap 15.2
+
+-------------------------------------------------------------------
+Tue May 26 11:27:19 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
+
+- Update to version 5.15.0:
+  * No changelog available
+
+-------------------------------------------------------------------
+Thu May 21 10:35:41 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
+
+- Update to version 5.15.0-rc2:
+  * No changelog available
+  * Removed some-more-includes-gcc10.patch: contained in upstream
+
+-------------------------------------------------------------------
+Wed May  6 11:43:17 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
+
+- Update to 5.15.0-rc:
+  * New bugfix release
+  * For the changes between 5.14.2 and 5.15.0 please see:
+    http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.15.0/?h=5.15.0
+- Drop patches, now upstream:
+  * QTBUG-82186.patch
+
+-------------------------------------------------------------------
 Fri Apr 24 10:19:13 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
 
 - Add icu-v67.patch to fix compilation with icu v67, this is a backport
   of https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463 
+- Rebase icu-v67.patch on 5.15.0-beta4
+
+-------------------------------------------------------------------
+Fri Apr 24 07:11:42 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
+
+- Update to 5.15.0-beta4:
+  * New bugfix release
+  * No changelog available
+- Refresh QTBUG-82186.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 06:47:59 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
+
+- Update to 5.15.0-beta3:
+  * New bugfix release
+  * No changelog available
+- Refresh fix1163766.patch
 
 -------------------------------------------------------------------
 Thu Apr  9 08:21:02 UTC 2020 - Bernhard Wiedemann <bwiedemann@suse.com>
@@ -16,6 +61,23 @@ Mon Mar 30 13:49:40 UTC 2020 - Fabian Vogt <fvogt@suse.com>
   * some-more-includes-gcc10.patch
 
 -------------------------------------------------------------------
+Tue Mar 24 12:14:06 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
+
+- Update to 5.15.0-beta2:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Fri Feb 28 09:59:24 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
+
+- Update to 5.15.0-beta1:
+  * New bugfix release
+  * No changelog available
+- Drop patches, now upstream:
+  * fix-missing-designerplugin.patch
+  * QTBUG-81574.patch
+
+-------------------------------------------------------------------
 Fri Feb 21 13:36:31 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
 
 - Fix a deadlock causing audio/video playback to fail (boo#1163744):
@@ -28,6 +90,19 @@ Fri Feb 21 09:25:44 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
   * QTBUG-81574.patch
 
 -------------------------------------------------------------------
+Wed Feb 19 10:17:00 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
+
+- Update to 5.15.0-alpha:
+  * New feature release
+  * For more details please see:
+    https://wiki.qt.io/New_Features_in_Qt_5.15
+- Add patch to fix building the designer plugin:
+  * fix-missing-designerplugin.patch
+- Move designer plugin into -devel subpackage
+- Add packages for new Qt PDF module (which is technically separate
+  from WebEngine, but shares the source tarball)
+
+-------------------------------------------------------------------
 Mon Jan 27 13:14:47 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
 
 - Update to 5.14.1:
diff --git a/packages/libq/libqt5-qtwebengine/libqt5-qtwebengine.spec b/packages/libq/libqt5-qtwebengine/libqt5-qtwebengine.spec
index bdb3e95..8572a92 100644
--- a/packages/libq/libqt5-qtwebengine/libqt5-qtwebengine.spec
+++ b/packages/libq/libqt5-qtwebengine/libqt5-qtwebengine.spec
@@ -20,49 +20,35 @@
 %define qt5_snapshot 0
 
 %if %{?suse_version} > 1500 || 0%{?sle_version} > 150100
-%bcond_without system_vpx
-%else
-%bcond_with system_vpx
-%endif
-%if 0%{?suse_version} > 1500
-# Needs ICU >= 63
+%bcond_without system_harfbuzz
 %bcond_without system_icu
 %else
+%bcond_with system_harfbuzz
 %bcond_with system_icu
 %endif
-%if %{?suse_version} >= 1330 || (0%{?is_opensuse} && 0%{?sle_version} >= 120200)
-%bcond_without system_ffmpeg
+%if %{?suse_version} > 1500 || 0%{?sle_version} > 150200
+%bcond_without system_vpx
 %else
-%bcond_with system_ffmpeg
+%bcond_with system_vpx
 %endif
-%if %{?suse_version} >= 1320 || (0%{?suse_version} == 1315 && 0%{?sle_version} >= 120200)
+%bcond_without system_ffmpeg
 %bcond_without system_minizip
-%else
-%bcond_with system_minizip
-%endif
-# Not even in Tumbleweed as of 2019-03-22
-%bcond_with system_harfbuzz
-# This is just overall condition to contain everything we can't provide on SLE12
-%if 0%{?suse_version} >= 1320 || 0%{?is_opensuse}
-%bcond_with sle_bundles
-%else
-%bcond_without sle_bundles
-%endif
+
 # spellchecking dictionary directory
 %global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries
 
 Name:           libqt5-qtwebengine
-Version:        5.14.1
+Version:        5.15.0
 Release:        0
 Summary:        Qt 5 WebEngine Library
 License:        LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
 Group:          Development/Libraries/X11
 URL:            https://www.qt.io
 %define base_name libqt5
-%define real_version 5.14.1
-%define so_version 5.14.1
-%define tar_version qtwebengine-everywhere-src-5.14.1
-Source:         https://download.qt.io/official_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
+%define real_version 5.15.0
+%define so_version 5.15.0
+%define tar_version qtwebengine-everywhere-src-5.15.0
+Source:         https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
 Source1:        baselibs.conf
 # PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6
 Patch1:         armv6-ffmpeg-no-thumb.patch
@@ -70,12 +56,6 @@ Patch1:         armv6-ffmpeg-no-thumb.patch
 Patch2:         disable-gpu-when-using-nouveau-boo-1005323.diff
 # PATCH-FIX-UPSTREAM 0001-fix-build-after-y2038-changes-in-glibc.patch
 Patch3:         0001-fix-build-after-y2038-changes-in-glibc.patch
-# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtwebengine/+/290321
-Patch4:         QTBUG-81574.patch
-# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/291216
-Patch5:         QTBUG-82186.patch
-# PATCH-FIX-OPENSUSE
-Patch6:         some-more-includes-gcc10.patch
 Patch7:         fix1163766.patch
 # PATCH-FIX-UPSTREAM https://chromium-review.googlesource.com/c/v8/v8/+/2136489
 Patch8:         icu-v67.patch
@@ -94,6 +74,8 @@ BuildRequires:  git-core
 BuildRequires:  krb5
 BuildRequires:  krb5-devel
 BuildRequires:  libQt5QuickControls2-devel
+# For building pdf exmples...
+BuildRequires:  libqt5-qtsvg-devel
 BuildRequires:  libcap-devel
 BuildRequires:  libgcrypt-devel
 BuildRequires:  libicu-devel
@@ -180,17 +162,16 @@ BuildRequires:  pkgconfig(xscrnsaver)
 BuildRequires:  pkgconfig(xt)
 BuildRequires:  pkgconfig(xtst)
 BuildRequires:  pkgconfig(zlib)
-%if !%{with sle_bundles}
 BuildRequires:  yasm-devel
-%endif
 %if %{with system_minizip}
 BuildRequires:  pkgconfig(minizip)
 %endif
 %if %{with system_harfbuzz}
-BuildRequires:  pkgconfig(harfbuzz) >= 2.0.0
+BuildRequires:  pkgconfig(harfbuzz) >= 2.2.0
 %endif
 %if %{with system_icu}
-BuildRequires:  pkgconfig(icu-i18n) >= 63.0
+BuildRequires:  pkgconfig(icu-uc) >= 64.0
+BuildRequires:  pkgconfig(icu-i18n) >= 64.0
 %endif
 %if %{with system_vpx}
 BuildRequires:  pkgconfig(vpx) >= 1.8.0
@@ -245,7 +226,7 @@ API guarantees. The packages that build against these have to require
 the exact Qt version.
 
 %package examples
-Summary:        Qt5 location examples
+Summary:        Qt5 WebEngine examples
 Group:          Development/Libraries/X11
 Requires:       libqt5-qtquickcontrols2
 Recommends:     %{name}-devel
@@ -253,6 +234,57 @@ Recommends:     %{name}-devel
 %description examples
 Examples for the libqt5-qtwebengine module.
 
+%package -n libQt5Pdf5
+Summary:        Qt5 PDF library
+Group:          Development/Libraries/X11
+
+%description -n libQt5Pdf5
+Main library of the Qt PDF module.
+
+%package -n libQt5PdfWidgets5
+Summary:        Qt5 PDF library for Qt Widgets
+Group:          Development/Libraries/X11
+
+%description -n libQt5PdfWidgets5
+Library of the Qt PDF module with support for Qt Widgets.
+
+%package -n libqt5-qtpdf-imports
+Summary:        Qt5 PDF module for QML
+Group:          Development/Libraries/X11
+
+%description -n libqt5-qtpdf-imports
+Qt Quick module for the Qt PDF library.
+
+%package -n libqt5-qtpdf-devel
+Summary:        Development files for the Qt5 PDF library
+Group:          Development/Libraries/X11
+Requires:       libQt5Pdf5 = %{version}
+Requires:       libQt5PdfWidgets5 = %{version}
+
+%description -n libqt5-qtpdf-devel
+You need this package if you want to compile programs with Qt PDF.
+
+%package -n libqt5-qtpdf-private-headers-devel
+Summary:        Non-ABI stable experimental API for the Qt5 PDF library
+Group:          Development/Libraries/C and C++
+BuildArch:      noarch
+Requires:       libqt5-qtpdf-devel = %{version}
+%requires_ge    libqt5-qtbase-private-headers-devel
+
+%description -n libqt5-qtpdf-private-headers-devel
+This package provides private headers of libqt5-qtpdf that are normally
+not used by application development and that do not have any ABI or
+API guarantees. The packages that build against these have to require
+the exact Qt version.
+
+%package -n libqt5-qtpdf-examples
+Summary:        Qt5 PDF examples
+Group:          Development/Libraries/X11
+Recommends:     libqt5-qtpdf-devel
+
+%description -n libqt5-qtpdf-examples
+Examples for the libqt5-qtpdf module.
+
 %prep
 %setup -q -n %{tar_version}
 sed -i 's|$(STRIP)|strip|g' src/core/core_module.pro
@@ -268,16 +300,6 @@ sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \
 mkdir .git
 %endif
 
-%if 0%{?suse_version} < 1330
-# WE checks the version of GCC qtbase was built with, not the version it's building with.
-# ARGH!
-echo "QT_GCC_MAJOR_VERSION = 7" > qtwebengine_new.pro
-echo "QT_GCC_MINOR_VERSION = 2" >> qtwebengine_new.pro
-echo "QT_CONFIG += c++14" >> qtwebengine_new.pro
-cat qtwebengine.pro >> qtwebengine_new.pro
-mv qtwebengine{_new,}.pro
-%endif
-
 %ifnarch x86_64
 RPM_OPT_FLAGS="$RPM_OPT_FLAGS "
 export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / }
@@ -311,11 +333,6 @@ export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -Wno-return-type"
 # processes instead of its defaults.
 export NINJAFLAGS="%{_smp_mflags}"
 
-%if 0%{?suse_version} < 1330
-    export CC=gcc-7
-    export CXX=g++-7
-%endif
-
 make %{_smp_mflags} VERBOSE=1
 
 %install
@@ -341,8 +358,11 @@ sed -i '/find_package/!b;n;s/'%{so_version}/$(rpm -q --qf %%{version} libQt5Core
 mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir}
 
 %post -p /sbin/ldconfig
-
 %postun -p /sbin/ldconfig
+%post -n libQt5Pdf5 -p /sbin/ldconfig
+%postun -n libQt5Pdf5 -p /sbin/ldconfig
+%post -n libQt5PdfWidgets5 -p /sbin/ldconfig
+%postun -n libQt5PdfWidgets5 -p /sbin/ldconfig
 
 %if 0%{?suse_version} >= 1500
 %filetriggerin -- %{_datadir}/hunspell
@@ -358,36 +378,86 @@ done
 %endif
 
 %files
-%defattr(-,root,root,755)
 %license LICENSE.*
-%{_libqt5_libdir}/libQt*Web*.so.*
-%{_datadir}/qt5/
-%dir %{_libqt5_libexecdir}
+%{_libqt5_libdir}/libQt5WebEngine.so.*
+%{_libqt5_libdir}/libQt5WebEngineCore.so.*
+%{_libqt5_libdir}/libQt5WebEngineWidgets.so.*
+%dir %{_datadir}/qt5/
+%dir %{_datadir}/qt5/translations/
+%{_datadir}/qt5/translations/qtwebengine_locales/
+%dir %{_datadir}/qt5/resources/
+%{_datadir}/qt5/resources/qtwebengine_*
+%if %{without system_icu}
+%{_datadir}/qt5/resources/icudtl.dat
+%endif
 %dir %{_qtwebengine_dictionaries_dir}
+%dir %{_libqt5_libexecdir}
 %{_libqt5_libexecdir}/QtWebEngineProcess
 %{_libqt5_archdatadir}/qml/QtWebEngine/
-%{_libqt5_plugindir}/designer/
 %{_libqt5_bindir}/qwebengine_convert_dict
 
 %files private-headers-devel
-%defattr(-,root,root,755)
 %license LICENSE.*
-%{_libqt5_includedir}/*/%{so_version}
+%{_libqt5_includedir}/QtWebEngine*/%{so_version}
 
 %files devel
-%defattr(-,root,root,755)
-%license LICENSE.*
-%exclude %{_libqt5_includedir}/*/%{so_version}
-%{_libqt5_includedir}/*/
-%{_libqt5_libdir}/cmake/Qt5*/
-%{_libqt5_libdir}/libQt*Web*.so
-%{_libqt5_libdir}/libQt*Web*.prl
-%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_*.pri
-%{_libqt5_libdir}/pkgconfig/Qt*Web*.pc
+%exclude %{_libqt5_includedir}/QtWebEngine*/%{so_version}
+%{_libqt5_includedir}/QtWebEngine*/
+%{_libqt5_libdir}/libQt5WebEngine*.so
+%{_libqt5_libdir}/libQt5WebEngine*.prl
+%{_libqt5_libdir}/pkgconfig/Qt5WebEngine*.pc
+%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_webengine*.pri
+%dir %{_libqt5_libdir}/cmake/Qt5Designer/
+%{_libqt5_libdir}/cmake/Qt5Designer/Qt5Designer_QWebEngineViewPlugin.cmake
+%dir %{_libqt5_plugindir}/designer/
+%{_libqt5_plugindir}/designer/libqwebengineview.so
+%{_libqt5_libdir}/cmake/Qt5WebEngine*/
 
 %files examples
-%defattr(-,root,root,755)
 %license LICENSE.*
-%{_libqt5_examplesdir}/
+%dir %{_libqt5_examplesdir}
+%{_libqt5_examplesdir}/webengine*/
+
+%files -n libQt5Pdf5
+%license LICENSE.*
+%{_libqt5_libdir}/libQt5Pdf.so.*
+%{_libqt5_archdatadir}/plugins/imageformats/libqpdf.so
+# Not quite sure what this would be used by
+%dir %{_libqt5_libdir}/cmake/
+%dir %{_libqt5_libdir}/cmake/Qt5Gui/
+%{_libqt5_libdir}/cmake/Qt5Gui/Qt5Gui_QPdfPlugin.cmake
+
+%files -n libQt5PdfWidgets5
+%license LICENSE.*
+%{_libqt5_libdir}/libQt5PdfWidgets.so.*
+
+%files -n libqt5-qtpdf-imports
+%license LICENSE.*
+%{_libqt5_archdatadir}/qml/QtQuick/Pdf/
+
+%files -n libqt5-qtpdf-private-headers-devel
+%license LICENSE.*
+%{_libqt5_includedir}/QtPdf/%{so_version}
+%{_libqt5_includedir}/QtPdfWidgets/%{so_version}
+
+%files -n libqt5-qtpdf-devel
+%license LICENSE.*
+%exclude %{_libqt5_includedir}/QtPdf*/%{so_version}
+%{_libqt5_includedir}/QtPdf/
+%{_libqt5_includedir}/QtPdfWidgets/
+%{_libqt5_libdir}/cmake/Qt5Pdf/
+%{_libqt5_libdir}/cmake/Qt5PdfWidgets/
+%{_libqt5_libdir}/libQt5Pdf.so
+%{_libqt5_libdir}/libQt5PdfWidgets.so
+%{_libqt5_libdir}/libQt5Pdf.prl
+%{_libqt5_libdir}/libQt5PdfWidgets.prl
+%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_pdf*.pri
+%{_libqt5_libdir}/pkgconfig/Qt5Pdf.pc
+%{_libqt5_libdir}/pkgconfig/Qt5PdfWidgets.pc
+
+%files -n libqt5-qtpdf-examples
+%license LICENSE.*
+%dir %{_libqt5_examplesdir}
+%{_libqt5_examplesdir}/pdf*/
 
 %changelog
diff --git a/packages/libq/libqt5-qtwebengine/qtwebengine-everywhere-src-5.14.1.tar.xz b/packages/libq/libqt5-qtwebengine/qtwebengine-everywhere-src-5.14.1.tar.xz
deleted file mode 120000
index 9c44783..0000000
--- a/packages/libq/libqt5-qtwebengine/qtwebengine-everywhere-src-5.14.1.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiaspnzqakw3grn36gkwpmahod5w3z2grkm7xx4tnop6bgbzwbnq5u
\ No newline at end of file
diff --git a/packages/libq/libqt5-qtwebengine/qtwebengine-everywhere-src-5.15.0.tar.xz b/packages/libq/libqt5-qtwebengine/qtwebengine-everywhere-src-5.15.0.tar.xz
new file mode 120000
index 0000000..694aebc
--- /dev/null
+++ b/packages/libq/libqt5-qtwebengine/qtwebengine-everywhere-src-5.15.0.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeiaxngff25goyd5sh2uzck6ioobtwjsgcs5xt4mpm3vtxc7znbzpcq
\ No newline at end of file
diff --git a/packages/libq/libqt5-qtwebengine/some-more-includes-gcc10.patch b/packages/libq/libqt5-qtwebengine/some-more-includes-gcc10.patch
deleted file mode 100644
index ee01e19..0000000
--- a/packages/libq/libqt5-qtwebengine/some-more-includes-gcc10.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From: Martin Liška <mliska@suse.cz>
-References: boo#1167465 boo#1158516
-
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
-@@ -8,6 +8,7 @@
- #include <stddef.h>
- #include <stdint.h>
- 
-+#include <string>
- #include <unordered_map>
- 
- #include "base/base_export.h"
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
-@@ -6,6 +6,7 @@
- #define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_
- 
- #include <array>
-+#include <cstddef>
- 
- #include "media/base/media_export.h"
- #include "media/cdm/api/content_decryption_module.h"
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/angle/include/platform/Platform.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/angle/include/platform/Platform.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/angle/include/platform/Platform.h
-@@ -11,6 +11,7 @@
- 
- #include <stdint.h>
- #include <array>
-+#include <cstddef>
- 
- #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
- 
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
-@@ -17,6 +17,7 @@
- #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
- #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
- 
-+#include <cstdint>
- #include <functional>
- 
- #include "perfetto/base/export.h"
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/audio/utility/channel_mixer.cc
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/audio/utility/channel_mixer.cc
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/audio/utility/channel_mixer.cc
-@@ -8,6 +8,8 @@
-  *  be found in the AUTHORS file in the root of the source tree.
-  */
- 
-+#include <cstring>
-+
- #include "audio/utility/channel_mixer.h"
- 
- #include "audio/utility/channel_mixing_matrix.h"
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h
-@@ -11,6 +11,7 @@
- #ifndef CALL_RTX_RECEIVE_STREAM_H_
- #define CALL_RTX_RECEIVE_STREAM_H_
- 
-+#include <cstdint>
- #include <map>
- 
- #include "call/rtp_packet_sink_interface.h"
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h
-@@ -11,6 +11,7 @@
- #ifndef COMMON_VIDEO_H264_PPS_PARSER_H_
- #define COMMON_VIDEO_H264_PPS_PARSER_H_
- 
-+#include <cstdint>
- #include "absl/types/optional.h"
- 
- namespace rtc {
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h
-@@ -11,6 +11,7 @@
- #ifndef COMMON_VIDEO_H264_SPS_PARSER_H_
- #define COMMON_VIDEO_H264_SPS_PARSER_H_
- 
-+#include <cstdint>
- #include "absl/types/optional.h"
- 
- namespace rtc {
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
-@@ -12,6 +12,7 @@
- #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
- 
- #include <array>
-+#include <cstddef>
- 
- namespace webrtc {
- 
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
-@@ -17,6 +17,7 @@
- #include <spa/param/video/raw-utils.h>
- #include <spa/support/type-map.h>
- 
-+#include <cstring>
- #include <memory>
- #include <utility>
- 
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
-@@ -11,6 +11,7 @@
- #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
- #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
- 
-+#include <cstdint>
- #include <limits>
- 
- #include "absl/types/optional.h"
-Index: qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
-===================================================================
---- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
-+++ qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
-@@ -11,6 +11,7 @@
- #ifndef MODULES_VIDEO_CODING_DECODING_STATE_H_
- #define MODULES_VIDEO_CODING_DECODING_STATE_H_
- 
-+#include <cstdint>
- #include <map>
- #include <set>
- #include <vector>