<style>
    #target { border: solid; -webkit-user-drag: element; width: 100px; height: 100px; }
    #target:before { content: "Drag this"; }
    #target:-webkit-drag:before { color: blue; }
</style>
<div id="target"></div>
<p>
    Test for <i><a href="https://bugs.webkit.org/show_bug.cgi?id=47005">https://bugs.webkit.org/show_bug.cgi?id=47005</a>
    Null dereference when dragging an element with generated content</i>.
</p>
<p>
    Drag the box above. The text should become blue and the browser should not crash.
</p>
<script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        eventSender.mouseMoveTo(50, 50);
        eventSender.mouseDown();
        eventSender.mouseMoveTo(250, 250);
        eventSender.mouseUp();
    }
</script>
