WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
6608
REGRESSION: Line disappears when deleting
https://bugs.webkit.org/show_bug.cgi?id=6608
Summary
REGRESSION: Line disappears when deleting
Duncan Wilcox
Reported
2006-01-16 23:27:39 PST
When running Mail.app on TOT, do the following: - reply to any message - type "asdfghj" + enter - notice two new lines appear instead of one - arrow right, arrow right - now the cursor is before "On <date>, <name> wrote:" - backspace, backspace - the whole line disappears These might be two separate bugs, but I think the appearance of an extra line and disappearing of another might be related.
Attachments
patch
(11.43 KB, patch)
2006-03-30 08:17 PST
,
Justin Garcia
darin
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Joost de Valk (AlthA)
Comment 1
2006-01-22 04:37:39 PST
Adding Regression keyword.
Joost de Valk (AlthA)
Comment 2
2006-01-22 04:43:39 PST
Upping to P1 because this is a regression.
Alice Liu
Comment 3
2006-01-26 17:23:38 PST
<
rdar://problem/4424044
>
Justin Garcia
Comment 4
2006-03-30 06:54:41 PST
Spun the extra line appearing problem into a separate bug (8075).
Justin Garcia
Comment 5
2006-03-30 08:17:54 PST
Created
attachment 7391
[details]
patch Rewrote moveNodesAfterNode to address several problems: It moves nodes w/o worrying about how their style might change during the move. It traverses _siblings_ looking for a br to know that it's at the end of the paragraph to merge. If the br is burried inside a span, it won't find it. If the text is whitespace:pre, it won't find stop at the end of the paragraph. It reinserts the nodes at strange places, which was causing the bug. This patch passes all pixel tests. Render tree diffs are 1) fixes 2) placeholder brs were there were none. This patch inserts them more aggressively to make sure that inline content after the merged paragraph doesn't collapse onto the line where the paragraph was moved to. I'm writing lots of layout tests to illustrate problems with the old function and thinking hard about how to break the new code.
Darin Adler
Comment 6
2006-03-30 08:35:18 PST
Comment on
attachment 7391
[details]
patch Are you guaranteed that removing a node won't cause it's parent to be deref'd? If not, the Node* might need to be RefPtr<Node>. + void removeNodeAndPruneAncestors(WebCore::Node* node); + void prune(WebCore::Node* node); No need for WebCore:: prefixes here. r=me
Justin Garcia
Comment 7
2006-04-04 13:31:40 PDT
(In reply to
comment #6
)
> (From update of
attachment 7391
[details]
[edit]) > Are you guaranteed that removing a node won't cause it's parent to be deref'd? > If not, the Node* might need to be RefPtr<Node>.
I guess a removal listener on the node to remove could remove/deref the parent. There are lots of places in the editing code where the possibility is ignored, of course.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug