Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:FrontRunner
evolution
evolution-height-miscalculation.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File evolution-height-miscalculation.patch of Package evolution
From a037d582a27ecb3bb8f51fbe0f597d9183e75701 Mon Sep 17 00:00:00 2001 From: Milan Crha <mcrha@redhat.com> Date: Tue, 3 Jan 2023 18:22:20 +0100 Subject: [PATCH] I#2204 - itip-formatter: iframe height miscalculated without frame flattening Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2204 --- data/webkit/e-web-view.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/data/webkit/e-web-view.js b/data/webkit/e-web-view.js index 309cada00f..ab9ca5a6d5 100644 --- a/data/webkit/e-web-view.js +++ b/data/webkit/e-web-view.js @@ -789,12 +789,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() @@ -1421,8 +1421,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) @@ -1448,6 +1450,8 @@ EvoItip.SetShowCheckbox = function(iframe_id, element_id, show, update_second) if (elem) { elem.hidden = !show; } + + window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); } } @@ -1461,6 +1465,8 @@ EvoItip.SetAreaText = function(iframe_id, element_id, text) if (row.lastElementChild) { row.lastElementChild.innerHTML = text; } + + window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); } } @@ -1478,6 +1484,8 @@ EvoItip.UpdateTimes = function(iframe_id, element_id, header, label) if (elem.lastElementChild) { elem.lastElementChild.innerHTML = label; } + + window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); } } @@ -1505,6 +1513,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) @@ -1513,6 +1523,7 @@ EvoItip.RemoveInfoRow = function(iframe_id, row_id) if (row && row.parentNode) { row.parentNode.removeChild(row); + window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); } } @@ -1524,6 +1535,8 @@ EvoItip.RemoveChildNodes = function(iframe_id, element_id) while (elem.lastChild) { elem.removeChild(elem.lastChild); } + + window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); } } @@ -1576,6 +1589,8 @@ EvoItip.HideButtons = function(iframe_id, element_id) if (button) button.hidden = true; } + + window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); } } -- 2.41.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor