<?xml version="1.0" encoding="utf-8"?>
<head>
    <!--
    Related spec: http://www.w3.org/TR/css-device-adapt/

    XHTML-MP is used for mobile documents which are assumed to be designed for
    handheld devices, hence using the viewport size as the initial containing
    block size, so using XHTML-MP will give the same result as a viewport
    meta tag with the following parameters:

    width=device-width, height=device-height, initial-scale=1

    However XHTML-MP is a legacy way of setting the viewport, so any viewport
    related meta tag takes precedence.

    This test if a missplaced XHTML-MP doctype entry doesn't change the already
    set viewport settings.

    -->
    <meta name="viewport" content="width=640" />
    <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
    <title>Default viewport value changed by XHTML-MP and overwritten by viewport meta tag</title>
    <script>
        function test() {
            if (window.testRunner) {
                testRunner.dumpAsText();
                alert(internals.configurationForViewport(1, 320, 480, 320, 352));
            }
        }
    </script>
</head>
<body onload="test();" />
