<!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>[167481] trunk/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/167481">167481</a></dd>
<dt>Author</dt> <dd>dbates@webkit.org</dd>
<dt>Date</dt> <dd>2014-04-17 20:51:14 -0700 (Thu, 17 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[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.

Source/WebCore:
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:

Source/WebKit/ios:
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.

Source/WebKit/mac:
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):

Source/WebKit2:
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):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCorepageChromecpp">trunk/Source/WebCore/page/Chrome.cpp</a></li>
<li><a href="#trunkSourceWebCorepageChromeh">trunk/Source/WebCore/page/Chrome.h</a></li>
<li><a href="#trunkSourceWebCorepageChromeClienth">trunk/Source/WebCore/page/ChromeClient.h</a></li>
<li><a href="#trunkSourceWebCorepageViewportConfigurationcpp">trunk/Source/WebCore/page/ViewportConfiguration.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformHostWindowh">trunk/Source/WebCore/platform/HostWindow.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosPlatformScreenIOSmm">trunk/Source/WebCore/platform/ios/PlatformScreenIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebCoreSystemInterfaceIOSmm">trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacWebCoreSystemInterfaceh">trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h</a></li>
<li><a href="#trunkSourceWebKitiosChangeLog">trunk/Source/WebKit/ios/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSh">trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h</a></li>
<li><a href="#trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSmm">trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebSystemInterfacemm">trunk/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPageCreationParameterscpp">trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPageCreationParametersh">trunk/Source/WebKit2/Shared/WebPageCreationParameters.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWebPageProxyIOSmm">trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClienth">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportmacWebSystemInterfacemm">trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm">trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/ChangeLog        2014-04-18 03:51:14 UTC (rev 167481)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+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  Darin Adler  &lt;darin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         origin spoofing possible (HTTP Origin, postMessage event.origin) due to inappropriate URL escape sequence decoding
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/dom/Document.cpp        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCorepageChromecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Chrome.cpp (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Chrome.cpp        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/page/Chrome.cpp        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCorepageChromeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Chrome.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Chrome.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/page/Chrome.h        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCorepageChromeClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ChromeClient.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ChromeClient.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/page/ChromeClient.h        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCorepageViewportConfigurationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ViewportConfiguration.cpp (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ViewportConfiguration.cpp        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/page/ViewportConfiguration.cpp        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCoreplatformHostWindowh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/HostWindow.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/HostWindow.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/platform/HostWindow.h        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCoreplatformiosPlatformScreenIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/PlatformScreenIOS.mm (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/PlatformScreenIOS.mm        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/platform/ios/PlatformScreenIOS.mm        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCoreplatformiosWebCoreSystemInterfaceIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/platform/ios/WebCoreSystemInterfaceIOS.mm        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebCoreplatformmacWebCoreSystemInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKitiosChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/ChangeLog (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/ChangeLog        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit/ios/ChangeLog        2014-04-18 03:51:14 UTC (rev 167481)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+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="trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit/mac/ChangeLog        2014-04-18 03:51:14 UTC (rev 167481)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+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-17  Darin Adler  &lt;darin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add separate flag for IndexedDatabase in workers since the current implementation is not threadsafe
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebSystemInterfacemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/ChangeLog        2014-04-18 03:51:14 UTC (rev 167481)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+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):
+
</ins><span class="cx"> 2014-04-17  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove unused API enums
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPageCreationParameterscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKit2SharedWebPageCreationParametersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.h        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2014-04-18 03:51:14 UTC (rev 167481)
</span><span class="lines">@@ -1347,8 +1347,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="trunkSourceWebKit2UIProcessiosWebPageProxyIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2014-04-18 03:51:14 UTC (rev 167481)
</span><span class="lines">@@ -463,11 +463,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="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKit2WebProcessWebCoreSupportmacWebSystemInterfacemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-04-18 03:51:14 UTC (rev 167481)
</span><span class="lines">@@ -290,7 +290,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="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2014-04-18 03:51:14 UTC (rev 167481)
</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="trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (167480 => 167481)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2014-04-18 02:41:00 UTC (rev 167480)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2014-04-18 03:51:14 UTC (rev 167481)
</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>