www/qt5-webkit add upstream patch to fix mail/trojita

PR:		224215
Submitted by:	tcberner
Reported by:	Laurent Cimon <laurent@nuxi.ca>
This commit is contained in:
Tobias C. Berner 2017-12-16 11:57:06 +00:00
parent 97f51340ff
commit 145a78aecc
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=456467
3 changed files with 68 additions and 1 deletions

View File

@ -2,7 +2,7 @@
PORTNAME= webkit
DISTVERSION= 5.212.0-alpha2
PORTREVISION= 4
PORTREVISION= 5
CATEGORIES= www
MASTER_SITES= https://github.com/annulen/${PORTNAME}/releases/download/${DISTNAME}/
PKGNAMEPREFIX= qt5-

View File

@ -0,0 +1,34 @@
From 6faf11215e1af27d35e921ae669aa0251a01a1ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@digia.com>
Date: Wed, 13 Nov 2013 18:13:36 +0100
Subject: [PATCH] Trigger layout after resizing the FrameView.
There are problems with QGLWidget based web plugins due to the fact
that WebKit forces us to relayout during paint events, which in turn
might resize widgets, causing the shared backing store's QImages to
be corrupted and hence causing crashed.
This patch triggers a layout upon resizing the FrameView, which reduces
the likely hood of resizing plugins during a subsequent paintEvent.
Task-number: QTBUG-34277
Change-Id: Id35c72a3cc68ac6633a74fba0669c2d8fbfabc88
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
---
Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
index e6145b6ffb82..941d8df603d9 100644
--- Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
+++ Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
@@ -962,6 +962,9 @@ void QWebFrameAdapter::setViewportSize(const QSize& size)
ASSERT(view);
view->resize(size);
view->adjustViewSize();
+
+ if (view->needsLayout())
+ view->layout();
}

View File

@ -0,0 +1,33 @@
From 76420459a13d9440b41864c93cb4ebb404bdab55 Mon Sep 17 00:00:00 2001
From: Konstantin Tokarev <annulen@yandex.ru>
Date: Thu, 12 Oct 2017 20:15:15 +0300
Subject: [PATCH] Fix for 451c5a10: run adjustViewSize() after relayout
Additional note for 451c5a10 + this:
Since r162515 resize of FrameView that does not have scrollbars (or use
overlay scrollbars) does not lead to automatic re-layout. In Trojita
contentsSize() is called immediately after QWebPage::setViewportSize(),
returning wrong result.
Change-Id: I543b22d7bbe1514333007e5f99b97a7c12c19c1a
---
Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
index 941d8df603d9..df28e9f21f2c 100644
--- Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
+++ Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
@@ -961,10 +961,9 @@ void QWebFrameAdapter::setViewportSize(const QSize& size)
FrameView* view = frame->view();
ASSERT(view);
view->resize(size);
- view->adjustViewSize();
-
if (view->needsLayout())
view->layout();
+ view->adjustViewSize();
}