<!DOCTYPE html>
<html>
    <head>
        <title>Web Share</title>
        <script>
            function initiate_share() {
                if (navigator.share === undefined) {
                    window.document.title = 'Fail: navigator.share === undefined';
                    return;
                }

                var data = {title: "Test Title", text: "Test Text",
                            url: "https://test.url"};
                navigator.share(data).then(() => {
                    window.document.title = 'Success';
                }).catch(e => {
                    window.document.title = 'Fail: ' + e;
                });
            }

            window.addEventListener('load', () => {
                window.addEventListener('click', initiate_share);
            });
        </script>
    </head>
    <body>
        WebShare Test!
    </body>
</html>
