From 5c095ffdef076da379315c52969815e3ced07d37 Mon Sep 17 00:00:00 2001 From: justing Date: Thu, 26 Apr 2007 21:53:59 +0000 Subject: [PATCH] LayoutTests: Reviewed by oliver Crash when creating a link in Leopard wiki server * editing/execCommand/5120591-expected.checksum: Added. * editing/execCommand/5120591-expected.png: Added. * editing/execCommand/5120591-expected.txt: Added. * editing/execCommand/5120591.html: Added. WebCore: Reviewed by oliver Crash when creating a link in Leopard wiki server * editing/CreateLinkCommand.cpp: (WebCore::CreateLinkCommand::doApply): Use a RefPtr, setting the anchor's href can destroy it if there is an ancestor with a subtree modified event listener. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21123 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 11 +++++++++++ .../execCommand/5120591-expected.checksum | 1 + .../editing/execCommand/5120591-expected.png | Bin 0 -> 11867 bytes .../editing/execCommand/5120591-expected.txt | 14 ++++++++++++++ LayoutTests/editing/execCommand/5120591.html | 10 ++++++++++ WebCore/ChangeLog | 12 ++++++++++++ WebCore/editing/CreateLinkCommand.cpp | 4 ++-- 7 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 LayoutTests/editing/execCommand/5120591-expected.checksum create mode 100644 LayoutTests/editing/execCommand/5120591-expected.png create mode 100644 LayoutTests/editing/execCommand/5120591-expected.txt create mode 100644 LayoutTests/editing/execCommand/5120591.html diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index bed495dc55f..6b4b6d14c20 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,14 @@ +2007-04-26 Justin Garcia + + Reviewed by oliver + + Crash when creating a link in Leopard wiki server + + * editing/execCommand/5120591-expected.checksum: Added. + * editing/execCommand/5120591-expected.png: Added. + * editing/execCommand/5120591-expected.txt: Added. + * editing/execCommand/5120591.html: Added. + 2007-04-26 Matt Perry Reviewed, tweaked and landed by Alexey. diff --git a/LayoutTests/editing/execCommand/5120591-expected.checksum b/LayoutTests/editing/execCommand/5120591-expected.checksum new file mode 100644 index 00000000000..c217260324e --- /dev/null +++ b/LayoutTests/editing/execCommand/5120591-expected.checksum @@ -0,0 +1 @@ +6a3283980391f6371da9cd66cc2223b3 \ No newline at end of file diff --git a/LayoutTests/editing/execCommand/5120591-expected.png b/LayoutTests/editing/execCommand/5120591-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..2507c7a701f1447522239d980361556161b64daf GIT binary patch literal 11867 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 for a crash when creating a link inside a region with a subtree modified event listener.

+
This should be a link.
+ + diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 9cb6c1d84be..52e35fbe272 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,15 @@ +2007-04-26 Justin Garcia + + Reviewed by oliver + + + Crash when creating a link in Leopard wiki server + + * editing/CreateLinkCommand.cpp: + (WebCore::CreateLinkCommand::doApply): Use a RefPtr, + setting the anchor's href can destroy it if there is + an ancestor with a subtree modified event listener. + 2007-04-26 Mitz Pettel Reviewed by hyatt diff --git a/WebCore/editing/CreateLinkCommand.cpp b/WebCore/editing/CreateLinkCommand.cpp index 9a5651a5bb4..2eef9d0bb9d 100644 --- a/WebCore/editing/CreateLinkCommand.cpp +++ b/WebCore/editing/CreateLinkCommand.cpp @@ -43,9 +43,9 @@ void CreateLinkCommand::doApply() pushPartiallySelectedAnchorElementsDown(); - HTMLAnchorElement* anchorElement = new HTMLAnchorElement(document()); + RefPtr anchorElement = new HTMLAnchorElement(document()); anchorElement->setHref(m_url); - applyStyledElement(anchorElement); + applyStyledElement(anchorElement.get()); } } -- GitLab