<html>
<head>
    <title></title>
    <script type="text/javascript">
        if (window.layoutTestController)
            layoutTestController.dumpAsText();
    </script>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=12050">http://bugs.webkit.org/show_bug.cgi?id=12050</a>
        REGRESSION: Assertion failure in -[WebBaseNetscapePluginView willCallPlugInFunction] (plugin)</i>.
    </p>
    <p>
        No ASSERT means test PASS.
    </p>
    <iframe style="display: none;" src='data:text/html,
        <object id="target" type="application/x-webkit-test-netscape"></object>
        <script type="text/javascript">
            var obj = document.getElementById("target");
            obj.offsetLeft;
            obj.anyProperty; 
        </script>
    '>
    </iframe>
</body>
</html>
