mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-31 19:10:36 +00:00
Bug 787432 - Don't strip existing empty wrappers when inserting text; r=ehsan
This commit is contained in:
parent
5c2c69faa2
commit
b9ed7e8ba3
@ -1,16 +1,18 @@
|
||||
DEPTH = @DEPTH@
|
||||
# THIS FILE IS AUTOGENERATED BY parseFailures.py - DO NOT EDIT
|
||||
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
relativesrcdir = @relativesrcdir@
|
||||
DEPTH := @DEPTH@
|
||||
|
||||
DIRS = \
|
||||
$(NULL)
|
||||
topsrcdir := @top_srcdir@
|
||||
srcdir := @srcdir@
|
||||
VPATH := @srcdir@
|
||||
relativesrcdir := @relativesrcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MOCHITEST_FILES = \
|
||||
DIRS := \
|
||||
$(NULL)
|
||||
|
||||
MOCHITEST_FILES := \
|
||||
test_event.html.json \
|
||||
test_runtest.html.json \
|
||||
$(NULL)
|
||||
|
@ -2369,16 +2369,6 @@
|
||||
"[[\"formatblock\",\"<li>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"formatblock\") after":true,
|
||||
"[[\"formatblock\",\"<ol>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"formatblock\") before":true,
|
||||
"[[\"formatblock\",\"<ol>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"formatblock\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\": execCommand(\"defaultparagraphseparator\", false, \"div\") return value":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\" compare innerHTML":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"defaultparagraphseparator\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"formatblock\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\": execCommand(\"defaultparagraphseparator\", false, \"p\") return value":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\" compare innerHTML":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"defaultparagraphseparator\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<p>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"formatblock\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<pre>\"]] \"<div>[foobar]</div>\": execCommand(\"defaultparagraphseparator\", false, \"div\") return value":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<pre>\"]] \"<div>[foobar]</div>\" compare innerHTML":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<pre>\"]] \"<div>[foobar]</div>\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
@ -2409,14 +2399,6 @@
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<dd>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<dd>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"defaultparagraphseparator\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<dd>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"formatblock\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<div>\"]] \"<p>[foobar]</p>\": execCommand(\"defaultparagraphseparator\", false, \"div\") return value":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<div>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<div>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"defaultparagraphseparator\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"formatblock\",\"<div>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"formatblock\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<div>\"]] \"<p>[foobar]</p>\": execCommand(\"defaultparagraphseparator\", false, \"p\") return value":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<div>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<div>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"defaultparagraphseparator\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"formatblock\",\"<div>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"formatblock\") after":true,
|
||||
"[[\"formatblock\",\"<dl>\"]] \"<p>[foobar]</p>\": execCommand(\"formatblock\", false, \"<dl>\") return value":true,
|
||||
"[[\"formatblock\",\"<dl>\"]] \"<p>[foobar]</p>\" compare innerHTML":true,
|
||||
"[[\"formatblock\",\"<dl>\"]] \"<p>[foobar]</p>\" queryCommandValue(\"formatblock\") after":true,
|
||||
@ -3905,12 +3887,6 @@
|
||||
"[[\"inserthorizontalrule\",\"\"]] \"<table><caption>foo[bar]baz</caption><tr><td>quz</table>\": execCommand(\"inserthorizontalrule\", false, \"\") return value":true,
|
||||
"[[\"inserthorizontalrule\",\"\"]] \"<table><caption>foo[bar]baz</caption><tr><td>quz</table>\" compare innerHTML":true,
|
||||
"[[\"inserthorizontalrule\",\"\"]] \"<dl><dt>foo[bar]baz</dt></dl>\" compare innerHTML":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"inserthorizontalrule\",\"\"]] \"<p>foo[bar]baz</p>\": execCommand(\"defaultparagraphseparator\", false, \"div\") return value":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"inserthorizontalrule\",\"\"]] \"<p>foo[bar]baz</p>\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"inserthorizontalrule\",\"\"]] \"<p>foo[bar]baz</p>\" queryCommandValue(\"defaultparagraphseparator\") after":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"inserthorizontalrule\",\"\"]] \"<p>foo[bar]baz</p>\": execCommand(\"defaultparagraphseparator\", false, \"p\") return value":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"inserthorizontalrule\",\"\"]] \"<p>foo[bar]baz</p>\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
"[[\"defaultparagraphseparator\",\"p\"],[\"inserthorizontalrule\",\"\"]] \"<p>foo[bar]baz</p>\" queryCommandValue(\"defaultparagraphseparator\") after":true,
|
||||
"[[\"inserthorizontalrule\",\"\"]] \"<ruby>foo[bar]baz<rt>quz</rt></ruby>\" compare innerHTML":true,
|
||||
"[[\"inserthorizontalrule\",\"\"]] \"<ruby>foo<rt>bar[baz]quz</rt></ruby>\" compare innerHTML":true,
|
||||
"[[\"inserthorizontalrule\",\"\"]] \"<ruby>foo<rp>bar[baz]quz</rp><rt>qoz</rt><rp>qiz</rp></ruby>\" compare innerHTML":true,
|
||||
@ -6502,7 +6478,7 @@
|
||||
"[[\"inserttext\",\" \"]] \"a@b<b>[]c</b>\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"\\t\"]] \"http://a[]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"\\f\"]] \"http://a[]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\" \"]] \"http://a[]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"\u00a0\"]] \"http://a[]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\" \"]] \"foo[]\" compare innerHTML":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"inserttext\",\"a\"]] \"<p>fo[o<p>b]ar\": execCommand(\"defaultparagraphseparator\", false, \"div\") return value":true,
|
||||
"[[\"defaultparagraphseparator\",\"div\"],[\"inserttext\",\"a\"]] \"<p>fo[o<p>b]ar\" queryCommandValue(\"defaultparagraphseparator\") before":true,
|
||||
@ -6519,30 +6495,13 @@
|
||||
"[[\"inserttext\",\"a\"]] \"{}<br>\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"<p>{}<br>\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"<p><span>{}<br></span>\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"<p>foo<span style=color:#aBcDeF>[bar]</span>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"<p>foo<span style=color:#aBcDeF>{bar}</span>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"<p>foo{<span style=color:#aBcDeF>bar</span>}baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"true\"],[\"inserttext\",\"a\"]] \"<p>[foo<span style=color:#aBcDeF>bar]</span>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"inserttext\",\"a\"]] \"<p>[foo<span style=color:#aBcDeF>bar]</span>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"true\"],[\"inserttext\",\"a\"]] \"<p>{foo<span style=color:#aBcDeF>bar}</span>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"inserttext\",\"a\"]] \"<p>{foo<span style=color:#aBcDeF>bar}</span>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"<p>foo<span style=color:#aBcDeF>[bar</span>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"<p>foo<span style=color:#aBcDeF>{bar</span>baz}\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"true\"],[\"inserttext\",\"a\"]] \"<p>foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"inserttext\",\"a\"]] \"<p>foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<s>[bar]</s>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com>[bar]</a>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font color=#0000FF>[bar]</font>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<span style=background-color:#00FFFF>[bar]</span>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com><font color=blue>[bar]</font></a>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font color=blue><a href=http://www.google.com>[bar]</a></font>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com><font color=brown>[bar]</font></a>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font color=brown><a href=http://www.google.com>[bar]</a></font>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com><font color=black>[bar]</font></a>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com><u>[bar]</u></a>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<u><a href=http://www.google.com>[bar]</a></u>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font size=2><sub>[bar]</sub></font>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font size=3><sub>[bar]</sub></font>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"true\"],[\"inserttext\",\"a\"]] \"[foo<b>bar]</b>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"inserttext\",\"a\"]] \"[foo<b>bar]</b>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"true\"],[\"inserttext\",\"a\"]] \"[foo<i>bar]</i>baz\" compare innerHTML":true,
|
||||
@ -6586,28 +6545,6 @@
|
||||
"[[\"stylewithcss\",\"false\"],[\"inserttext\",\"a\"]] \"[foo<sub><font size=3>bar]</font></sub>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"true\"],[\"inserttext\",\"a\"]] \"[foo<font size=3><sub>bar]</sub></font>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"inserttext\",\"a\"]] \"[foo<font size=3><sub>bar]</sub></font>baz\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<b>[bar</b>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<i>[bar</i>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<s>[bar</s>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<sub>[bar</sub>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<sup>[bar</sup>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<u>[bar</u>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com>[bar</a>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font face=sans-serif>[bar</font>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font size=4>[bar</font>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font color=#0000FF>[bar</font>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<span style=background-color:#00FFFF>[bar</span>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com><font color=blue>[bar</font></a>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font color=blue><a href=http://www.google.com>[bar</a></font>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com><font color=brown>[bar</font></a>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font color=brown><a href=http://www.google.com>[bar</a></font>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com><font color=black>[bar</font></a>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<a href=http://www.google.com><u>[bar</u></a>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<u><a href=http://www.google.com>[bar</a></u>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<sub><font size=2>[bar</font></sub>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font size=2><sub>[bar</sub></font>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<sub><font size=3>[bar</font></sub>baz]\" compare innerHTML":true,
|
||||
"[[\"inserttext\",\"a\"]] \"foo<font size=3><sub>[bar</sub></font>baz]\" compare innerHTML":true,
|
||||
"[[\"insertunorderedlist\",\"\"]] \"foo<br>[bar]\" compare innerHTML":true,
|
||||
"[[\"insertunorderedlist\",\"\"]] \"[foo<ol><li>bar]</ol>baz\" queryCommandIndeterm(\"insertunorderedlist\") before":true,
|
||||
"[[\"insertunorderedlist\",\"\"]] \"foo<ol><li>[bar</ol>baz]\" queryCommandIndeterm(\"insertunorderedlist\") before":true,
|
||||
@ -11218,10 +11155,6 @@
|
||||
"[[\"stylewithcss\",\"false\"],[\"strikethrough\",\"\"]] \"foo<s style=\\\"text-decoration: overline\\\">b[a]r</s>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"strikethrough\",\"\"]] \"foo<u style=\\\"text-decoration: overline\\\">[bar]</u>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"strikethrough\",\"\"]] \"foo<u style=\\\"text-decoration: overline\\\">b[a]r</u>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"true\"],[\"strikethrough\",\"\"]] \"<p style=\\\"text-decoration: line-through\\\">foo[bar]baz</p>\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"true\"],[\"strikethrough\",\"\"]] \"<p style=\\\"text-decoration: line-through\\\">foo[bar]baz</p>\" queryCommandState(\"strikethrough\") after":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"strikethrough\",\"\"]] \"<p style=\\\"text-decoration: line-through\\\">foo[bar]baz</p>\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"strikethrough\",\"\"]] \"<p style=\\\"text-decoration: line-through\\\">foo[bar]baz</p>\" queryCommandState(\"strikethrough\") after":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"strikethrough\",\"\"]] \"<p style=\\\"text-decoration: overline\\\">foo[bar]baz</p>\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"strikethrough\",\"\"]] \"foo<span class=\\\"underline\\\">[bar]</span>baz\" compare innerHTML":true,
|
||||
"[[\"stylewithcss\",\"false\"],[\"strikethrough\",\"\"]] \"foo<span class=\\\"underline\\\">b[a]r</span>baz\" compare innerHTML":true,
|
||||
|
@ -1271,9 +1271,10 @@ nsHTMLEditRules::WillInsertText(EditAction aAction,
|
||||
nsCOMPtr<nsIDOMNode> selNode;
|
||||
int32_t selOffset;
|
||||
|
||||
// if the selection isn't collapsed, delete it.
|
||||
// If the selection isn't collapsed, delete it. Don't delete existing inline
|
||||
// tags, because we're hopefully going to insert text (bug 787432).
|
||||
if (!aSelection->Collapsed()) {
|
||||
res = mHTMLEditor->DeleteSelection(nsIEditor::eNone, nsIEditor::eStrip);
|
||||
res = mHTMLEditor->DeleteSelection(nsIEditor::eNone, nsIEditor::eNoStrip);
|
||||
NS_ENSURE_SUCCESS(res, res);
|
||||
}
|
||||
|
||||
|
@ -80,6 +80,7 @@ MOCHITEST_FILES = \
|
||||
test_bug757371.html \
|
||||
test_bug767684.html \
|
||||
test_bug780035.html \
|
||||
test_bug787432.html \
|
||||
$(NULL)
|
||||
|
||||
ifneq (mobile,$(MOZ_BUILD_APP))
|
||||
|
17
editor/libeditor/html/tests/test_bug787432.html
Normal file
17
editor/libeditor/html/tests/test_bug787432.html
Normal file
@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=787432
|
||||
-->
|
||||
<title>Test for Bug 787432</title>
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=787432">Mozilla Bug 787432</a>
|
||||
<div id="test" contenteditable><span class="insert">%</span><br></div>
|
||||
<script>
|
||||
var div = document.getElementById("test");
|
||||
getSelection().collapse(div.firstChild, 0);
|
||||
getSelection().extend(div.firstChild, 1);
|
||||
document.execCommand("inserttext", false, "x");
|
||||
is(div.innerHTML, '<span class="insert">x</span><br>',
|
||||
"Empty <span> needs to not be removed");
|
||||
</script>
|
Loading…
x
Reference in New Issue
Block a user