mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
317cb20a80
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). --HG-- extra : rebase_source : 37317b4d95c2ea957be81420583a98a24f0864ac
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>
|