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