The window's height and width may be different than the device's height and width. Currently the viewport uses ChromeClient::windowRect for "device-width" and height. I think it would be better if there was a ChromeClient::deviceRect for "device-width" and height, and add new attributes "window-width" and height to represent the windowRect values. See ViewportArguments: http://trac.webkit.org/browser/trunk/WebCore/dom/ViewportArguments.cpp#L48
<rdar://problem/7704588>