<!-- Copyright (C) 2009 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<html>
    <head>
        <title>javascript window</title>
    </head>
    <script type="text/javascript">
        var childWindow;
        function fireOpen() {
            childWindow = window.open();
            childWindow.document.title = "javascript child window";
            childWindow.document.write("javascript child window");
            childWindow.focus();
            setTimeout(function(){childWindow.close();}, 2000);
        }
    </script>
    <body onload="fireOpen()">
        javascript window test
    </body>
</html>

