mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
d50878a182
This patch ensures that the NODE_IS_EDITABLE flag is only set on nodes living under an editing host. Things like text controls which used to have that flag previously will not have it any more. The flag would be set on their anonymous div node instead. Note that if text controls actually fall under an editing host, they will get the NODE_IS_EDITABLE flag. This patch also makes nsHTMLEditor::IsEditable return sane results (text nodes are always considered to be editable).
59 lines
1.2 KiB
HTML
59 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html class="reftest-wait">
|
|
<head>
|
|
<script>
|
|
|
|
|
|
function init1()
|
|
{
|
|
targetIframe = document.createElementNS('http://www.w3.org/1999/xhtml', 'iframe');
|
|
targetIframe.src = "data:text/html,";
|
|
targetIframe.setAttribute("style", "width: 300px; height: 200px; border: 1px dotted green;");
|
|
targetIframe.addEventListener("load", init2, false);
|
|
document.body.appendChild(targetIframe);
|
|
}
|
|
|
|
|
|
function init2()
|
|
{
|
|
targetWindow = targetIframe.contentWindow;
|
|
targetDocument = targetWindow.document;
|
|
|
|
var div = document.getElementById("div");
|
|
textNode = div.firstChild;
|
|
|
|
targetDocument.body.appendChild(targetDocument.adoptNode(div, true));
|
|
|
|
targetDocument.designMode = 'on';
|
|
setTimeout(init3, 0);
|
|
}
|
|
|
|
|
|
function init3()
|
|
{
|
|
var rng = targetDocument.createRange();
|
|
rng.setStart(textNode, 1);
|
|
rng.setEnd(textNode, 1);
|
|
targetWindow.getSelection().addRange(rng);
|
|
|
|
try {
|
|
targetDocument.execCommand("inserthtml", false, "<p>");
|
|
} catch(e) {}
|
|
|
|
document.documentElement.removeAttribute("class");
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body onload="init1();">
|
|
|
|
<div id="div"> </div>
|
|
|
|
<script>
|
|
</script>
|
|
</body>
|
|
</html>
|