<!DOCTYPE html>
<html>
<head>
<title>Text search from frames</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
</head>
<body>

<script>
var count = 0;
function findInFrame(frameHostStyle, shouldFindInFrame)
{
    var findString = "findme" + count++;
    var textDiv = document.createElement("div");
    textDiv.innerHTML = findString;
    document.body.appendChild(textDiv)

    var hostDiv = document.createElement("div");
    hostDiv.setAttribute("style", frameHostStyle);
    var frame = document.createElement("iframe");
    hostDiv.appendChild(frame);
    document.body.appendChild(hostDiv);

    frame.contentDocument.body.innerHTML = findString;

    assert_equals(internals.countFindMatches(findString, [], ''), shouldFindInFrame ? 2 : 1);
}

test(function () {
    findInFrame("", true);
}, "Search from frame in normal tree");

test(function () {
    findInFrame("display:none", false);
}, "Search from frame in display:none subtree");

test(function () {
    findInFrame("position:relative; width:0px; height:0px", true);
}, "Search from frame in zero sized subtree");

test(function () {
    findInFrame("position:relative; width:0px; height:0px; border: 2px solid red; overflow:hidden", false);
}, "Search from frame in zero sized subtree with overflow:hidden");

</script>
</html>
