<!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>[163262] 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/163262">163262</a></dd>
<dt>Author</dt> <dd>zalan@apple.com</dd>
<dt>Date</dt> <dd>2014-02-02 08:15:20 -0800 (Sun, 02 Feb 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
https://bugs.webkit.org/show_bug.cgi?id=128036

Reviewed by Darin Adler.

Source/WebCore:

Covered by existing tests.

* platform/LayoutUnit.h:
(WebCore::LayoutUnit::operator++):
* rendering/RenderBoxModelObject.cpp:
(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::usedWidth):
(WebCore::BorderEdge::getDoubleBorderStripeWidths):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::calculateSideRectIncludingInner):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
* rendering/RenderObject.h:
* rendering/style/BorderData.h:
(WebCore::BorderData::borderLeftWidth):
(WebCore::BorderData::borderRightWidth):
(WebCore::BorderData::borderTopWidth):
(WebCore::BorderData::borderBottomWidth):
* rendering/style/RenderStyle.cpp:
(WebCore::calcRadiiFor):
(WebCore::calcConstraintScaleFor):
(WebCore::RenderStyle::getRoundedInnerBorderFor):
* rendering/style/RenderStyle.h:

LayoutTests:

Bug 128061: Subpixel rendering: borders are reporting float values.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformeflTestExpectations">trunk/LayoutTests/platform/efl/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformgtkTestExpectations">trunk/LayoutTests/platform/gtk/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformmacTestExpectations">trunk/LayoutTests/platform/mac/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxModelObjectcpp">trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjectcpp">trunk/Source/WebCore/rendering/RenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjecth">trunk/Source/WebCore/rendering/RenderObject.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleBorderDatah">trunk/Source/WebCore/rendering/style/BorderData.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStylecpp">trunk/Source/WebCore/rendering/style/RenderStyle.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleh">trunk/Source/WebCore/rendering/style/RenderStyle.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/LayoutTests/ChangeLog        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-02-02  Zalan Bujtas  &lt;zalan@apple.com&gt;
+
+        Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
+        https://bugs.webkit.org/show_bug.cgi?id=128036
+
+        Reviewed by Darin Adler.
+
+        Bug 128061: Subpixel rendering: borders are reporting float values.
+
+        * platform/efl/TestExpectations:
+        * platform/gtk/TestExpectations:
+        * platform/mac/TestExpectations:
+        * platform/win/TestExpectations:
+
</ins><span class="cx"> 2014-02-01  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Update WebCrypto JWK mapping to use key_ops
</span></span></pre></div>
<a id="trunkLayoutTestsplatformeflTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/TestExpectations (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/TestExpectations        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/LayoutTests/platform/efl/TestExpectations        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -1806,3 +1806,25 @@
</span><span class="cx"> webkit.org/b/127725 media/video-restricted-no-preload-auto.html [ Failure ]
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/127731 plugins/embed-prefers-plugins-for-images.html [ Failure ]
</span><ins>+
+# Subpixel rendering: borders are reporting float values.
+webkit.org/b/128061 css1/units/length_units.html [ Failure ]
+webkit.org/b/128061 fast/css/bidi-override-in-anonymous-block.html [ Failure ]
+webkit.org/b/128061 fast/multicol/span/anonymous-style-inheritance.html [ Failure ]
+webkit.org/b/128061 fast/repaint/repaint-during-scroll-with-zoom.html [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-002.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-004.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003.htm [ Failure ]
+webkit.org/b/128061 media/video-zoom.html [ Failure ]
+webkit.org/b/128061 svg/custom/svg-fonts-in-html.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-background-image-tiled.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-background-images.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-svg-float-border-padding.xml [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-svg-through-object-with-auto-size.html [ Failure ]
+webkit.org/b/128061 tables/mozilla_expected_failures/bugs/bug1055-2.html [ Failure ]
+# End of subpixel failures.
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformgtkTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/TestExpectations (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/TestExpectations        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/LayoutTests/platform/gtk/TestExpectations        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -1535,6 +1535,28 @@
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/127740 accessibility/range-alter-by-percent.html [ Failure ]
</span><span class="cx"> 
</span><ins>+# Subpixel rendering: borders are reporting float values.
+webkit.org/b/128061 css1/units/length_units.html [ Failure ]
+webkit.org/b/128061 fast/css/bidi-override-in-anonymous-block.html [ Failure ]
+webkit.org/b/128061 fast/multicol/span/anonymous-style-inheritance.html [ Failure ]
+webkit.org/b/128061 fast/repaint/repaint-during-scroll-with-zoom.html [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-002.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-004.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003.htm [ Failure ]
+webkit.org/b/128061 media/video-zoom.html [ Failure ]
+webkit.org/b/128061 svg/custom/svg-fonts-in-html.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-background-image-tiled.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-background-images.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-svg-float-border-padding.xml [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-svg-through-object-with-auto-size.html [ Failure ]
+webkit.org/b/128061 tables/mozilla_expected_failures/bugs/bug1055-2.html [ Failure ]
+# End of subpixel failures.
+
</ins><span class="cx"> #////////////////////////////////////////////////////////////////////////////////////////
</span><span class="cx"> # End of Tests failing
</span><span class="cx"> #////////////////////////////////////////////////////////////////////////////////////////
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -1320,6 +1320,28 @@
</span><span class="cx"> # Subpixel: misplaced zoomed svg content.
</span><span class="cx"> webkit.org/b/126900 svg/zoom/page/zoom-zoom-coords.xhtml [ Failure ]
</span><span class="cx"> 
</span><ins>+# Subpixel rendering: borders are reporting float values.
+webkit.org/b/128061 css1/units/length_units.html [ Failure ]
+webkit.org/b/128061 fast/css/bidi-override-in-anonymous-block.html [ Failure ]
+webkit.org/b/128061 fast/multicol/span/anonymous-style-inheritance.html [ Failure ]
+webkit.org/b/128061 fast/repaint/repaint-during-scroll-with-zoom.html [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-002.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-004.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003.htm [ Failure ]
+webkit.org/b/128061 media/video-zoom.html [ Failure ]
+webkit.org/b/128061 svg/custom/svg-fonts-in-html.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-background-image-tiled.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-background-images.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-svg-float-border-padding.xml [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-svg-through-object-with-auto-size.html [ Failure ]
+webkit.org/b/128061 tables/mozilla_expected_failures/bugs/bug1055-2.html [ Failure ]
+# End of subpixel failures.
+
</ins><span class="cx"> webkit.org/b/35297 media/video-display-aspect-ratio.html [ Pass Failure ]
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/127310 svg/filters/feComponentTransfer-style-crash.xhtml [ Pass Failure Timeout ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/TestExpectations (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/LayoutTests/platform/win/TestExpectations        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -2880,3 +2880,25 @@
</span><span class="cx"> 
</span><span class="cx"> # REGRESSION (r159892): Failing JavaScript test
</span><span class="cx"> webkit.org/b/127492 js/dom/date-big-constructor.html [ Failure ]
</span><ins>+
+# Subpixel rendering: borders are reporting float values.
+webkit.org/b/128061 css1/units/length_units.html [ Failure ]
+webkit.org/b/128061 fast/css/bidi-override-in-anonymous-block.html [ Failure ]
+webkit.org/b/128061 fast/multicol/span/anonymous-style-inheritance.html [ Failure ]
+webkit.org/b/128061 fast/repaint/repaint-during-scroll-with-zoom.html [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-002.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-style-004.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001.htm [ Failure ]
+webkit.org/b/128061 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003.htm [ Failure ]
+webkit.org/b/128061 media/video-zoom.html [ Failure ]
+webkit.org/b/128061 svg/custom/svg-fonts-in-html.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-background-image-tiled.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-background-images.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-svg-float-border-padding.xml [ Failure ]
+webkit.org/b/128061 svg/zoom/page/zoom-svg-through-object-with-auto-size.html [ Failure ]
+webkit.org/b/128061 tables/mozilla_expected_failures/bugs/bug1055-2.html [ Failure ]
+# End of subpixel failures.
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/Source/WebCore/ChangeLog        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -1,3 +1,36 @@
</span><ins>+2014-02-02  Zalan Bujtas  &lt;zalan@apple.com&gt;
+
+        Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
+        https://bugs.webkit.org/show_bug.cgi?id=128036
+
+        Reviewed by Darin Adler.
+
+        Covered by existing tests.
+
+        * platform/LayoutUnit.h:
+        (WebCore::LayoutUnit::operator++):
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::BorderEdge::BorderEdge):
+        (WebCore::BorderEdge::usedWidth):
+        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
+        (WebCore::RenderBoxModelObject::paintOneBorderSide):
+        (WebCore::RenderBoxModelObject::paintBorder):
+        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
+        (WebCore::calculateSideRectIncludingInner):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::drawLineForBoxSide):
+        * rendering/RenderObject.h:
+        * rendering/style/BorderData.h:
+        (WebCore::BorderData::borderLeftWidth):
+        (WebCore::BorderData::borderRightWidth):
+        (WebCore::BorderData::borderTopWidth):
+        (WebCore::BorderData::borderBottomWidth):
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::calcRadiiFor):
+        (WebCore::calcConstraintScaleFor):
+        (WebCore::RenderStyle::getRoundedInnerBorderFor):
+        * rendering/style/RenderStyle.h:
+
</ins><span class="cx"> 2014-02-01  Hunseop Jeong  &lt;hs85.jeong@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION(r163234) Debug build is broken
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxModelObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -1396,7 +1396,7 @@
</span><span class="cx"> 
</span><span class="cx"> class BorderEdge {
</span><span class="cx"> public:
</span><del>-    BorderEdge(int edgeWidth, const Color&amp; edgeColor, EBorderStyle edgeStyle, bool edgeIsTransparent, bool edgeIsPresent = true)
</del><ins>+    BorderEdge(LayoutUnit edgeWidth, const Color&amp; edgeColor, EBorderStyle edgeStyle, bool edgeIsTransparent, bool edgeIsPresent = true)
</ins><span class="cx">         : width(edgeWidth)
</span><span class="cx">         , color(edgeColor)
</span><span class="cx">         , style(edgeStyle)
</span><span class="lines">@@ -1442,9 +1442,9 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    int usedWidth() const { return isPresent ? width : 0; }
</del><ins>+    LayoutUnit usedWidth() const { return isPresent ? width : LayoutUnit::fromPixel(0); }
</ins><span class="cx">     
</span><del>-    void getDoubleBorderStripeWidths(int&amp; outerWidth, int&amp; innerWidth) const
</del><ins>+    void getDoubleBorderStripeWidths(LayoutUnit&amp; outerWidth, LayoutUnit&amp; innerWidth) const
</ins><span class="cx">     {
</span><span class="cx">         int fullWidth = usedWidth();
</span><span class="cx">         outerWidth = fullWidth / 3;
</span><span class="lines">@@ -1458,7 +1458,7 @@
</span><span class="cx">             innerWidth += 1;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    int width;
</del><ins>+    LayoutUnit width;
</ins><span class="cx">     Color color;
</span><span class="cx">     EBorderStyle style;
</span><span class="cx">     bool isTransparent;
</span><span class="lines">@@ -1692,7 +1692,7 @@
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         drawLineForBoxSide(graphicsContext, sideRect.x(), sideRect.y(), sideRect.maxX(), sideRect.maxY(), side, colorToPaint, edgeToRender.style,
</span><del>-                mitreAdjacentSide1 ? adjacentEdge1.width : 0, mitreAdjacentSide2 ? adjacentEdge2.width : 0, antialias);
</del><ins>+            mitreAdjacentSide1 ? adjacentEdge1.width : LayoutUnit::fromPixel(0), mitreAdjacentSide2 ? adjacentEdge2.width : LayoutUnit::fromPixel(0), antialias);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1881,8 +1881,8 @@
</span><span class="cx">                 LayoutRect innerThirdRect = outerBorder.rect();
</span><span class="cx">                 LayoutRect outerThirdRect = outerBorder.rect();
</span><span class="cx">                 for (int side = BSTop; side &lt;= BSLeft; ++side) {
</span><del>-                    int outerWidth;
-                    int innerWidth;
</del><ins>+                    LayoutUnit outerWidth;
+                    LayoutUnit innerWidth;
</ins><span class="cx">                     edges[side].getDoubleBorderStripeWidths(outerWidth, innerWidth);
</span><span class="cx"> 
</span><span class="cx">                     if (side == BSTop) {
</span><span class="lines">@@ -2024,20 +2024,20 @@
</span><span class="cx">     }
</span><span class="cx">     case DOUBLE: {
</span><span class="cx">         // Get the inner border rects for both the outer border line and the inner border line
</span><del>-        int outerBorderTopWidth;
-        int innerBorderTopWidth;
</del><ins>+        LayoutUnit outerBorderTopWidth;
+        LayoutUnit innerBorderTopWidth;
</ins><span class="cx">         edges[BSTop].getDoubleBorderStripeWidths(outerBorderTopWidth, innerBorderTopWidth);
</span><span class="cx"> 
</span><del>-        int outerBorderRightWidth;
-        int innerBorderRightWidth;
</del><ins>+        LayoutUnit outerBorderRightWidth;
+        LayoutUnit innerBorderRightWidth;
</ins><span class="cx">         edges[BSRight].getDoubleBorderStripeWidths(outerBorderRightWidth, innerBorderRightWidth);
</span><span class="cx"> 
</span><del>-        int outerBorderBottomWidth;
-        int innerBorderBottomWidth;
</del><ins>+        LayoutUnit outerBorderBottomWidth;
+        LayoutUnit innerBorderBottomWidth;
</ins><span class="cx">         edges[BSBottom].getDoubleBorderStripeWidths(outerBorderBottomWidth, innerBorderBottomWidth);
</span><span class="cx"> 
</span><del>-        int outerBorderLeftWidth;
-        int innerBorderLeftWidth;
</del><ins>+        LayoutUnit outerBorderLeftWidth;
+        LayoutUnit innerBorderLeftWidth;
</ins><span class="cx">         edges[BSLeft].getDoubleBorderStripeWidths(outerBorderLeftWidth, innerBorderLeftWidth);
</span><span class="cx"> 
</span><span class="cx">         // Draw inner border line
</span><span class="lines">@@ -2239,7 +2239,7 @@
</span><span class="cx"> static LayoutRect calculateSideRectIncludingInner(const RoundedRect&amp; outerBorder, const BorderEdge edges[], BoxSide side)
</span><span class="cx"> {
</span><span class="cx">     LayoutRect sideRect = outerBorder.rect();
</span><del>-    int width;
</del><ins>+    LayoutUnit width;
</ins><span class="cx"> 
</span><span class="cx">     switch (side) {
</span><span class="cx">     case BSTop:
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.cpp        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -736,11 +736,11 @@
</span><span class="cx">     return toRenderBlock(o);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderObject::drawLineForBoxSide(GraphicsContext* graphicsContext, int x1, int y1, int x2, int y2,
</del><ins>+void RenderObject::drawLineForBoxSide(GraphicsContext* graphicsContext, LayoutUnit x1, LayoutUnit y1, LayoutUnit x2, LayoutUnit y2,
</ins><span class="cx">     BoxSide side, Color color, EBorderStyle borderStyle, int adjacentWidth1, int adjacentWidth2, bool antialias)
</span><span class="cx"> {
</span><del>-    int thickness;
-    int length;
</del><ins>+    float thickness;
+    float length;
</ins><span class="cx">     if (side == BSTop || side == BSBottom) {
</span><span class="cx">         thickness = y2 - y1;
</span><span class="cx">         length = x2 - x1;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.h (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.h        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/Source/WebCore/rendering/RenderObject.h        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -882,7 +882,7 @@
</span><span class="cx"> 
</span><span class="cx">     RespectImageOrientationEnum shouldRespectImageOrientation() const;
</span><span class="cx"> 
</span><del>-    void drawLineForBoxSide(GraphicsContext*, int x1, int y1, int x2, int y2, BoxSide,
</del><ins>+    void drawLineForBoxSide(GraphicsContext*, LayoutUnit x1, LayoutUnit y1, LayoutUnit x2, LayoutUnit y2, BoxSide,
</ins><span class="cx">                             Color, EBorderStyle, int adjbw1, int adjbw2, bool antialias = false);
</span><span class="cx"> protected:
</span><span class="cx">     int columnNumberForOffset(int offset);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleBorderDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/BorderData.h (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/BorderData.h        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/Source/WebCore/rendering/style/BorderData.h        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -60,28 +60,28 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    unsigned borderLeftWidth() const
</del><ins>+    float borderLeftWidth() const
</ins><span class="cx">     {
</span><span class="cx">         if (!m_image.hasImage() &amp;&amp; (m_left.style() == BNONE || m_left.style() == BHIDDEN))
</span><span class="cx">             return 0; 
</span><span class="cx">         return m_left.width();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    unsigned borderRightWidth() const
</del><ins>+    float borderRightWidth() const
</ins><span class="cx">     {
</span><span class="cx">         if (!m_image.hasImage() &amp;&amp; (m_right.style() == BNONE || m_right.style() == BHIDDEN))
</span><span class="cx">             return 0;
</span><span class="cx">         return m_right.width();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    unsigned borderTopWidth() const
</del><ins>+    float borderTopWidth() const
</ins><span class="cx">     {
</span><span class="cx">         if (!m_image.hasImage() &amp;&amp; (m_top.style() == BNONE || m_top.style() == BHIDDEN))
</span><span class="cx">             return 0;
</span><span class="cx">         return m_top.width();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    unsigned borderBottomWidth() const
</del><ins>+    float borderBottomWidth() const
</ins><span class="cx">     {
</span><span class="cx">         if (!m_image.hasImage() &amp;&amp; (m_bottom.style() == BNONE || m_bottom.style() == BHIDDEN))
</span><span class="cx">             return 0;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -1068,46 +1068,46 @@
</span><span class="cx">     rareData-&gt;m_boxShadow = shadowData;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RoundedRect::Radii calcRadiiFor(const BorderData&amp; border, IntSize size, RenderView* renderView)
</del><ins>+static RoundedRect::Radii calcRadiiFor(const BorderData&amp; border, const LayoutSize&amp; size, RenderView* renderView)
</ins><span class="cx"> {
</span><span class="cx">     return RoundedRect::Radii(
</span><del>-        IntSize(valueForLength(border.topLeft().width(), size.width(), renderView), 
-                valueForLength(border.topLeft().height(), size.height(), renderView)),
-        IntSize(valueForLength(border.topRight().width(), size.width(), renderView),
-                valueForLength(border.topRight().height(), size.height(), renderView)),
-        IntSize(valueForLength(border.bottomLeft().width(), size.width(), renderView), 
-                valueForLength(border.bottomLeft().height(), size.height(), renderView)),
-        IntSize(valueForLength(border.bottomRight().width(), size.width(), renderView), 
-                valueForLength(border.bottomRight().height(), size.height(), renderView)));
</del><ins>+        LayoutSize(valueForLength(border.topLeft().width(), size.width(), renderView),
+            valueForLength(border.topLeft().height(), size.height(), renderView)),
+        LayoutSize(valueForLength(border.topRight().width(), size.width(), renderView),
+            valueForLength(border.topRight().height(), size.height(), renderView)),
+        LayoutSize(valueForLength(border.bottomLeft().width(), size.width(), renderView),
+            valueForLength(border.bottomLeft().height(), size.height(), renderView)),
+        LayoutSize(valueForLength(border.bottomRight().width(), size.width(), renderView),
+            valueForLength(border.bottomRight().height(), size.height(), renderView)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static float calcConstraintScaleFor(const IntRect&amp; rect, const RoundedRect::Radii&amp; radii)
</del><ins>+static float calcConstraintScaleFor(const LayoutRect&amp; rect, const RoundedRect::Radii&amp; radii)
</ins><span class="cx"> {
</span><span class="cx">     // Constrain corner radii using CSS3 rules:
</span><span class="cx">     // http://www.w3.org/TR/css3-background/#the-border-radius
</span><span class="cx">     
</span><span class="cx">     float factor = 1;
</span><del>-    unsigned radiiSum;
</del><ins>+    float radiiSum;
</ins><span class="cx"> 
</span><span class="cx">     // top
</span><del>-    radiiSum = static_cast&lt;unsigned&gt;(radii.topLeft().width()) + static_cast&lt;unsigned&gt;(radii.topRight().width()); // Casts to avoid integer overflow.
-    if (radiiSum &gt; static_cast&lt;unsigned&gt;(rect.width()))
-        factor = std::min(static_cast&lt;float&gt;(rect.width()) / radiiSum, factor);
</del><ins>+    radiiSum = radii.topLeft().width() + radii.topRight().width(); // Casts to avoid integer overflow.
+    if (radiiSum &gt; rect.width())
+        factor = std::min(rect.width() / radiiSum, factor);
</ins><span class="cx"> 
</span><span class="cx">     // bottom
</span><del>-    radiiSum = static_cast&lt;unsigned&gt;(radii.bottomLeft().width()) + static_cast&lt;unsigned&gt;(radii.bottomRight().width());
-    if (radiiSum &gt; static_cast&lt;unsigned&gt;(rect.width()))
-        factor = std::min(static_cast&lt;float&gt;(rect.width()) / radiiSum, factor);
</del><ins>+    radiiSum = radii.bottomLeft().width() + radii.bottomRight().width();
+    if (radiiSum &gt; rect.width())
+        factor = std::min(rect.width() / radiiSum, factor);
</ins><span class="cx">     
</span><span class="cx">     // left
</span><del>-    radiiSum = static_cast&lt;unsigned&gt;(radii.topLeft().height()) + static_cast&lt;unsigned&gt;(radii.bottomLeft().height());
-    if (radiiSum &gt; static_cast&lt;unsigned&gt;(rect.height()))
-        factor = std::min(static_cast&lt;float&gt;(rect.height()) / radiiSum, factor);
</del><ins>+    radiiSum = radii.topLeft().height() + radii.bottomLeft().height();
+    if (radiiSum &gt; rect.height())
+        factor = std::min(rect.height() / radiiSum, factor);
</ins><span class="cx">     
</span><span class="cx">     // right
</span><del>-    radiiSum = static_cast&lt;unsigned&gt;(radii.topRight().height()) + static_cast&lt;unsigned&gt;(radii.bottomRight().height());
-    if (radiiSum &gt; static_cast&lt;unsigned&gt;(rect.height()))
-        factor = std::min(static_cast&lt;float&gt;(rect.height()) / radiiSum, factor);
</del><ins>+    radiiSum = radii.topRight().height() + radii.bottomRight().height();
+    if (radiiSum &gt; rect.height())
+        factor = std::min(rect.height() / radiiSum, factor);
</ins><span class="cx">     
</span><span class="cx">     ASSERT(factor &lt;= 1);
</span><span class="cx">     return factor;
</span><span class="lines">@@ -1146,16 +1146,16 @@
</span><span class="cx"> {
</span><span class="cx">     bool horizontal = isHorizontalWritingMode();
</span><span class="cx"> 
</span><del>-    int leftWidth = (!horizontal || includeLogicalLeftEdge) ? borderLeftWidth() : 0;
-    int rightWidth = (!horizontal || includeLogicalRightEdge) ? borderRightWidth() : 0;
-    int topWidth = (horizontal || includeLogicalLeftEdge) ? borderTopWidth() : 0;
-    int bottomWidth = (horizontal || includeLogicalRightEdge) ? borderBottomWidth() : 0;
</del><ins>+    LayoutUnit leftWidth = (!horizontal || includeLogicalLeftEdge) ? borderLeftWidth() : 0;
+    LayoutUnit rightWidth = (!horizontal || includeLogicalRightEdge) ? borderRightWidth() : 0;
+    LayoutUnit topWidth = (horizontal || includeLogicalLeftEdge) ? borderTopWidth() : 0;
+    LayoutUnit bottomWidth = (horizontal || includeLogicalRightEdge) ? borderBottomWidth() : 0;
</ins><span class="cx"> 
</span><span class="cx">     return getRoundedInnerBorderFor(borderRect, topWidth, bottomWidth, leftWidth, rightWidth, includeLogicalLeftEdge, includeLogicalRightEdge);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RoundedRect RenderStyle::getRoundedInnerBorderFor(const LayoutRect&amp; borderRect,
-    int topWidth, int bottomWidth, int leftWidth, int rightWidth, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const
</del><ins>+RoundedRect RenderStyle::getRoundedInnerBorderFor(const LayoutRect&amp; borderRect, LayoutUnit topWidth, LayoutUnit bottomWidth,
+    LayoutUnit leftWidth, LayoutUnit rightWidth, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const
</ins><span class="cx"> {
</span><span class="cx">     LayoutRect innerRect(borderRect.x() + leftWidth, 
</span><span class="cx">                borderRect.y() + topWidth, 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (163261 => 163262)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.h        2014-02-02 08:02:27 UTC (rev 163261)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h        2014-02-02 16:15:20 UTC (rev 163262)
</span><span class="lines">@@ -1088,8 +1088,8 @@
</span><span class="cx">     RoundedRect getRoundedBorderFor(const LayoutRect&amp; borderRect, RenderView* = 0, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true) const;
</span><span class="cx">     RoundedRect getRoundedInnerBorderFor(const LayoutRect&amp; borderRect, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true) const;
</span><span class="cx"> 
</span><del>-    RoundedRect getRoundedInnerBorderFor(const LayoutRect&amp; borderRect,
-        int topWidth, int bottomWidth, int leftWidth, int rightWidth, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const;
</del><ins>+    RoundedRect getRoundedInnerBorderFor(const LayoutRect&amp; borderRect, LayoutUnit topWidth, LayoutUnit bottomWidth,
+        LayoutUnit leftWidth, LayoutUnit rightWidth, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const;
</ins><span class="cx"> 
</span><span class="cx">     void setBorderLeftWidth(float v) { SET_VAR(surround, border.m_left.m_width, v); }
</span><span class="cx">     void setBorderLeftStyle(EBorderStyle v) { SET_VAR(surround, border.m_left.m_style, v); }
</span></span></pre>
</div>
</div>

</body>
</html>