From my understanding of the viewport section of the Apple Safari HTML Reference <http://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/Articles/MetaTags.html#//apple_ref/doc/uid/TP40008193-SW6>, device-width and device-height are constants with respect to the width and height of the screen in direction north (e.g. portrait orientation for the iPhone). And the screen size for the device may not be equivalent to the size of the window rect We should add methods, say, ChromeClient::platformScreenSize, and ChromeClient::setPlatformScreenSize so that the client can provide the dimensions of the screen in direction north so that ViewportArguments can use these dimensions for the value of device-width and device-height.
Created attachment 57166 [details] Patch By default, platformScreenSize returns an empty IntSize(). Clients should override this is they are implementing support for the viewport meta tag.
Created attachment 57174 [details] Patch Added missing #include ChromeClient.h
Attachment 57166 [details] did not build on mac: Build output: http://webkit-commit-queue.appspot.com/results/2555001
Attachment 57166 [details] did not build on qt: Build output: http://webkit-commit-queue.appspot.com/results/2504048
Comment on attachment 57174 [details] Patch How do we test this?
(In reply to comment #5) > (From update of attachment 57174 [details]) > How do we test this? We cannot test this at this time. We need to add DRT support. Notice, this patch is abstracting the platform screen size (which may be different from the dimensions of the window rectangle) and which will differ on each platform that chooses to implement ViewportArguments support (by implementing method ChromeClient::didReceiveViewportArguments).
Comment on attachment 57174 [details] Patch Clearing review flag to think about this some more.