Content should be editable if its and its ancestor's contentEditable not set, and document.designMode is enabled.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


document.designMode = "on"
PASS document.getElementById("div").contentEditable is "inherit"
PASS document.getElementById("div").isContentEditable is true
PASS window.getComputedStyle(div, "").getPropertyValue("-webkit-user-modify") is "read-write"
PASS document.getElementById("p").contentEditable is "inherit"
PASS document.getElementById("p").isContentEditable is true
PASS window.getComputedStyle(p, "").getPropertyValue("-webkit-user-modify") is "read-write"
PASS successfullyParsed is true

TEST COMPLETE

