Resolves: #2187653 (itip-formatter: iframe height miscalculated without frame flattening)
This commit is contained in:
parent
c07a74c44d
commit
37486d244c
2 changed files with 98 additions and 1 deletions
|
|
@ -397,3 +397,97 @@ index d43d2fcbb6..052260d4a0 100644
|
|||
|
||||
read = camel_stream_read (closure->read_stream, buffer, nbuffer, closure->cancellable, &closure->error);
|
||||
if (read < 0 || closure->error)
|
||||
diff --git a/data/webkit/e-web-view.js b/data/webkit/e-web-view.js
|
||||
index 058b4e578c..d44bb0b403 100644
|
||||
--- a/data/webkit/e-web-view.js
|
||||
+++ b/data/webkit/e-web-view.js
|
||||
@@ -786,12 +786,12 @@ Evo.mailDisplayUpdateIFramesHeightRecursive = function(doc)
|
||||
Evo.mailDisplayUpdateIFramesHeightRecursive(iframes[ii].contentDocument);
|
||||
}
|
||||
|
||||
- if (!doc.body || !doc.defaultView || !doc.defaultView.frameElement)
|
||||
+ if (!doc.scrollingElement || !doc.defaultView || !doc.defaultView.frameElement)
|
||||
return;
|
||||
|
||||
- if (doc.defaultView.frameElement.height == doc.body.scrollHeight)
|
||||
+ if (doc.defaultView.frameElement.height == doc.scrollingElement.scrollHeight)
|
||||
doc.defaultView.frameElement.height = 10;
|
||||
- doc.defaultView.frameElement.height = doc.body.scrollHeight + 2 + (doc.body.scrollWidth > doc.body.clientWidth ? 20 : 0);
|
||||
+ doc.defaultView.frameElement.height = doc.scrollingElement.scrollHeight + 2 + (doc.scrollingElement.scrollWidth > doc.scrollingElement.clientWidth ? 20 : 0);
|
||||
}
|
||||
|
||||
Evo.MailDisplayUpdateIFramesHeight = function()
|
||||
@@ -1418,8 +1418,10 @@ EvoItip.SetElementInnerHTML = function(iframe_id, element_id, html_content)
|
||||
{
|
||||
var elem = Evo.FindElement(iframe_id, element_id);
|
||||
|
||||
- if (elem)
|
||||
+ if (elem) {
|
||||
elem.innerHTML = html_content;
|
||||
+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
|
||||
+ }
|
||||
}
|
||||
|
||||
EvoItip.SetShowCheckbox = function(iframe_id, element_id, show, update_second)
|
||||
@@ -1445,6 +1447,8 @@ EvoItip.SetShowCheckbox = function(iframe_id, element_id, show, update_second)
|
||||
if (elem) {
|
||||
elem.hidden = !show;
|
||||
}
|
||||
+
|
||||
+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1458,6 +1462,8 @@ EvoItip.SetAreaText = function(iframe_id, element_id, text)
|
||||
if (row.lastElementChild) {
|
||||
row.lastElementChild.innerHTML = text;
|
||||
}
|
||||
+
|
||||
+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1475,6 +1481,8 @@ EvoItip.UpdateTimes = function(iframe_id, element_id, header, label)
|
||||
if (elem.lastElementChild) {
|
||||
elem.lastElementChild.innerHTML = label;
|
||||
}
|
||||
+
|
||||
+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1502,6 +1510,8 @@ EvoItip.AppendInfoRow = function(iframe_id, table_id, row_id, icon_name, message
|
||||
|
||||
cell = row.insertCell(-1);
|
||||
cell.innerHTML = message;
|
||||
+
|
||||
+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
|
||||
}
|
||||
|
||||
EvoItip.RemoveInfoRow = function(iframe_id, row_id)
|
||||
@@ -1510,6 +1520,7 @@ EvoItip.RemoveInfoRow = function(iframe_id, row_id)
|
||||
|
||||
if (row && row.parentNode) {
|
||||
row.parentNode.removeChild(row);
|
||||
+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1521,6 +1532,8 @@ EvoItip.RemoveChildNodes = function(iframe_id, element_id)
|
||||
while (elem.lastChild) {
|
||||
elem.removeChild(elem.lastChild);
|
||||
}
|
||||
+
|
||||
+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1573,6 +1586,8 @@ EvoItip.HideButtons = function(iframe_id, element_id)
|
||||
if (button)
|
||||
button.hidden = true;
|
||||
}
|
||||
+
|
||||
+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
|
||||
Name: evolution
|
||||
Version: 3.44.4
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Mail and calendar client for GNOME
|
||||
License: GPLv2+ and GFDL
|
||||
URL: https://wiki.gnome.org/Apps/Evolution
|
||||
|
|
@ -573,6 +573,9 @@ grep -v "%{_datadir}/locale" evolution.lang > help.lang
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Apr 20 2023 Milan Crha <mcrha@redhat.com> - 3.44.4-3
|
||||
- Resolves: #2187653 (itip-formatter: iframe height miscalculated without frame flattening)
|
||||
|
||||
* Wed Sep 14 2022 Milan Crha <mcrha@redhat.com> - 3.44.4-2
|
||||
- Add patch to handle frame flattening change in WebKitGTK
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue