Title: [119672] trunk/Source/WebCore
- Revision
- 119672
- Author
- [email protected]
- Date
- 2012-06-06 20:47:18 -0700 (Wed, 06 Jun 2012)
Log Message
REGRESSION(r109729) [Form] Rendering of select/optgroup/option combination is too slow.
https://bugs.webkit.org/show_bug.cgi?id=88059
Reviewed by Kent Tamura.
This patch changes not to share RenderStyle object for option and
optgroup element regardless attributes.
When we tried to shared RenderStyle object, rendering performance was
good but we had issue in selected option and text transform, see
https://bugs.webkit.org/show_bug.cgi?id=88405 for details.
No new tests. This patch doesn't change behavior but rendering performance.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement): Changed to always
return false for option and optgroup.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (119671 => 119672)
--- trunk/Source/WebCore/ChangeLog 2012-06-07 03:39:35 UTC (rev 119671)
+++ trunk/Source/WebCore/ChangeLog 2012-06-07 03:47:18 UTC (rev 119672)
@@ -1,3 +1,23 @@
+2012-06-06 Yoshifumi Inoue <[email protected]>
+
+ REGRESSION(r109729) [Form] Rendering of select/optgroup/option combination is too slow.
+ https://bugs.webkit.org/show_bug.cgi?id=88059
+
+ Reviewed by Kent Tamura.
+
+ This patch changes not to share RenderStyle object for option and
+ optgroup element regardless attributes.
+
+ When we tried to shared RenderStyle object, rendering performance was
+ good but we had issue in selected option and text transform, see
+ https://bugs.webkit.org/show_bug.cgi?id=88405 for details.
+
+ No new tests. This patch doesn't change behavior but rendering performance.
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::canShareStyleWithElement): Changed to always
+ return false for option and optgroup.
+
2012-06-06 Alec Flett <[email protected]>
IndexedDB: Optimize single-key get()
Modified: trunk/Source/WebCore/css/StyleResolver.cpp (119671 => 119672)
--- trunk/Source/WebCore/css/StyleResolver.cpp 2012-06-07 03:39:35 UTC (rev 119671)
+++ trunk/Source/WebCore/css/StyleResolver.cpp 2012-06-07 03:47:18 UTC (rev 119672)
@@ -1391,12 +1391,12 @@
}
#endif
- if (element->hasTagName(optionTag))
+ // FIXME: We should share style for option and optgroup whenever possible.
+ // Before doing so, we need to resolve issues in HTMLSelectElement::recalcListItems
+ // and RenderMenuList::setText. See also https://bugs.webkit.org/show_bug.cgi?id=88405
+ if (element->hasTagName(optionTag) || element->hasTagName(optgroupTag))
return false;
- if (element->hasTagName(optgroupTag) && m_element->disabled() != element->disabled())
- return false;
-
bool isControl = element->isFormControlElement();
if (isControl != m_element->isFormControlElement())
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes