Hello community,
here is the log from the commit of package khtml for openSUSE:Factory checked in at 2016-07-03 12:22:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/khtml (Old)
and /work/SRC/openSUSE:Factory/.khtml.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "khtml"
Changes:
--------
--- /work/SRC/openSUSE:Factory/khtml/khtml.changes 2016-05-19 12:07:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.khtml.new/khtml.changes 2016-07-03 12:22:25.000000000 +0200
@@ -1,0 +2,13 @@
+Mon Jun 6 21:25:22 UTC 2016 - hrvoje.senjan@gmail.com
+
+- Update to 5.23.0
+ * Fix potential memory leak reported by Coverity and
+ simplify the code
+ * The number of layers is determined by the number of
+ comma-separated values in the ‘background-image’ property
+ * Fix parsing background-position in shorthand declaration
+ * Do not create new fontFace if there is no valid source
+ * For more details please see:
+ https://www.kde.org/announcements/kde-frameworks-5.23.0.php
+
+-------------------------------------------------------------------
Old:
----
khtml-5.22.0.tar.xz
New:
----
khtml-5.23.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ khtml.spec ++++++
--- /var/tmp/diff_new_pack.UfG5rW/_old 2016-07-03 12:22:26.000000000 +0200
+++ /var/tmp/diff_new_pack.UfG5rW/_new 2016-07-03 12:22:26.000000000 +0200
@@ -18,9 +18,9 @@
%bcond_without lang
%define lname libKF5KHtml5
-%define _tar_path 5.22
+%define _tar_path 5.23
Name: khtml
-Version: 5.22.0
+Version: 5.23.0
Release: 0
%define kf5_version %{version}
BuildRequires: cmake >= 2.8.12
++++++ khtml-5.22.0.tar.xz -> khtml-5.23.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/CMakeLists.txt new/khtml-5.23.0/CMakeLists.txt
--- old/khtml-5.22.0/CMakeLists.txt 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/CMakeLists.txt 2016-06-06 13:35:08.000000000 +0200
@@ -3,7 +3,7 @@
project(KHtml)
include(FeatureSummary)
-find_package(ECM 5.22.0 NO_MODULE)
+find_package(ECM 5.23.0 NO_MODULE)
set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules")
feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
@@ -20,8 +20,8 @@
include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
include(KDECMakeSettings)
-set(KF5_VERSION "5.22.0") # handled by release scripts
-set(KF5_DEP_VERSION "5.22.0") # handled by release scripts
+set(KF5_VERSION "5.23.0") # handled by release scripts
+set(KF5_DEP_VERSION "5.23.0") # handled by release scripts
find_package(KF5Archive ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5Codecs ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5GlobalAccel ${KF5_DEP_VERSION} REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/metainfo.yaml new/khtml-5.23.0/metainfo.yaml
--- old/khtml-5.22.0/metainfo.yaml 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/metainfo.yaml 2016-06-06 13:35:08.000000000 +0200
@@ -11,3 +11,7 @@
- qmake: KHtml
cmake: "KF5::KHtml"
cmakename: KF5KHtml
+
+public_lib: true
+group: Frameworks
+subgroup: Porting Aids
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/po/ca/khtml5.po new/khtml-5.23.0/po/ca/khtml5.po
--- old/khtml-5.22.0/po/ca/khtml5.po 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/po/ca/khtml5.po 2016-06-06 13:35:08.000000000 +0200
@@ -1,12 +1,12 @@
# Translation of khtml5.po to Catalan
-# Copyright (C) 2014-2015 This_file_is_part_of_KDE
+# Copyright (C) 2014-2016 This_file_is_part_of_KDE
# This file is distributed under the license LGPL version 2.1 or
# version 3 or later versions approved by the membership of KDE e.V.
#
# Sebastià Pla i Sanz , 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007.
# Antoni Bella Pérez , 2003, 2006, 2011, 2012, 2013, 2014, 2015.
# Albert Astals Cid , 2004, 2005, 2007.
-# Josep Ma. Ferrer , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015.
+# Josep Ma. Ferrer , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016.
# Robert Millan , 2009.
# Orestes Mas , 2010.
msgid ""
@@ -14,7 +14,7 @@
"Project-Id-Version: khtml5\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2016-03-06 07:13+0000\n"
-"PO-Revision-Date: 2015-12-01 19:13+0100\n"
+"PO-Revision-Date: 2016-05-19 22:47+0200\n"
"Last-Translator: Josep Ma. Ferrer \n"
"Language-Team: Catalan \n"
"Language: ca\n"
@@ -750,7 +750,7 @@
msgstr ""
"Proveu a reinstal·lar-ho \n"
"\n"
-"Es deshabilitarà la integració amb el Konqueror."
+"Es desactivarà la integració amb el Konqueror."
#: khtml_ext.cpp:1007
#, no-c-format
@@ -912,7 +912,7 @@
#: khtml_part.cpp:1319
msgid "&Disable Error Reporting"
-msgstr "&Deshabilita l'informe d'errors"
+msgstr "&Desactiva l'informe d'errors"
#: khtml_part.cpp:1362
#, kde-format
@@ -1240,12 +1240,12 @@
"of the HTML page will be printed, without the included images. Printing will "
"be faster and use less ink or toner.</p> </qt>"
msgstr ""
-"<qt><p><strong>«Imprimeix les imatges»</strong></p><p>Si s'habilita aquesta "
+"<qt><p><strong>«Imprimeix les imatges»</strong></p><p>Si s'activa aquesta "
"casella de selecció, s'imprimiran les imatges contingudes a la pàgina HTML. "
-"La impressió pot trigar més i usar més tinta o tòner.</p> <p>Si es "
-"deshabilita aquesta casella de selecció, només s'imprimirà el text de la "
-"pàgina HTML, sense les imatges incloses. La impressió serà més ràpida i "
-"usarà menys tinta o tòner.</p> </qt>"
+"La impressió pot trigar més i usar més tinta o tòner.</p> <p>Si es desactiva "
+"aquesta casella de selecció, només s'imprimirà el text de la pàgina HTML, "
+"sense les imatges incloses. La impressió serà més ràpida i usarà menys tinta "
+"o tòner.</p> </qt>"
#: khtml_printsettings.cpp:42
msgid ""
@@ -1255,11 +1255,11 @@
"printed page and the page number.</p><p>If this checkbox is disabled, the "
"printout of the HTML document will not contain such a header line.</p> </qt>"
msgstr ""
-"<qt><p><strong>«Imprimeix la capçalera»</strong></p><p>Si s'habilita aquesta "
+"<qt><p><strong>«Imprimeix la capçalera»</strong></p><p>Si s'activa aquesta "
"casella de selecció, la impressió del document HTML contindrà una línia de "
"capçalera dalt de cada pàgina. Aquesta capçalera conté la data actual, l'URL "
"d'ubicació de la pàgina impresa i el número de pàgina.</p> <p>Si es "
-"deshabilita aquesta casella de selecció, la impressió del document HTML no "
+"desactiva aquesta casella de selecció, la impressió del document HTML no "
"contindrà aquesta línia de capçalera.</p> </qt>"
#: khtml_printsettings.cpp:55
@@ -1273,10 +1273,10 @@
"grayscale, if you use a black+white printer). Printout will possibly happen "
"more slowly and will probably use more toner or ink.</p> </qt>"
msgstr ""
-"<qt><p><strong>«Mode d'impressió amigable»</strong></p><p>Si s'habilita "
+"<qt><p><strong>«Mode d'impressió amigable»</strong></p><p>Si s'activa "
"aquesta casella de selecció, la impressió del document HTML serà només en "
"blanc i negre i tot el fons de color es passarà a blanc. La impressió serà "
-"més ràpida i usarà menys tinta o tòner.</p><p>Si es deshabilita aquesta "
+"més ràpida i usarà menys tinta o tòner.</p><p>Si es desactiva aquesta "
"casella de selecció, la impressió del document HTML es farà amb els colors "
"originals, tal com els veieu a l'aplicació. Això pot donar àrees de color a "
"tota la pàgina (o d'escala de grisos, si useu una impressora de blanc i "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/po/ca@valencia/khtml5.po new/khtml-5.23.0/po/ca@valencia/khtml5.po
--- old/khtml-5.22.0/po/ca@valencia/khtml5.po 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/po/ca@valencia/khtml5.po 2016-06-06 13:35:08.000000000 +0200
@@ -1,12 +1,12 @@
# Translation of khtml5.po to Catalan (Valencian)
-# Copyright (C) 2014-2015 This_file_is_part_of_KDE
+# Copyright (C) 2014-2016 This_file_is_part_of_KDE
# This file is distributed under the license LGPL version 2.1 or
# version 3 or later versions approved by the membership of KDE e.V.
#
# Sebastià Pla i Sanz , 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007.
# Antoni Bella Pérez , 2003, 2006, 2011, 2012, 2013, 2014, 2015.
# Albert Astals Cid , 2004, 2005, 2007.
-# Josep Ma. Ferrer , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015.
+# Josep Ma. Ferrer , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016.
# Robert Millan , 2009.
# Orestes Mas , 2010.
msgid ""
@@ -14,7 +14,7 @@
"Project-Id-Version: khtml5\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2016-03-06 07:13+0000\n"
-"PO-Revision-Date: 2015-12-01 19:13+0100\n"
+"PO-Revision-Date: 2016-05-19 22:47+0200\n"
"Last-Translator: Josep Ma. Ferrer \n"
"Language-Team: Catalan \n"
"Language: ca@valencia\n"
@@ -748,7 +748,7 @@
msgstr ""
"Proveu a reinstal·lar-ho \n"
"\n"
-"Es deshabilitarà la integració amb el Konqueror."
+"Es desactivarà la integració amb el Konqueror."
#: khtml_ext.cpp:1007
#, no-c-format
@@ -910,7 +910,7 @@
#: khtml_part.cpp:1319
msgid "&Disable Error Reporting"
-msgstr "&Deshabilita l'informe d'errors"
+msgstr "&Desactiva l'informe d'errors"
#: khtml_part.cpp:1362
#, kde-format
@@ -1237,12 +1237,12 @@
"of the HTML page will be printed, without the included images. Printing will "
"be faster and use less ink or toner.</p> </qt>"
msgstr ""
-"<qt><p><strong>«Imprimeix les imatges»</strong></p><p>Si s'habilita esta "
+"<qt><p><strong>«Imprimeix les imatges»</strong></p><p>Si s'activa esta "
"casella de selecció, s'imprimiran les imatges contingudes a la pàgina HTML. "
-"La impressió pot trigar més i usar més tinta o tòner.</p> <p>Si es "
-"deshabilita esta casella de selecció, només s'imprimirà el text de la pàgina "
-"HTML, sense les imatges incloses. La impressió serà més ràpida i usarà menys "
-"tinta o tòner.</p> </qt>"
+"La impressió pot trigar més i usar més tinta o tòner.</p> <p>Si es desactiva "
+"esta casella de selecció, només s'imprimirà el text de la pàgina HTML, sense "
+"les imatges incloses. La impressió serà més ràpida i usarà menys tinta o "
+"tòner.</p> </qt>"
#: khtml_printsettings.cpp:42
msgid ""
@@ -1252,11 +1252,11 @@
"printed page and the page number.</p><p>If this checkbox is disabled, the "
"printout of the HTML document will not contain such a header line.</p> </qt>"
msgstr ""
-"<qt><p><strong>«Imprimeix la capçalera»</strong></p><p>Si s'habilita esta "
+"<qt><p><strong>«Imprimeix la capçalera»</strong></p><p>Si s'activa esta "
"casella de selecció, la impressió del document HTML contindrà una línia de "
"capçalera dalt de cada pàgina. Esta capçalera conté la data actual, l'URL "
"d'ubicació de la pàgina impresa i el número de pàgina.</p> <p>Si es "
-"deshabilita esta casella de selecció, la impressió del document HTML no "
+"desactiva esta casella de selecció, la impressió del document HTML no "
"contindrà esta línia de capçalera.</p> </qt>"
#: khtml_printsettings.cpp:55
@@ -1270,10 +1270,10 @@
"grayscale, if you use a black+white printer). Printout will possibly happen "
"more slowly and will probably use more toner or ink.</p> </qt>"
msgstr ""
-"<qt><p><strong>«Mode d'impressió amigable»</strong></p><p>Si s'habilita esta "
+"<qt><p><strong>«Mode d'impressió amigable»</strong></p><p>Si s'activa esta "
"casella de selecció, la impressió del document HTML serà només en blanc i "
"negre i tot el fons de color es passarà a blanc. La impressió serà més "
-"ràpida i usarà menys tinta o tòner.</p><p>Si es deshabilita esta casella de "
+"ràpida i usarà menys tinta o tòner.</p><p>Si es desactiva esta casella de "
"selecció, la impressió del document HTML es farà amb els colors originals, "
"tal com els veieu a l'aplicació. Això pot donar àrees de color a tota la "
"pàgina (o d'escala de grisos, si useu una impressora de blanc i negre). La "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/po/gd/khtml5.po new/khtml-5.23.0/po/gd/khtml5.po
--- old/khtml-5.22.0/po/gd/khtml5.po 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/po/gd/khtml5.po 2016-06-06 13:35:08.000000000 +0200
@@ -1,14 +1,14 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
-# GunChleoc , 2015.
+# GunChleoc , 2015, 2016.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2016-03-06 07:13+0000\n"
-"PO-Revision-Date: 2015-11-04 15:14+0000\n"
-"Last-Translator: Michael Bauer \n"
+"PO-Revision-Date: 2016-04-29 19:43+0100\n"
+"Last-Translator: GunChleoc \n"
"Language-Team: Fòram na Gàidhlig\n"
"Language: gd\n"
"MIME-Version: 1.0\n"
@@ -16,7 +16,7 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
"(n > 2 && n < 20) ? 2 : 3;\n"
-"X-Generator: Poedit 1.8.4\n"
+"X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: kde\n"
msgctxt "NAME OF TRANSLATORS"
@@ -1390,7 +1390,7 @@
#: kmultipart/httpfiltergzip.cpp:89
msgid "Receiving corrupt data."
-msgstr ""
+msgstr "A' faighinn dàta coirbte."
#: kmultipart/kmultipart.cpp:39
msgid "KMultiPart"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/src/css/css_webfont.cpp new/khtml-5.23.0/src/css/css_webfont.cpp
--- old/khtml-5.22.0/src/css/css_webfont.cpp 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/src/css/css_webfont.cpp 2016-06-06 13:35:08.000000000 +0200
@@ -563,22 +563,19 @@
source = new CSSFontFaceSource(item->resource());
}
- if (!fontFace) {
- fontFace = new CSSFontFace(static_cast<FontTraitsMask>(traitsMask), this);
- }
-
if (source) {
#if 0
// ENABLE(SVG_FONTS)
source->setSVGFontFaceElement(item->svgFontFaceElement());
#endif
+ if (!fontFace) {
+ fontFace = new CSSFontFace(static_cast<FontTraitsMask>(traitsMask), this);
+ }
fontFace->addSource(source);
}
}
- assert(fontFace);
-
- if (fontFace && !fontFace->isValid()) {
+ if (!fontFace || !fontFace->isValid()) {
delete fontFace;
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/src/css/cssparser.cpp new/khtml-5.23.0/src/css/cssparser.cpp
--- old/khtml-5.22.0/src/css/cssparser.cpp 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/src/css/cssparser.cpp 2016-06-06 13:35:08.000000000 +0200
@@ -1873,7 +1873,6 @@
void CSSParser::parseBackgroundPosition(CSSValueImpl *&value1, CSSValueImpl *&value2)
{
value1 = value2 = 0;
- Value *value = valueList->current();
// Parse the first value. We're just making sure that it is one of the valid keywords or a percentage/length.
BackgroundPosKind value1pos;
@@ -1882,21 +1881,20 @@
return;
}
- // It only takes one value for background-position to be correctly parsed if it was specified in a shorthand (since we
- // can assume that any other values belong to the rest of the shorthand). If we're not parsing a shorthand, though, the
- // value was explicitly specified for our property.
- value = valueList->next();
+ // Parse the second value, if any.
+ Value *value = valueList->next();
// First check for the comma. If so, we are finished parsing this value or value pair.
if (value && value->unit == Value::Operator && value->iValue == ',') {
value = 0;
}
+ bool secondValueSpecifiedAndValid = false;
BackgroundPosKind value2pos = BgPos_Center; // true if not specified.
if (value) {
value2 = parseBackgroundPositionXY(value2pos);
if (value2) {
- valueList->next();
+ secondValueSpecifiedAndValid = true;
} else {
if (!inShorthand()) {
delete value1;
@@ -1950,6 +1948,10 @@
value2 = value1;
value1 = val;
}
+
+ if (secondValueSpecifiedAndValid) {
+ valueList->next();
+ }
}
CSSValueImpl *CSSParser::parseBackgroundSize()
@@ -1996,10 +1998,10 @@
qDebug() << "parseBackgroundProperty()";
qDebug() << "LOOKING FOR: " << getPropertyName(propId).string();
#endif
- CSSValueListImpl *values = 0, *values2 = 0;
Value *val;
- CSSValueImpl *value = 0, *value2 = 0;
- bool allowComma = false;
+ CSSValueListImpl *value = new CSSValueListImpl;
+ CSSValueListImpl *value2 = new CSSValueListImpl;
+ bool expectComma = false;
retValue1 = retValue2 = 0;
propId1 = propId;
@@ -2011,12 +2013,12 @@
while ((val = valueList->current())) {
CSSValueImpl *currValue = 0, *currValue2 = 0;
- if (allowComma) {
+ if (expectComma) {
if (val->unit != Value::Operator || val->iValue != ',') {
goto failed;
}
valueList->next();
- allowComma = false;
+ expectComma = false;
} else {
switch (propId) {
case CSS_PROP_BACKGROUND_ATTACHMENT:
@@ -2102,57 +2104,38 @@
goto failed;
}
- if (value && !values) {
- values = new CSSValueListImpl();
- values->append(value);
- value = 0;
-
- // Track value, value2 as either a pair of items or a pair
- // of lists, not in-between
- if (value2 && !values2) {
- values2 = new CSSValueListImpl();
- values2->append(value2);
- value2 = 0;
- }
+ // When parsing the 'background' shorthand property return the parsed value...
+ if (inShorthand()) {
+ retValue1 = currValue;
+ if (currValue2) {
+ retValue2 = currValue2;
+ }
+ delete value; delete value2;
+ return true;
}
- if (values) {
- values->append(currValue);
- } else {
- value = currValue;
- }
+ // ...if not in shorthand, append to the list of value for the property
+ // and expect a comma for the next value (if any)
+ value->append(currValue);
if (currValue2) {
- if (values2) {
- values2->append(currValue2);
- } else {
- value2 = currValue2;
- }
+ value2->append(currValue2);
}
- allowComma = true;
- }
-
- // When parsing the 'background' shorthand property, we let it handle building up the lists for all
- // properties.
- if (inShorthand()) {
- break;
+ expectComma = true;
}
}
- if (values && values->length()) {
- retValue1 = values;
- if (values2 && values2->length()) {
- retValue2 = values2;
- }
- return true;
- }
- if (value) {
+ // Now return the value list
+ if (value->length() > 0) {
retValue1 = value;
- retValue2 = value2;
+ if (value2->length() > 0) {
+ retValue2 = value2;
+ } else {
+ delete value2;
+ }
return true;
}
failed:
- delete values; delete values2;
delete value; delete value2;
return false;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/src/ecma/kjs_arraybuffer.cpp new/khtml-5.23.0/src/ecma/kjs_arraybuffer.cpp
--- old/khtml-5.22.0/src/ecma/kjs_arraybuffer.cpp 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/src/ecma/kjs_arraybuffer.cpp 2016-06-06 13:35:08.000000000 +0200
@@ -165,6 +165,6 @@
default:
return jsUndefined();
}
-};
+}
} // namespace KJS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.22.0/src/rendering/render_style.cpp new/khtml-5.23.0/src/rendering/render_style.cpp
--- old/khtml-5.22.0/src/rendering/render_style.cpp 2016-05-07 17:13:57.000000000 +0200
+++ new/khtml-5.23.0/src/rendering/render_style.cpp 2016-06-06 13:35:08.000000000 +0200
@@ -188,17 +188,6 @@
void BackgroundLayer::fillUnsetProperties()
{
BackgroundLayer *curr;
- for (curr = this; curr && curr->isBackgroundImageSet(); curr = curr->next()) {};
- if (curr && curr != this) {
- // We need to fill in the remaining values with the pattern specified.
- for (BackgroundLayer *pattern = this; curr; curr = curr->next()) {
- curr->m_image = pattern->m_image;
- pattern = pattern->next();
- if (pattern == curr || !pattern) {
- pattern = this;
- }
- }
- }
for (curr = this; curr && curr->isBackgroundXPositionSet(); curr = curr->next()) {};
if (curr && curr != this) {
@@ -290,11 +279,7 @@
BackgroundLayer *next;
for (BackgroundLayer *p = this; p; p = next) {
next = p->m_next;
- if (next && !next->isBackgroundImageSet() &&
- !next->isBackgroundXPositionSet() && !next->isBackgroundYPositionSet() &&
- !next->isBackgroundAttachmentSet() && !next->isBackgroundClipSet() &&
- !next->isBackgroundOriginSet() && !next->isBackgroundRepeatSet() &&
- !next->isBackgroundSizeSet()) {
+ if (next && !next->isBackgroundImageSet()) {
delete next;
p->m_next = 0;
break;
@@ -1022,8 +1007,9 @@
void RenderStyle::adjustBackgroundLayers()
{
+ // https://www.w3.org/TR/css3-background/#layering
if (backgroundLayers()->next()) {
- // First we cull out layers that have no properties set.
+ // First we cull out backgroundLayers that have no image property set.
accessBackgroundLayers()->cullEmptyLayers();
// Next we repeat patterns into layers that don't have some properties set.