Title: [186191] trunk
- Revision
- 186191
- Author
- [email protected]
- Date
- 2015-07-01 13:31:25 -0700 (Wed, 01 Jul 2015)
Log Message
REGRESSION (r179168): Characters overlap after resizing the font on the copy-pasted Japanese text
https://bugs.webkit.org/show_bug.cgi?id=146492
Reviewed by Darin Adler.
Source/WebCore:
The bug was caused by WebKit serializing the used line-height size (e.g. 18px) in the copied content
instead of string "normal" and removeStyleFromRulesAndContext failing to strip it down when text with
a font that influences the line height got pasted. This is because the used value of line-height
property of the context and the pasted content doesn't match when the context doesn't use the same font.
Fixed the bug by not considering line-height as a list of editing properties we try to preserve. This is
fine because we don't provide editing operations to directly manipulate line-height.
Test: editing/pasteboard/cjk-line-height.html
* editing/EditingStyle.cpp:
(WebCore::editingProperties): Removed CSSPropertyLineHeight.
LayoutTests:
Added a regression test. Also reverted the bad rebaseline in r179168:
http://trac.webkit.org/changeset/179168/trunk/LayoutTests/editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt
* editing/pasteboard/cjk-line-height-expected.txt: Added.
* editing/pasteboard/cjk-line-height.html: Added.
* editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt:
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (186190 => 186191)
--- trunk/LayoutTests/ChangeLog 2015-07-01 20:07:59 UTC (rev 186190)
+++ trunk/LayoutTests/ChangeLog 2015-07-01 20:31:25 UTC (rev 186191)
@@ -1,3 +1,17 @@
+2015-06-30 Ryosuke Niwa <[email protected]>
+
+ REGRESSION (r179168): Characters overlap after resizing the font on the copy-pasted Japanese text
+ https://bugs.webkit.org/show_bug.cgi?id=146492
+
+ Reviewed by Darin Adler.
+
+ Added a regression test. Also reverted the bad rebaseline in r179168:
+ http://trac.webkit.org/changeset/179168/trunk/LayoutTests/editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt
+
+ * editing/pasteboard/cjk-line-height-expected.txt: Added.
+ * editing/pasteboard/cjk-line-height.html: Added.
+ * editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt:
+
2015-07-01 Matthew Daiter <[email protected]>
Enable MEDIA_STREAM flag
Added: trunk/LayoutTests/editing/pasteboard/cjk-line-height-expected.txt (0 => 186191)
--- trunk/LayoutTests/editing/pasteboard/cjk-line-height-expected.txt (rev 0)
+++ trunk/LayoutTests/editing/pasteboard/cjk-line-height-expected.txt 2015-07-01 20:31:25 UTC (rev 186191)
@@ -0,0 +1,6 @@
+This tests copying and pasting text with a font that influences the used line-height value.
+To manually test, copy and paste the selected content below. WebKit should not generate line-height property in the pasted content.
+| <span>
+| style="font-family: 'Hiragino Kaku Gothic ProN';"
+| "hello<#selection-caret>"
+| <br>
Added: trunk/LayoutTests/editing/pasteboard/cjk-line-height.html (0 => 186191)
--- trunk/LayoutTests/editing/pasteboard/cjk-line-height.html (rev 0)
+++ trunk/LayoutTests/editing/pasteboard/cjk-line-height.html 2015-07-01 20:31:25 UTC (rev 186191)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<body>
+<div id=editor contenteditable><font face="Hiragino Kaku Gothic ProN">hello</font></div>
+<script src=""
+<script>
+
+Markup.description('This tests copying and pasting text with a font that influences the used line-height value.\n'
+ + 'To manually test, copy and paste the selected content below. WebKit should not generate line-height property in the pasted content.')
+
+var editor = document.getElementById('editor');
+editor.focus();
+document.execCommand('selectAll', false, null);
+
+Markup.noAutoDump();
+function dumpEditor() {
+ Markup.dump(editor);
+ Markup.notifyDone();
+}
+
+if (document.queryCommandEnabled('paste')) {
+ document.execCommand('copy', false, null);
+ document.execCommand('paste', false, null);
+ dumpEditor();
+} else
+ document._onpaste_ = function () { setTimeout(dumpEditor, 0); }
+
+</script>
+</body>
+</html>
Modified: trunk/LayoutTests/editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt (186190 => 186191)
--- trunk/LayoutTests/editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt 2015-07-01 20:07:59 UTC (rev 186190)
+++ trunk/LayoutTests/editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt 2015-07-01 20:31:25 UTC (rev 186191)
@@ -33,7 +33,7 @@
| face="Verdana"
| "hello "
| <br>
-| style="font-family: Helvetica; line-height: 18px;"
+| style="font-family: Helvetica;"
| <font>
| face="Verdana"
| "worldWebKit<#selection-caret>"
Modified: trunk/Source/WebCore/ChangeLog (186190 => 186191)
--- trunk/Source/WebCore/ChangeLog 2015-07-01 20:07:59 UTC (rev 186190)
+++ trunk/Source/WebCore/ChangeLog 2015-07-01 20:31:25 UTC (rev 186191)
@@ -1,3 +1,23 @@
+2015-06-30 Ryosuke Niwa <[email protected]>
+
+ REGRESSION (r179168): Characters overlap after resizing the font on the copy-pasted Japanese text
+ https://bugs.webkit.org/show_bug.cgi?id=146492
+
+ Reviewed by Darin Adler.
+
+ The bug was caused by WebKit serializing the used line-height size (e.g. 18px) in the copied content
+ instead of string "normal" and removeStyleFromRulesAndContext failing to strip it down when text with
+ a font that influences the line height got pasted. This is because the used value of line-height
+ property of the context and the pasted content doesn't match when the context doesn't use the same font.
+
+ Fixed the bug by not considering line-height as a list of editing properties we try to preserve. This is
+ fine because we don't provide editing operations to directly manipulate line-height.
+
+ Test: editing/pasteboard/cjk-line-height.html
+
+ * editing/EditingStyle.cpp:
+ (WebCore::editingProperties): Removed CSSPropertyLineHeight.
+
2015-06-30 Brent Fulgham <[email protected]>
REGRESSION (r184296): View keeps scrolling upward
Modified: trunk/Source/WebCore/editing/EditingStyle.cpp (186190 => 186191)
--- trunk/Source/WebCore/editing/EditingStyle.cpp 2015-07-01 20:07:59 UTC (rev 186190)
+++ trunk/Source/WebCore/editing/EditingStyle.cpp 2015-07-01 20:31:25 UTC (rev 186191)
@@ -63,7 +63,6 @@
CSSPropertyFontVariant,
CSSPropertyFontWeight,
CSSPropertyLetterSpacing,
- CSSPropertyLineHeight,
CSSPropertyOrphans,
CSSPropertyTextAlign,
CSSPropertyTextIndent,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes