<!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>[162230] trunk</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/162230">162230</a></dd>
<dt>Author</dt> <dd>bdakin@apple.com</dd>
<dt>Date</dt> <dd>2014-01-17 16:05:59 -0800 (Fri, 17 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Need a way to test the tile cache with margins enabled
https://bugs.webkit.org/show_bug.cgi?id=127194
-and corresponding-
&lt;rdar://problem/15571327&gt;

Reviewed by Tim Horton.

Source/WebCore: 

This patch adds a new function to InternalSettings that will allow layout tests to 
flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also         
makes changing that setting take effect immediately. 

To make this setting dynamic, we can no longer generate the Setting function, so 
we have to export the symbol manually.
* WebCore.exp.in:

This new function on FrameView will call into RenderLayerBacking to add or remove 
margins.
* page/FrameView.cpp:
(WebCore::FrameView::setBackgroundExtendsBeyondPage):
* page/FrameView.h:

Again, we’re no longer using the boiler-plate generated Setting functions, so now 
we can call into FrameView to make the background extend.
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setBackgroundShouldExtendBeyondPage):
* page/Settings.h:
(WebCore::Settings::backgroundShouldExtendBeyondPage):
* page/Settings.in:

Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change 
dynamic.
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::setTileMargins):

Move the call to TiledBacking::setTileMargins() into a helper function so that the 
same code can be used for FrameView.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::setTiledBackingHasMargins):
* rendering/RenderLayerBacking.h:

New InternalSetting.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Source/WebKit: 

Attempt to keep Windows building.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

LayoutTests: 

* platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<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="#trunkSourceWebCorepageFrameViewcpp">trunk/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewh">trunk/Source/WebCore/page/FrameView.h</a></li>
<li><a href="#trunkSourceWebCorepageSettingscpp">trunk/Source/WebCore/page/Settings.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSettingsh">trunk/Source/WebCore/page/Settings.h</a></li>
<li><a href="#trunkSourceWebCorepageSettingsin">trunk/Source/WebCore/page/Settings.in</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscamacTileControllermm">trunk/Source/WebCore/platform/graphics/ca/mac/TileController.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerBackingcpp">trunk/Source/WebCore/rendering/RenderLayerBacking.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerBackingh">trunk/Source/WebCore/rendering/RenderLayerBacking.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingscpp">trunk/Source/WebCore/testing/InternalSettings.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingsh">trunk/Source/WebCore/testing/InternalSettings.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingsidl">trunk/Source/WebCore/testing/InternalSettings.idl</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsplatformmacwk2tileddrawingsimpledocumentwithmargintilesexpectedtxt">trunk/LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2tileddrawingsimpledocumentwithmargintileshtml">trunk/LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/LayoutTests/ChangeLog        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2014-01-17  Beth Dakin  &lt;bdakin@apple.com&gt;
+
+        Need a way to test the tile cache with margins enabled
+        https://bugs.webkit.org/show_bug.cgi?id=127194
+        -and corresponding-
+        &lt;rdar://problem/15571327&gt;
+
+        Reviewed by Tim Horton.
+
+        * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: Added.
+        * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html: Added.
+
</ins><span class="cx"> 2014-01-17  Bem Jones-Bey  &lt;bjonesbe@adobe.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [CSS Shapes] Stacked floats with shape-outside should allow inline content to interact with the non-outermost float
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2tileddrawingsimpledocumentwithmargintilesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt (0 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt                                (rev 0)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+(GraphicsLayer
+  (bounds 1208.00 2021.00)
+  (visible rect 0.00, 0.00 785.00 x 585.00)
+  (contentsScale 1.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 1208.00 2021.00)
+      (contentsOpaque 1)
+      (visible rect 0.00, 0.00 785.00 x 585.00)
+      (contentsScale 1.00)
+      (tile cache coverage -512, -512 2048 x 2048)
+      (tile size 512 x 512)
+      (top left tile -1, -1 tiles grid 4 x 4)
+    )
+  )
+)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2tileddrawingsimpledocumentwithmargintileshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html (0 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html                                (rev 0)
+++ trunk/LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+
+&lt;html&gt;
+&lt;head&gt;
+    &lt;style&gt;
+        body {
+            width: 1200px;
+            height: 2000px;
+        }
+    &lt;/style&gt;
+    &lt;script&gt;
+        if (window.testRunner)
+            testRunner.dumpAsText();
+        
+        if (window.internals)
+            window.internals.settings.setBackgroundShouldExtendBeyondPage(true);
+
+        function doTest()
+        {
+            if (window.internals) {
+                document.getElementById('layers').innerText = internals.layerTreeAsText(document,
+                    internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS | internals.LAYER_TREE_INCLUDES_TILE_CACHES);
+            }
+        }
+        window.addEventListener('load', doTest, false);
+    &lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;pre id=&quot;layers&quot;&gt;Layer tree goes here&lt;/p&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/ChangeLog        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -1,3 +1,53 @@
</span><ins>+2014-01-17  Beth Dakin  &lt;bdakin@apple.com&gt;
+
+        Need a way to test the tile cache with margins enabled
+        https://bugs.webkit.org/show_bug.cgi?id=127194
+        -and corresponding-
+        &lt;rdar://problem/15571327&gt;
+
+        Reviewed by Tim Horton.
+
+        This patch adds a new function to InternalSettings that will allow layout tests to 
+        flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also         
+        makes changing that setting take effect immediately. 
+
+        To make this setting dynamic, we can no longer generate the Setting function, so 
+        we have to export the symbol manually.
+        * WebCore.exp.in:
+
+        This new function on FrameView will call into RenderLayerBacking to add or remove 
+        margins.
+        * page/FrameView.cpp:
+        (WebCore::FrameView::setBackgroundExtendsBeyondPage):
+        * page/FrameView.h:
+
+        Again, we’re no longer using the boiler-plate generated Setting functions, so now 
+        we can call into FrameView to make the background extend.
+        * page/Settings.cpp:
+        (WebCore::Settings::Settings):
+        (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
+        * page/Settings.h:
+        (WebCore::Settings::backgroundShouldExtendBeyondPage):
+        * page/Settings.in:
+
+        Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change 
+        dynamic.
+        * platform/graphics/ca/mac/TileController.mm:
+        (WebCore::TileController::setTileMargins):
+
+        Move the call to TiledBacking::setTileMargins() into a helper function so that the 
+        same code can be used for FrameView.
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::RenderLayerBacking):
+        (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
+        * rendering/RenderLayerBacking.h:
+
+        New InternalSetting.
+        * testing/InternalSettings.cpp:
+        (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
+        * testing/InternalSettings.h:
+        * testing/InternalSettings.idl:
+
</ins><span class="cx"> 2014-01-17  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove another unused FrameLoaderClient callback
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -1229,6 +1229,7 @@
</span><span class="cx"> __ZN7WebCore8Settings32setScreenFontSubstitutionEnabledEb
</span><span class="cx"> __ZN7WebCore8Settings33setAggressiveTileRetentionEnabledEb
</span><span class="cx"> __ZN7WebCore8Settings33setFontFallbackPrefersPictographsEb
</span><ins>+__ZN7WebCore8Settings35setBackgroundShouldExtendBeyondPageEb
</ins><span class="cx"> __ZN7WebCore8Settings37setScrollingPerformanceLoggingEnabledEb
</span><span class="cx"> __ZN7WebCore8Settings38setLowPowerVideoAudioBufferSizeEnabledEb
</span><span class="cx"> __ZN7WebCore8Settings38setSimpleLineLayoutDebugBordersEnabledEb
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.cpp (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.cpp        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/page/FrameView.cpp        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -2678,6 +2678,21 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if USE(ACCELERATED_COMPOSITING)
+void FrameView::setBackgroundExtendsBeyondPage(bool extendBackground)
+{
+    RenderView* renderView = this-&gt;renderView();
+    if (!renderView)
+        return;
+
+    RenderLayerBacking* backing = renderView-&gt;layer()-&gt;backing();
+    if (!backing)
+        return;
+
+    backing-&gt;setTiledBackingHasMargins(extendBackground);
+}
+#endif
+
</ins><span class="cx"> bool FrameView::shouldUpdateWhileOffscreen() const
</span><span class="cx"> {
</span><span class="cx">     return m_shouldUpdateWhileOffscreen;
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.h (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.h        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/page/FrameView.h        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -196,6 +196,10 @@
</span><span class="cx">     // extendedBackgroundRect() is in the viewport's coordinate space. 
</span><span class="cx">     bool hasExtendedBackground() const;
</span><span class="cx">     IntRect extendedBackgroundRect() const;
</span><ins>+    
+#if USE(ACCELERATED_COMPOSITING)
+    void setBackgroundExtendsBeyondPage(bool);
+#endif
</ins><span class="cx"> 
</span><span class="cx">     bool shouldUpdateWhileOffscreen() const;
</span><span class="cx">     void setShouldUpdateWhileOffscreen(bool);
</span></span></pre></div>
<a id="trunkSourceWebCorepageSettingscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Settings.cpp (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Settings.cpp        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/page/Settings.cpp        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -192,6 +192,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     , m_showTiledScrollingIndicator(false)
</span><span class="cx">     , m_tiledBackingStoreEnabled(false)
</span><ins>+    , m_backgroundShouldExtendBeyondPage(false)
</ins><span class="cx">     , m_dnsPrefetchingEnabled(false)
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx">     , m_touchEventEmulationEnabled(false)
</span><span class="lines">@@ -596,6 +597,18 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void Settings::setBackgroundShouldExtendBeyondPage(bool shouldExtend)
+{
+    if (m_backgroundShouldExtendBeyondPage == shouldExtend)
+        return;
+
+    m_backgroundShouldExtendBeyondPage = shouldExtend;
+
+#if USE(ACCELERATED_COMPOSITING)
+    m_page-&gt;mainFrame().view()-&gt;setBackgroundExtendsBeyondPage(shouldExtend);
+#endif
+}
+
</ins><span class="cx"> #if USE(AVFOUNDATION)
</span><span class="cx"> void Settings::setAVFoundationEnabled(bool enabled)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorepageSettingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Settings.h (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Settings.h        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/page/Settings.h        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -235,6 +235,9 @@
</span><span class="cx">     void setTiledBackingStoreEnabled(bool);
</span><span class="cx">     bool tiledBackingStoreEnabled() const { return m_tiledBackingStoreEnabled; }
</span><span class="cx"> 
</span><ins>+    void setBackgroundShouldExtendBeyondPage(bool);
+    bool backgroundShouldExtendBeyondPage() const { return m_backgroundShouldExtendBeyondPage; }
+
</ins><span class="cx"> #if USE(AVFOUNDATION)
</span><span class="cx">     static void setAVFoundationEnabled(bool flag);
</span><span class="cx">     static bool isAVFoundationEnabled() { return gAVFoundationEnabled; }
</span><span class="lines">@@ -357,6 +360,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     bool m_showTiledScrollingIndicator : 1;
</span><span class="cx">     bool m_tiledBackingStoreEnabled : 1;
</span><ins>+    bool m_backgroundShouldExtendBeyondPage : 1;
</ins><span class="cx">     bool m_dnsPrefetchingEnabled : 1;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span></span></pre></div>
<a id="trunkSourceWebCorepageSettingsin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Settings.in (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Settings.in        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/page/Settings.in        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -211,7 +211,6 @@
</span><span class="cx"> simpleLineLayoutEnabled initial=true, setNeedsStyleRecalcInAllFrames=1
</span><span class="cx"> simpleLineLayoutDebugBordersEnabled initial=false, setNeedsStyleRecalcInAllFrames=1
</span><span class="cx"> 
</span><del>-backgroundShouldExtendBeyondPage initial=false
</del><span class="cx"> mediaSourceEnabled initial=false
</span><span class="cx"> 
</span><span class="cx"> # FIXME: Rename to allowMultiElementImplicitFormSubmission once we upstream the iOS changes to WebView.mm.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscamacTileControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/mac/TileController.mm (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/mac/TileController.mm        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/TileController.mm        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -1067,6 +1067,8 @@
</span><span class="cx">     m_marginBottom = marginBottom;
</span><span class="cx">     m_marginLeft = marginLeft;
</span><span class="cx">     m_marginRight = marginRight;
</span><ins>+
+    setNeedsRevalidateTiles();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool TileController::hasMargins() const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -144,8 +144,7 @@
</span><span class="cx">         if (m_isMainFrameRenderViewLayer) {
</span><span class="cx">             tiledBacking-&gt;setExposedRect(renderer().frame().view()-&gt;exposedRect());
</span><span class="cx">             tiledBacking-&gt;setUnparentsOffscreenTiles(true);
</span><del>-            if (page-&gt;settings().backgroundShouldExtendBeyondPage())
-                tiledBacking-&gt;setTileMargins(512, 512, 512, 512);
</del><ins>+            setTiledBackingHasMargins(page-&gt;settings().backgroundShouldExtendBeyondPage());
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         tiledBacking-&gt;setScrollingPerformanceLoggingEnabled(page-&gt;settings().scrollingPerformanceLoggingEnabled());
</span><span class="lines">@@ -254,6 +253,15 @@
</span><span class="cx">     tiledBacking()-&gt;setTileCoverage(tileCoverage);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void RenderLayerBacking::setTiledBackingHasMargins(bool extendBackground)
+{
+    if (!m_usingTiledCacheLayer)
+        return;
+
+    int marginSize = extendBackground ? 512 : 0;
+    tiledBacking()-&gt;setTileMargins(marginSize, marginSize, marginSize, marginSize);
+}
+
</ins><span class="cx"> void RenderLayerBacking::updateDebugIndicators(bool showBorder, bool showRepaintCounter)
</span><span class="cx"> {
</span><span class="cx">     m_graphicsLayer-&gt;setShowDebugBorder(showBorder);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerBackingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.h (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerBacking.h        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.h        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -157,6 +157,7 @@
</span><span class="cx">     bool tiledBackingHasMargin() const;
</span><span class="cx">     TiledBacking* tiledBacking() const;
</span><span class="cx">     void adjustTiledBackingCoverage();
</span><ins>+    void setTiledBackingHasMargins(bool);
</ins><span class="cx">     
</span><span class="cx">     void updateDebugIndicators(bool showBorder, bool showRepaintCounter);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.cpp        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -521,4 +521,10 @@
</span><span class="cx">     RuntimeEnabledFeatures::sharedFeatures().setPluginReplacementEnabled(enabled);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void InternalSettings::setBackgroundShouldExtendBeyondPage(bool hasExtendedBackground, ExceptionCode&amp; ec)
+{
+    InternalSettingsGuardForSettings();
+    settings()-&gt;setBackgroundShouldExtendBeyondPage(hasExtendedBackground);
</ins><span class="cx"> }
</span><ins>+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.h (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.h        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/testing/InternalSettings.h        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -135,7 +135,9 @@
</span><span class="cx">     void setAutoscrollForDragAndDropEnabled(bool enabled, ExceptionCode&amp;);
</span><span class="cx">     void setFontFallbackPrefersPictographs(bool preferPictographs, ExceptionCode&amp;);
</span><span class="cx">     void setPluginReplacementEnabled(bool);
</span><ins>+    void setBackgroundShouldExtendBeyondPage(bool hasExtendedBackground, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx"> private:
</span><span class="cx">     explicit InternalSettings(Page*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.idl (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.idl        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebCore/testing/InternalSettings.idl        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -59,4 +59,5 @@
</span><span class="cx">     [RaisesException] void setAutoscrollForDragAndDropEnabled(boolean enabled);
</span><span class="cx">     [RaisesException] void setFontFallbackPrefersPictographs(boolean preferPictographs);
</span><span class="cx">     void setPluginReplacementEnabled(boolean enabled);
</span><ins>+    [RaisesException] void setBackgroundShouldExtendBeyondPage(boolean hasExtendedBackground);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebKit/ChangeLog        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-01-17  Beth Dakin  &lt;bdakin@apple.com&gt;
+
+        Need a way to test the tile cache with margins enabled
+        https://bugs.webkit.org/show_bug.cgi?id=127194
+        -and corresponding-
+        &lt;rdar://problem/15571327&gt;
+
+        Reviewed by Tim Horton.
+
+        Attempt to keep Windows building.
+
+        * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
+
</ins><span class="cx"> 2014-01-16  Andy Estes  &lt;aestes@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [iOS] Fix build issues with exported headers
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (162229 => 162230)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-01-17 23:49:10 UTC (rev 162229)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-01-18 00:05:59 UTC (rev 162230)
</span><span class="lines">@@ -280,6 +280,7 @@
</span><span class="cx">         symbolWithPointer(?setFantasyFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setFantasyFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
</span><span class="cx">         symbolWithPointer(?setFixedFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setFixedFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
</span><span class="cx">         symbolWithPointer(?setFontFallbackPrefersPictographs@Settings@WebCore@@QAEX_N@Z, ?setFontFallbackPrefersPictographs@Settings@WebCore@@QEAAX_N@Z)
</span><ins>+        symbolWithPointer(?setBackgroundShouldExtendBeyondPage@Settings@WebCore@@QAEX_N@Z, ?setBackgroundShouldExtendBeyondPage@InternalSettings@WebCore@@QAEX_NAAH@Z)
</ins><span class="cx">         symbolWithPointer(?setFooterHeight@FrameView@WebCore@@QAEXH@Z, ?setFooterHeight@FrameView@WebCore@@QEAAXH@Z)
</span><span class="cx">         symbolWithPointer(?setHeaderHeight@FrameView@WebCore@@QAEXH@Z, ?setHeaderHeight@FrameView@WebCore@@QEAAXH@Z)
</span><span class="cx">         symbolWithPointer(?setImagesEnabled@Settings@WebCore@@QAEX_N@Z, ?setImagesEnabled@Settings@WebCore@@QEAAX_N@Z)
</span></span></pre>
</div>
</div>

</body>
</html>