<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[167487] tags/Safari-538.30.1/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/167487">167487</a></dd>
<dt>Author</dt> <dd>bshafiei@apple.com</dd>
<dt>Date</dt> <dd>2014-04-17 23:59:56 -0700 (Thu, 17 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merged <a href="http://trac.webkit.org/projects/webkit/changeset/167481">r167481</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#tagsSafari538301SourceWebCoreChangeLog">tags/Safari-538.30.1/Source/WebCore/ChangeLog</a></li>
<li><a href="#tagsSafari538301SourceWebCoreWebCoreexpin">tags/Safari-538.30.1/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#tagsSafari538301SourceWebCoredomDocumentcpp">tags/Safari-538.30.1/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#tagsSafari538301SourceWebCorepageChromecpp">tags/Safari-538.30.1/Source/WebCore/page/Chrome.cpp</a></li>
<li><a href="#tagsSafari538301SourceWebCorepageChromeh">tags/Safari-538.30.1/Source/WebCore/page/Chrome.h</a></li>
<li><a href="#tagsSafari538301SourceWebCorepageChromeClienth">tags/Safari-538.30.1/Source/WebCore/page/ChromeClient.h</a></li>
<li><a href="#tagsSafari538301SourceWebCorepageViewportConfigurationcpp">tags/Safari-538.30.1/Source/WebCore/page/ViewportConfiguration.cpp</a></li>
<li><a href="#tagsSafari538301SourceWebCoreplatformHostWindowh">tags/Safari-538.30.1/Source/WebCore/platform/HostWindow.h</a></li>
<li><a href="#tagsSafari538301SourceWebCoreplatformiosPlatformScreenIOSmm">tags/Safari-538.30.1/Source/WebCore/platform/ios/PlatformScreenIOS.mm</a></li>
<li><a href="#tagsSafari538301SourceWebCoreplatformiosWebCoreSystemInterfaceIOSmm">tags/Safari-538.30.1/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm</a></li>
<li><a href="#tagsSafari538301SourceWebCoreplatformmacWebCoreSystemInterfaceh">tags/Safari-538.30.1/Source/WebCore/platform/mac/WebCoreSystemInterface.h</a></li>
<li><a href="#tagsSafari538301SourceWebKitiosChangeLog">tags/Safari-538.30.1/Source/WebKit/ios/ChangeLog</a></li>
<li><a href="#tagsSafari538301SourceWebKitiosWebCoreSupportWebChromeClientIOSh">tags/Safari-538.30.1/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h</a></li>
<li><a href="#tagsSafari538301SourceWebKitiosWebCoreSupportWebChromeClientIOSmm">tags/Safari-538.30.1/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm</a></li>
<li><a href="#tagsSafari538301SourceWebKitmacChangeLog">tags/Safari-538.30.1/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#tagsSafari538301SourceWebKitmacWebCoreSupportWebSystemInterfacemm">tags/Safari-538.30.1/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm</a></li>
<li><a href="#tagsSafari538301SourceWebKit2ChangeLog">tags/Safari-538.30.1/Source/WebKit2/ChangeLog</a></li>
<li><a href="#tagsSafari538301SourceWebKit2SharedWebPageCreationParameterscpp">tags/Safari-538.30.1/Source/WebKit2/Shared/WebPageCreationParameters.cpp</a></li>
<li><a href="#tagsSafari538301SourceWebKit2SharedWebPageCreationParametersh">tags/Safari-538.30.1/Source/WebKit2/Shared/WebPageCreationParameters.h</a></li>
<li><a href="#tagsSafari538301SourceWebKit2UIProcessWebPageProxycpp">tags/Safari-538.30.1/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#tagsSafari538301SourceWebKit2UIProcessWebPageProxyh">tags/Safari-538.30.1/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#tagsSafari538301SourceWebKit2UIProcessiosWebPageProxyIOSmm">tags/Safari-538.30.1/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm</a></li>
<li><a href="#tagsSafari538301SourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp">tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp</a></li>
<li><a href="#tagsSafari538301SourceWebKit2WebProcessWebCoreSupportWebChromeClienth">tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h</a></li>
<li><a href="#tagsSafari538301SourceWebKit2WebProcessWebCoreSupportmacWebSystemInterfacemm">tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm</a></li>
<li><a href="#tagsSafari538301SourceWebKit2WebProcessWebPageWebPagecpp">tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#tagsSafari538301SourceWebKit2WebProcessWebPageWebPageh">tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#tagsSafari538301SourceWebKit2WebProcessWebPageiosWebPageIOSmm">tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="tagsSafari538301SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/ChangeLog (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/ChangeLog        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/ChangeLog        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -1,3 +1,45 @@
</span><ins>+2014-04-17  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
+        Merge r167481
+
+    2014-04-17  Daniel Bates  &lt;dabates@apple.com&gt;
+
+            [iOS] Hook up screen.{availHeight, availWidth, height, width}
+            https://bugs.webkit.org/show_bug.cgi?id=131821
+            &lt;rdar://problem/16413795&gt;
+
+            Reviewed by Benjamin Poulain and Tim Horton.
+
+            Implement support for screen.{availHeight, availWidth, height, width} in WebKit2 for iOS.
+
+            Additionally substitute &quot;screenSize&quot; for &quot;viewporScreenSize&quot; to make the code more understandable.
+
+            * WebCore.exp.in: Export symbol for WebCore System Interface function
+            _wkGetViewportAvailableScreenSize.
+            * dom/Document.cpp:
+            (WebCore::Document::processViewport): Modified to call Chrome::screenSize(); formerly it
+            called ChromeClient::viewportScreenSize().
+            * page/Chrome.cpp:
+            (WebCore::Chrome::screenSize): Added; turns around and calls ChromeClient::screenSize().
+            (WebCore::Chrome::availableScreenSize): Added; turns around and calls ChromeClient::availableScreenSize().
+            * page/Chrome.h:
+            * page/ChromeClient.h:
+            (WebCore::ChromeClient::screenSize): Renamed; formerly named viewportScreenSize.
+            (WebCore::ChromeClient::availableScreenSize): Added; default implementation, which
+            returns the size of Chrome::windowRect().
+            * page/ViewportConfiguration.cpp:
+            (WebCore::ViewportConfiguration::textDocumentParameters):
+            * platform/HostWindow.h: Added declarations for availableScreenSize() and screenSize()
+            so that a caller (e.g. WebCore::screenRect()) can query for such screen information using
+            only the HostWindow interface. That is, a caller doesn't need to know about ChromeClient.
+            * platform/ios/PlatformScreenIOS.mm:
+            (WebCore::screenRect): Modified to query HostWindow::screenSize() when computing the
+            screen rectangle in WebKit2 for iOS.
+            (WebCore::screenAvailableRect): Modified to query HostWindow::availableScreenSize()
+            when computing the available screen rectangle in WebKit2 for iOS.
+            * platform/ios/WebCoreSystemInterfaceIOS.mm:
+            * platform/mac/WebCoreSystemInterface.h:
+
</ins><span class="cx"> 2014-04-17  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Merge r167460
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/WebCore.exp.in (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/WebCore.exp.in        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/WebCore.exp.in        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -2716,7 +2716,8 @@
</span><span class="cx"> _wkGetUserAgent
</span><span class="cx"> _wkGetVendorNameForNavigator
</span><span class="cx"> _wkGetVerticalGlyphsForCharacters
</span><del>-_wkGetViewportScreenSize
</del><ins>+_wkGetScreenSize
+_wkGetAvailableScreenSize
</ins><span class="cx"> _wkIsGB18030ComplianceRequired
</span><span class="cx"> _wkSetLayerContentsScale
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/dom/Document.cpp (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/dom/Document.cpp        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/dom/Document.cpp        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -2945,7 +2945,7 @@
</span><span class="cx">     // bounds checking and determining concrete values for ValueAuto which we already do in UIKit.
</span><span class="cx">     // To maintain old behavior, we just need to update a few values, leaving Auto's for UIKit.
</span><span class="cx">     if (Page* page = this-&gt;page())
</span><del>-        finalizeViewportArguments(m_viewportArguments, page-&gt;chrome().client().viewportScreenSize());
</del><ins>+        finalizeViewportArguments(m_viewportArguments, page-&gt;chrome().screenSize());
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     updateViewportArguments();
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCorepageChromecpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/page/Chrome.cpp (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/page/Chrome.cpp        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/page/Chrome.cpp        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -488,6 +488,16 @@
</span><span class="cx">     m_client.loadIconForFiles(filenames, loader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+FloatSize Chrome::screenSize() const
+{
+    return m_client.screenSize();
+}
+
+FloatSize Chrome::availableScreenSize() const
+{
+    return m_client.availableScreenSize();
+}
+
</ins><span class="cx"> void Chrome::dispatchViewportPropertiesDidChange(const ViewportArguments&amp; arguments) const
</span><span class="cx"> {
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCorepageChromeh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/page/Chrome.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/page/Chrome.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/page/Chrome.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -90,6 +90,9 @@
</span><span class="cx">     virtual PlatformDisplayID displayID() const override;
</span><span class="cx">     virtual void windowScreenDidChange(PlatformDisplayID) override;
</span><span class="cx"> 
</span><ins>+    FloatSize screenSize() const override;
+    FloatSize availableScreenSize() const override;
+
</ins><span class="cx">     void scrollRectIntoView(const IntRect&amp;) const;
</span><span class="cx"> 
</span><span class="cx">     void contentsSizeChanged(Frame*, const IntSize&amp;) const;
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCorepageChromeClienth"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/page/ChromeClient.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/page/ChromeClient.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/page/ChromeClient.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -176,7 +176,9 @@
</span><span class="cx"> #endif
</span><span class="cx">     // End methods used by HostWindow.
</span><span class="cx"> 
</span><del>-    virtual FloatSize viewportScreenSize() const { return const_cast&lt;ChromeClient*&gt;(this)-&gt;windowRect().size(); }
</del><ins>+    virtual FloatSize screenSize() const { return const_cast&lt;ChromeClient*&gt;(this)-&gt;windowRect().size(); }
+    virtual FloatSize availableScreenSize() const { return const_cast&lt;ChromeClient*&gt;(this)-&gt;windowRect().size(); }
+
</ins><span class="cx">     virtual void dispatchViewportPropertiesDidChange(const ViewportArguments&amp;) const { }
</span><span class="cx"> 
</span><span class="cx">     virtual void contentsSizeChanged(Frame*, const IntSize&amp;) const = 0;
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCorepageViewportConfigurationcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/page/ViewportConfiguration.cpp (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/page/ViewportConfiguration.cpp        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/page/ViewportConfiguration.cpp        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx">     Parameters parameters;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    parameters.width = static_cast&lt;int&gt;(wkGetViewportScreenSize().width);
</del><ins>+    parameters.width = static_cast&lt;int&gt;(wkGetScreenSize().width);
</ins><span class="cx"> #else
</span><span class="cx">     // FIXME: this needs to be unified with ViewportArguments on all ports.
</span><span class="cx">     parameters.width = 320;
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCoreplatformHostWindowh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/platform/HostWindow.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/platform/HostWindow.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/platform/HostWindow.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -76,6 +76,9 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PlatformDisplayID displayID() const = 0;
</span><span class="cx">     virtual void windowScreenDidChange(PlatformDisplayID) = 0;
</span><ins>+
+    virtual FloatSize screenSize() const = 0;
+    virtual FloatSize availableScreenSize() const = 0;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCoreplatformiosPlatformScreenIOSmm"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/platform/ios/PlatformScreenIOS.mm (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/platform/ios/PlatformScreenIOS.mm        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/platform/ios/PlatformScreenIOS.mm        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;FloatRect.h&quot;
</span><span class="cx"> #import &quot;FrameView.h&quot;
</span><ins>+#import &quot;HostWindow.h&quot;
</ins><span class="cx"> #import &quot;IntRect.h&quot;
</span><span class="cx"> #import &quot;NotImplemented.h&quot;
</span><span class="cx"> #import &quot;WAKWindow.h&quot;
</span><span class="lines">@@ -58,23 +59,33 @@
</span><span class="cx"> FloatRect screenRect(Widget* widget)
</span><span class="cx"> {
</span><span class="cx">     if (!widget)
</span><del>-        return CGRectZero;
-    WAKWindow *window = [widget-&gt;platformWidget() window];
-    if (!window)
-        return [widget-&gt;platformWidget() frame];
-    CGRect screenRect = { CGPointZero, [window screenSize] };
-    return enclosingIntRect(screenRect);
</del><ins>+        return FloatRect();
+
+    if (NSView *platformWidget = widget-&gt;platformWidget()) {
+        // WebKit1
+        WAKWindow *window = [platformWidget window];
+        if (!window)
+            return [platformWidget frame];
+        CGRect screenRect = { CGPointZero, [window screenSize] };
+        return enclosingIntRect(screenRect);
+    }
+    return enclosingIntRect(FloatRect(FloatPoint(), widget-&gt;root()-&gt;hostWindow()-&gt;screenSize()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> FloatRect screenAvailableRect(Widget* widget)
</span><span class="cx"> {
</span><span class="cx">     if (!widget)
</span><del>-        return CGRectZero;
-    WAKWindow *window = [widget-&gt;platformWidget() window];
-    if (!window)
-        return CGRectZero;
-    CGRect screenRect = { CGPointZero, [window availableScreenSize] };
-    return enclosingIntRect(screenRect);
</del><ins>+        return FloatRect();
+
+    if (NSView *platformWidget = widget-&gt;platformWidget()) {
+        // WebKit1
+        WAKWindow *window = [platformWidget window];
+        if (!window)
+            return FloatRect();
+        CGRect screenRect = { CGPointZero, [window availableScreenSize] };
+        return enclosingIntRect(screenRect);
+    }
+    return enclosingIntRect(FloatRect(FloatPoint(), widget-&gt;root()-&gt;hostWindow()-&gt;availableScreenSize()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void screenColorProfile(ColorProfile&amp;)
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCoreplatformiosWebCoreSystemInterfaceIOSmm"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -68,7 +68,8 @@
</span><span class="cx"> CFHTTPMessageRef (*wkCopyCONNECTProxyResponse)(CFReadStreamRef, CFURLRef responseURL, CFStringRef proxyHost, CFNumberRef proxyPort);
</span><span class="cx"> bool (*wkExecutableWasLinkedOnOrAfterIOSVersion)(int);
</span><span class="cx"> int (*wkGetDeviceClass)(void);
</span><del>-CGSize (*wkGetViewportScreenSize)(void);
</del><ins>+CGSize (*wkGetScreenSize)(void);
+CGSize (*wkGetAvailableScreenSize)(void);
</ins><span class="cx"> void (*wkSetLayerContentsScale)(CALayer *);
</span><span class="cx"> float (*wkGetScreenScaleFactor)(void);
</span><span class="cx"> bool (*wkIsGB18030ComplianceRequired)(void);
</span></span></pre></div>
<a id="tagsSafari538301SourceWebCoreplatformmacWebCoreSystemInterfaceh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebCore/platform/mac/WebCoreSystemInterface.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebCore/platform/mac/WebCoreSystemInterface.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebCore/platform/mac/WebCoreSystemInterface.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -300,7 +300,8 @@
</span><span class="cx"> #endif // !PLATFORM(IOS)
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-extern CGSize (*wkGetViewportScreenSize)(void);
</del><ins>+extern CGSize (*wkGetScreenSize)(void);
+extern CGSize (*wkGetAvailableScreenSize)(void);
</ins><span class="cx"> extern void (*wkSetLayerContentsScale)(CALayer *);
</span><span class="cx"> extern float (*wkGetScreenScaleFactor)(void);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKitiosChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit/ios/ChangeLog (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit/ios/ChangeLog        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit/ios/ChangeLog        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -1,3 +1,25 @@
</span><ins>+2014-04-17  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
+        Merge r167481
+        
+    2014-04-17  Daniel Bates  &lt;dabates@apple.com&gt;
+
+            [iOS] Hook up screen.{availHeight, availWidth, height, width}
+            https://bugs.webkit.org/show_bug.cgi?id=131821
+            &lt;rdar://problem/16413795&gt;
+
+            Reviewed by Benjamin Poulain and Tim Horton.
+
+            Provide iOS-specific WebKit1 implementation for ChromeClient::availableScreenSize().
+
+            Additionally substitute &quot;screenSize&quot; for &quot;viewporScreenSize&quot; to make the code more understandable.
+
+            * WebCoreSupport/WebChromeClientIOS.h:
+            * WebCoreSupport/WebChromeClientIOS.mm:
+            (WebChromeClientIOS::screenSize): Renamed; formerly named viewportScreenSize.
+            (WebChromeClientIOS::availableScreenSize): Added; ASSERT_NOT_REACHED() as a widget
+            should consult it's associated WAKWindow for the available screen size.
+
</ins><span class="cx"> 2014-04-08  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Rename Clipboard to DataTransfer
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKitiosWebCoreSupportWebChromeClientIOSh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -52,7 +52,8 @@
</span><span class="cx">     virtual void setNeedsScrollNotifications(WebCore::Frame*, bool) override;
</span><span class="cx">     virtual void observedContentChange(WebCore::Frame*) override;
</span><span class="cx">     virtual void clearContentChangeObservers(WebCore::Frame*) override;
</span><del>-    virtual WebCore::FloatSize viewportScreenSize() const override;
</del><ins>+    virtual WebCore::FloatSize screenSize() const override;
+    virtual WebCore::FloatSize availableScreenSize() const override;
</ins><span class="cx">     virtual void dispatchViewportPropertiesDidChange(const WebCore::ViewportArguments&amp;) const override;
</span><span class="cx">     virtual void notifyRevealedSelectionByScrollingFrame(WebCore::Frame*) override;
</span><span class="cx">     virtual bool isStopping() override;
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKitiosWebCoreSupportWebChromeClientIOSmm"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -172,11 +172,18 @@
</span><span class="cx">               @&quot;minimal-ui&quot;:@(arguments.minimalUI) };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-FloatSize WebChromeClientIOS::viewportScreenSize() const
</del><ins>+FloatSize WebChromeClientIOS::screenSize() const
</ins><span class="cx"> {
</span><del>-    return FloatSize(WKGetViewportScreenSize());
</del><ins>+    return FloatSize(WKGetScreenSize());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+FloatSize WebChromeClientIOS::availableScreenSize() const
+{
+    // WebKit1 code should query the WAKWindow for the available screen size.
+    ASSERT_NOT_REACHED();
+    return FloatSize();
+}
+
</ins><span class="cx"> void WebChromeClientIOS::dispatchViewportPropertiesDidChange(const WebCore::ViewportArguments&amp; arguments) const
</span><span class="cx"> {
</span><span class="cx">     [[webView() _UIKitDelegateForwarder] webView:webView() didReceiveViewportArguments:dictionaryForViewportArguments(arguments)];
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit/mac/ChangeLog (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit/mac/ChangeLog        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit/mac/ChangeLog        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2014-04-17  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
+        Merge r167481
+        
+    2014-04-17  Daniel Bates  &lt;dabates@apple.com&gt;
+
+            [iOS] Hook up screen.{availHeight, availWidth, height, width}
+            https://bugs.webkit.org/show_bug.cgi?id=131821
+            &lt;rdar://problem/16413795&gt;
+
+            Reviewed by Benjamin Poulain and Tim Horton.
+
+            Add declaration for WKGetViewportAvailableScreenSize() to return the available screen size.
+
+            Additionally substitute &quot;ScreenSize&quot; for &quot;ViewportScreenSize&quot; to make the code more understandable.
+
+            * WebCoreSupport/WebSystemInterface.mm:
+            (InitWebCoreSystemInterface):
+
</ins><span class="cx"> 2014-04-16  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Images dragged from WebKit1 on 2x displays are too big
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKitmacWebCoreSupportWebSystemInterfacemm"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -139,7 +139,8 @@
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     INIT(ExecutableWasLinkedOnOrAfterIOSVersion);
</span><span class="cx">     INIT(GetDeviceClass);
</span><del>-    INIT(GetViewportScreenSize);
</del><ins>+    INIT(GetScreenSize);
+    INIT(GetAvailableScreenSize);
</ins><span class="cx">     INIT(GetScreenScaleFactor);
</span><span class="cx">     INIT(IsGB18030ComplianceRequired);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/ChangeLog (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/ChangeLog        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/ChangeLog        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -1,5 +1,47 @@
</span><span class="cx"> 2014-04-17  Babak Shafiei  &lt;bshafiei@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Merge r167481
+
+    2014-04-17  Daniel Bates  &lt;dabates@apple.com&gt;
+
+            [iOS] Hook up screen.{availHeight, availWidth, height, width}
+            https://bugs.webkit.org/show_bug.cgi?id=131821
+            &lt;rdar://problem/16413795&gt;
+
+            Reviewed by Benjamin Poulain and Tim Horton.
+
+            Implement WebKit2-specific support infrastructure.
+
+            Additionally substitute &quot;screenSize&quot; for &quot;viewporScreenSize&quot; to make the code more understandable.
+
+            * Shared/WebPageCreationParameters.cpp:
+            (WebKit::WebPageCreationParameters::encode): Modified to encode the available screen size
+            creation parameter.
+            (WebKit::WebPageCreationParameters::decode): Modified to decode the available screen size
+            creation parameter.
+            * Shared/WebPageCreationParameters.h:
+            * UIProcess/WebPageProxy.cpp:
+            (WebKit::WebPageProxy::creationParameters): Initialize the available screen size
+            parameter.
+            * UIProcess/WebPageProxy.h:
+            * UIProcess/ios/WebPageProxyIOS.mm:
+            (WebKit::WebPageProxy::screenSize): Renamed; formerly named viewportScreenSize.
+            (WebKit::WebPageProxy::availableScreenSize): Added.
+            * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+            (WebKit::WebChromeClient::screenSize): Renamed; formerly named viewportScreenSize.
+            (WebKit::WebChromeClient::availableScreenSize): Added; turns around and calls WebPage::availableScreenSize().
+            * WebProcess/WebCoreSupport/WebChromeClient.h:
+            * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+            (InitWebCoreSystemInterface): Hook up WebKit System Interface function WKGetAvailableScreenSize.
+            * WebProcess/WebPage/WebPage.cpp:
+            (WebKit::WebPage::WebPage): Initialize available screen size instance variable.
+            * WebProcess/WebPage/WebPage.h:
+            * WebProcess/WebPage/ios/WebPageIOS.mm:
+            (WebKit::WebPage::screenSize):
+            (WebKit::WebPage::availableScreenSize):
+
+2014-04-17  Babak Shafiei  &lt;bshafiei@apple.com&gt;
+
</ins><span class="cx">         Merge r167457
</span><span class="cx"> 
</span><span class="cx">     2014-04-17  Pratik Solanki  &lt;psolanki@apple.com&gt;
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2SharedWebPageCreationParameterscpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/Shared/WebPageCreationParameters.cpp (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -72,7 +72,8 @@
</span><span class="cx">     encoder &lt;&lt; colorSpace;
</span><span class="cx"> #endif
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    encoder &lt;&lt; viewportScreenSize;
</del><ins>+    encoder &lt;&lt; screenSize;
+    encoder &lt;&lt; availableScreenSize;
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -152,8 +153,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    if (!decoder.decode(parameters.viewportScreenSize))
</del><ins>+    if (!decoder.decode(parameters.screenSize))
</ins><span class="cx">         return false;
</span><ins>+    if (!decoder.decode(parameters.availableScreenSize))
+        return false;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2SharedWebPageCreationParametersh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/Shared/WebPageCreationParameters.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/Shared/WebPageCreationParameters.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/Shared/WebPageCreationParameters.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -115,7 +115,8 @@
</span><span class="cx">     ColorSpaceData colorSpace;
</span><span class="cx"> #endif
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    WebCore::FloatSize viewportScreenSize;
</del><ins>+    WebCore::FloatSize screenSize;
+    WebCore::FloatSize availableScreenSize;
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/UIProcess/WebPageProxy.cpp (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -4211,7 +4211,8 @@
</span><span class="cx">     parameters.colorSpace = m_pageClient.colorSpace();
</span><span class="cx"> #endif
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    parameters.viewportScreenSize = viewportScreenSize();
</del><ins>+    parameters.screenSize = screenSize();
+    parameters.availableScreenSize = availableScreenSize();
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     return parameters;
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/UIProcess/WebPageProxy.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/UIProcess/WebPageProxy.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/UIProcess/WebPageProxy.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -1346,8 +1346,10 @@
</span><span class="cx"> #endif // PLATFORM(MAC)
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    WebCore::FloatSize viewportScreenSize();
</del><ins>+    WebCore::FloatSize screenSize();
+    WebCore::FloatSize availableScreenSize();
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx">     void dynamicViewportUpdateChangedTarget(double newTargetScale, const WebCore::FloatPoint&amp; newScrollPosition);
</span><span class="cx">     void didGetTapHighlightGeometries(uint64_t requestID, const WebCore::Color&amp; color, const Vector&lt;WebCore::FloatQuad&gt;&amp; geometries, const WebCore::IntSize&amp; topLeftRadius, const WebCore::IntSize&amp; topRightRadius, const WebCore::IntSize&amp; bottomLeftRadius, const WebCore::IntSize&amp; bottomRightRadius);
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2UIProcessiosWebPageProxyIOSmm"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -458,11 +458,16 @@
</span><span class="cx">     process().send(Messages::WebPage::BlurAssistedNode(), m_pageID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-FloatSize WebPageProxy::viewportScreenSize()
</del><ins>+FloatSize WebPageProxy::screenSize()
</ins><span class="cx"> {
</span><del>-    return FloatSize(WKGetViewportScreenSize());
</del><ins>+    return FloatSize(WKGetScreenSize());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+FloatSize WebPageProxy::availableScreenSize()
+{
+    return FloatSize(WKGetAvailableScreenSize());
+}
+
</ins><span class="cx"> void WebPageProxy::dynamicViewportUpdateChangedTarget(double newScale, const WebCore::FloatPoint&amp; newScrollPosition)
</span><span class="cx"> {
</span><span class="cx">     m_pageClient.dynamicViewportUpdateChangedTarget(newScale, newScrollPosition);
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -845,10 +845,15 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-FloatSize WebChromeClient::viewportScreenSize() const
</del><ins>+FloatSize WebChromeClient::screenSize() const
</ins><span class="cx"> {
</span><del>-    return m_page-&gt;viewportScreenSize();
</del><ins>+    return m_page-&gt;screenSize();
</ins><span class="cx"> }
</span><ins>+
+FloatSize WebChromeClient::availableScreenSize() const
+{
+    return m_page-&gt;availableScreenSize();
+}
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> void WebChromeClient::dispatchViewportPropertiesDidChange(const ViewportArguments&amp; viewportArguments) const
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2WebProcessWebCoreSupportWebChromeClienth"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -252,7 +252,8 @@
</span><span class="cx">     virtual void disableSuddenTermination() override;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    virtual WebCore::FloatSize viewportScreenSize() const override;
</del><ins>+    virtual WebCore::FloatSize screenSize() const override;
+    virtual WebCore::FloatSize availableScreenSize() const override;
</ins><span class="cx"> #endif
</span><span class="cx">     virtual void dispatchViewportPropertiesDidChange(const WebCore::ViewportArguments&amp;) const override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2WebProcessWebCoreSupportmacWebSystemInterfacemm"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -219,7 +219,8 @@
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">         INIT(ExecutableWasLinkedOnOrAfterIOSVersion);
</span><span class="cx">         INIT(GetDeviceClass);
</span><del>-        INIT(GetViewportScreenSize);
</del><ins>+        INIT(GetScreenSize);
+        INIT(GetAvailableScreenSize);
</ins><span class="cx">         INIT(GetScreenScaleFactor);
</span><span class="cx">         INIT(IsGB18030ComplianceRequired);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -291,7 +291,8 @@
</span><span class="cx">     , m_hasReceivedVisibleContentRectsAfterDidCommitLoad(false)
</span><span class="cx">     , m_scaleWasSetByUIProcess(false)
</span><span class="cx">     , m_userHasChangedPageScaleFactor(false)
</span><del>-    , m_viewportScreenSize(parameters.viewportScreenSize)
</del><ins>+    , m_screenSize(parameters.screenSize)
+    , m_availableScreenSize(parameters.availableScreenSize)
</ins><span class="cx"> #endif
</span><span class="cx">     , m_inspectorClient(0)
</span><span class="cx">     , m_backgroundColor(Color::white)
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/WebPage.h (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/WebPage.h        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/WebPage.h        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -437,7 +437,8 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    WebCore::FloatSize viewportScreenSize() const;
</del><ins>+    WebCore::FloatSize screenSize() const;
+    WebCore::FloatSize availableScreenSize() const;
</ins><span class="cx">     void viewportPropertiesDidChange(const WebCore::ViewportArguments&amp;);
</span><span class="cx">     void didReceiveMobileDocType(bool);
</span><span class="cx"> 
</span><span class="lines">@@ -1154,7 +1155,8 @@
</span><span class="cx">     bool m_hasReceivedVisibleContentRectsAfterDidCommitLoad;
</span><span class="cx">     bool m_scaleWasSetByUIProcess;
</span><span class="cx">     bool m_userHasChangedPageScaleFactor;
</span><del>-    WebCore::FloatSize m_viewportScreenSize;
</del><ins>+    WebCore::FloatSize m_screenSize;
+    WebCore::FloatSize m_availableScreenSize;
</ins><span class="cx">     WebCore::IntSize m_blockSelectionDesiredSize;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari538301SourceWebKit2WebProcessWebPageiosWebPageIOSmm"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (167486 => 167487)</h4>
<pre class="diff"><span>
<span class="info">--- tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2014-04-18 06:48:56 UTC (rev 167486)
+++ tags/Safari-538.30.1/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2014-04-18 06:59:56 UTC (rev 167487)
</span><span class="lines">@@ -111,11 +111,16 @@
</span><span class="cx">     notImplemented();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-FloatSize WebPage::viewportScreenSize() const
</del><ins>+FloatSize WebPage::screenSize() const
</ins><span class="cx"> {
</span><del>-    return m_viewportScreenSize;
</del><ins>+    return m_screenSize;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+FloatSize WebPage::availableScreenSize() const
+{
+    return m_availableScreenSize;
+}
+
</ins><span class="cx"> void WebPage::viewportPropertiesDidChange(const ViewportArguments&amp; viewportArguments)
</span><span class="cx"> {
</span><span class="cx">     m_viewportConfiguration.setViewportArguments(viewportArguments);
</span></span></pre>
</div>
</div>

</body>
</html>