[Libreoffice-commits] core.git: sw/qa sw/source
Miklos Vajna (via logerrit)
logerrit at kemper.freedesktop.org
Tue Jun 4 07:14:15 UTC 2019
sw/qa/extras/htmlimport/data/tdf122789.html | 7 +++++++
sw/qa/extras/htmlimport/htmlimport.cxx | 11 +++++++++++
sw/source/filter/html/htmlgrin.cxx | 4 +++-
3 files changed, 21 insertions(+), 1 deletion(-)
New commits:
commit a628c01e783b8970ec6d1a4499f01981c077e607
Author: Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Mon Jun 3 21:15:18 2019 +0200
Commit: Miklos Vajna <vmiklos at collabora.com>
CommitDate: Tue Jun 4 09:13:33 2019 +0200
tdf#122789 sw HTML import: fix handling of images with relative sizes
Relative size should have priority over image size from image headers.
Change-Id: I80cce79ff87c7eb359cb292526859435cb85f929
Reviewed-on: https://gerrit.libreoffice.org/73413
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
diff --git a/sw/qa/extras/htmlimport/data/tdf122789.html b/sw/qa/extras/htmlimport/data/tdf122789.html
new file mode 100644
index 000000000000..7ee6552013c7
--- /dev/null
+++ b/sw/qa/extras/htmlimport/data/tdf122789.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+ <title></title>
+</head>
+<body dir="ltr" lang="en-US"><p><img src="libreoffice.jpg" name="Image1" alt="Pic" align="bottom" width="70%" border="0"/></p>
+</body></html>
diff --git a/sw/qa/extras/htmlimport/htmlimport.cxx b/sw/qa/extras/htmlimport/htmlimport.cxx
index 7669cf86431a..6ab84cf1c7df 100644
--- a/sw/qa/extras/htmlimport/htmlimport.cxx
+++ b/sw/qa/extras/htmlimport/htmlimport.cxx
@@ -342,6 +342,17 @@ DECLARE_HTMLIMPORT_TEST(testImageSize, "image-size.html")
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(aExpected.getHeight()), aSize.Height);
}
+DECLARE_HTMLIMPORT_TEST(testTdf122789, "tdf122789.html")
+{
+ SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
+ CPPUNIT_ASSERT(pTextDoc);
+ SwDoc* pDoc = pTextDoc->GetDocShell()->GetDoc();
+ const SwFrameFormats& rFormats = *pDoc->GetSpzFrameFormats();
+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), rFormats.size());
+ // This failed, the image had an absolute size, not a relative one.
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt8>(70), rFormats[0]->GetAttrSet().GetFrameSize().GetWidthPercent());
+}
+
DECLARE_HTMLIMPORT_TEST(testReqIfPageStyle, "reqif-page-style.xhtml")
{
// Without the accompanying fix in place, this test would have failed with
diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx
index 92f0e37c1228..c4ffa075c620 100644
--- a/sw/source/filter/html/htmlgrin.cxx
+++ b/sw/source/filter/html/htmlgrin.cxx
@@ -644,7 +644,9 @@ IMAGE_SETEVENT:
bool bSetScaleImageMap = false;
sal_uInt8 nPrcWidth = 0, nPrcHeight = 0;
- if ((!nWidth || !nHeight) && allowAccessLink(*m_xDoc))
+ // bPrcWidth / bPrcHeight means we have a percent size. If that's not the case and we have no
+ // size from nWidth / nHeight either, then inspect the image header.
+ if ((!bPrcWidth && !nWidth) && (!bPrcHeight && !nHeight) && allowAccessLink(*m_xDoc))
{
GraphicDescriptor aDescriptor(aGraphicURL);
if (aDescriptor.Detect(/*bExtendedInfo=*/true))
More information about the Libreoffice-commits
mailing list