<html>
<head>
<script>
    // Used by WKInspectorExtension.CanEvaluateScriptInExtensionTab
    window._secretValue = {answer:42};

    // Used by WKInspectorExtension.ExtensionTabIsPersistent
    window.getUniqueValue = function() {
        if (!window._cachedUniqueValue) {
            window._cachedUniqueValue = Math.floor(Math.random() * 10e9);
            document.getElementById("uniqueValueField").innerText = window._cachedUniqueValue;
        }

        return window._cachedUniqueValue;
    }
</script>
<body>
<h1>This is a test extension.</h1>
<p>In a normal extension, this area would show the extension's user interface.</p>
<p>The unique value for this iframe's execution context is:
    <span id="uniqueValueField">TBD</span>
</p>
</body>
</html>
