<html>
<head>
<style>
#inspected {
    -apple-opacity: 0.35;
    -webkit-opacity: 0.5;
    opacity: 1;
    -khtml-opacity: 0.25;
}

#inspected {
    -apple-opacity: 0.75;
}

</style>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/elements-test.js"></script>
<script>

function test()
{
    WebInspector.showPanel("elements");
    InspectorTest.selectNodeAndWaitForStylesWithComputed("inspected", dumpAllStyles);

    function dumpAllStyles()
    {
        InspectorTest.dumpSelectedElementStyles();
        InspectorTest.completeTest();
    }
}

</script>
</head>

<body onload="runTest()">
<p>
Tests that properties with WebKit vendor-specific prefixes ("-apple-", "-webkit-", and "-khtml-") are treated the same as those without the prefix.
</p>

<div id="inspected">Text</div>
<div id="other"></div>

</body>
</html>
