<!-- 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 confirm</title>
    </head>
    <script type="text/javascript">
        function fireConfirm() {
            var res = confirm("testOnJsConfirm");
            if (res == true) {
                document.title = "OK";
            } else {
                document.title = "Cancel";
            }
        }
    </script>
    <body onload="fireConfirm()">
        javascript confirm test
    </body>
</html>

