<!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>[205892] 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/205892">205892</a></dd>
<dt>Author</dt> <dd>dino@apple.com</dd>
<dt>Date</dt> <dd>2016-09-13 17:38:57 -0700 (Tue, 13 Sep 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Replace RGBA32 with Color in member variables
https://bugs.webkit.org/show_bug.cgi?id=161856
&lt;rdar://problem/28254324&gt;

Reviewed by Simon Fraser.

In preparation for the Color class to become more than
just a 4-byte RGBA value, I went through a few places
that were using the RGBA32 type directly, and replaced
them with Color. This will make some objects a little
bigger e.g. BorderValue and its friends.

I mostly looked at the places that were using RGBA32 as
a member variable. There is still a lot of RGBA32 use
around the project, in particular the CSS parser.

There should be no behaviour change.

Source/WebCore:

* html/canvas/CanvasRenderingContext2D.cpp: Shadows now use Color.
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::shouldDrawShadows):
(WebCore::CanvasRenderingContext2D::didDraw):
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/CanvasStyle.cpp: Canvas style uses Color for fills and strokes.
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore::CanvasStyle::isEquivalentRGBA):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
* html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
(WebCore::CanvasStyle::color):

* html/track/TextTrackCueGeneric.h: Foreground, background and
highlight colors.
* platform/graphics/InbandTextTrackPrivateClient.h:
(WebCore::GenericCueData::setForegroundColor):
(WebCore::GenericCueData::setBackgroundColor):
(WebCore::GenericCueData::setHighlightColor):

* page/PageOverlay.cpp: Background color.
(WebCore::PageOverlay::setBackgroundColor):
* page/PageOverlay.h:

* platform/graphics/mac/ColorMac.h: Random function that returned RGBA32.
* platform/graphics/mac/ColorMac.mm:
(WebCore::oldAquaFocusRingColor):

* rendering/RenderTableCell.cpp: Update the size of CollapsedBorderValue.

* rendering/RenderTheme.h: Use a NeverDestroyed Color rather than a static RGBA32.

* rendering/style/BorderValue.h: Use a Color.
(WebCore::BorderValue::BorderValue):
(WebCore::BorderValue::isTransparent):
(WebCore::BorderValue::operator==):
(WebCore::BorderValue::setColor):
(WebCore::BorderValue::color):
* rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::color):
* rendering/style/OutlineValue.h:
(WebCore::OutlineValue::operator==):

* rendering/style/RenderStyle.cpp: Update to match new BorderValue.

Source/WebKit/mac:

* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Explicitly
call a Color constructor, rather than passing an RGBA32.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dh">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasStylecpp">trunk/Source/WebCore/html/canvas/CanvasStyle.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasStyleh">trunk/Source/WebCore/html/canvas/CanvasStyle.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackCueGenerich">trunk/Source/WebCore/html/track/TextTrackCueGeneric.h</a></li>
<li><a href="#trunkSourceWebCorepagePageOverlaycpp">trunk/Source/WebCore/page/PageOverlay.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageOverlayh">trunk/Source/WebCore/page/PageOverlay.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsInbandTextTrackPrivateClienth">trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacColorMach">trunk/Source/WebCore/platform/graphics/mac/ColorMac.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacColorMacmm">trunk/Source/WebCore/platform/graphics/mac/ColorMac.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTableCellcpp">trunk/Source/WebCore/rendering/RenderTableCell.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemecpp">trunk/Source/WebCore/rendering/RenderTheme.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeh">trunk/Source/WebCore/rendering/RenderTheme.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleBorderValueh">trunk/Source/WebCore/rendering/style/BorderValue.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleCollapsedBorderValueh">trunk/Source/WebCore/rendering/style/CollapsedBorderValue.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleOutlineValueh">trunk/Source/WebCore/rendering/style/OutlineValue.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStylecpp">trunk/Source/WebCore/rendering/style/RenderStyle.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacMiscWebKitNSStringExtrasmm">trunk/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/ChangeLog        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -1,3 +1,71 @@
</span><ins>+2016-09-12  Dean Jackson  &lt;dino@apple.com&gt;
+
+        Replace RGBA32 with Color in member variables
+        https://bugs.webkit.org/show_bug.cgi?id=161856
+        &lt;rdar://problem/28254324&gt;
+
+        Reviewed by Simon Fraser.
+
+        In preparation for the Color class to become more than
+        just a 4-byte RGBA value, I went through a few places
+        that were using the RGBA32 type directly, and replaced
+        them with Color. This will make some objects a little
+        bigger e.g. BorderValue and its friends.
+
+        I mostly looked at the places that were using RGBA32 as
+        a member variable. There is still a lot of RGBA32 use
+        around the project, in particular the CSS parser.
+
+        There should be no behaviour change.
+
+        * html/canvas/CanvasRenderingContext2D.cpp: Shadows now use Color.
+        (WebCore::CanvasRenderingContext2D::setShadow):
+        (WebCore::CanvasRenderingContext2D::shouldDrawShadows):
+        (WebCore::CanvasRenderingContext2D::didDraw):
+        * html/canvas/CanvasRenderingContext2D.h:
+        * html/canvas/CanvasStyle.cpp: Canvas style uses Color for fills and strokes.
+        (WebCore::CanvasStyle::CanvasStyle):
+        (WebCore::CanvasStyle::isEquivalentColor):
+        (WebCore::CanvasStyle::isEquivalentRGBA):
+        (WebCore::CanvasStyle::applyStrokeColor):
+        (WebCore::CanvasStyle::applyFillColor):
+        * html/canvas/CanvasStyle.h:
+        (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
+        (WebCore::CanvasStyle::color):
+
+        * html/track/TextTrackCueGeneric.h: Foreground, background and
+        highlight colors.
+        * platform/graphics/InbandTextTrackPrivateClient.h:
+        (WebCore::GenericCueData::setForegroundColor):
+        (WebCore::GenericCueData::setBackgroundColor):
+        (WebCore::GenericCueData::setHighlightColor):
+
+        * page/PageOverlay.cpp: Background color.
+        (WebCore::PageOverlay::setBackgroundColor):
+        * page/PageOverlay.h:
+
+        * platform/graphics/mac/ColorMac.h: Random function that returned RGBA32.
+        * platform/graphics/mac/ColorMac.mm:
+        (WebCore::oldAquaFocusRingColor):
+
+        * rendering/RenderTableCell.cpp: Update the size of CollapsedBorderValue.
+
+        * rendering/RenderTheme.h: Use a NeverDestroyed Color rather than a static RGBA32.
+
+        * rendering/style/BorderValue.h: Use a Color.
+        (WebCore::BorderValue::BorderValue):
+        (WebCore::BorderValue::isTransparent):
+        (WebCore::BorderValue::operator==):
+        (WebCore::BorderValue::setColor):
+        (WebCore::BorderValue::color):
+        * rendering/style/CollapsedBorderValue.h:
+        (WebCore::CollapsedBorderValue::CollapsedBorderValue):
+        (WebCore::CollapsedBorderValue::color):
+        * rendering/style/OutlineValue.h:
+        (WebCore::OutlineValue::operator==):
+
+        * rendering/style/RenderStyle.cpp: Update to match new BorderValue.
+
</ins><span class="cx"> 2016-09-13  Jer Noble  &lt;jer.noble@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [media-source] MediaSource.addSourceBuffer(null) should throw an exception
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -1258,17 +1258,17 @@
</span><span class="cx"> 
</span><span class="cx"> void CanvasRenderingContext2D::setShadow(float width, float height, float blur, float grayLevel, float alpha)
</span><span class="cx"> {
</span><del>-    setShadow(FloatSize(width, height), blur, makeRGBA32FromFloats(grayLevel, grayLevel, grayLevel, alpha));
</del><ins>+    setShadow(FloatSize(width, height), blur, Color(grayLevel, grayLevel, grayLevel, alpha));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CanvasRenderingContext2D::setShadow(float width, float height, float blur, float r, float g, float b, float a)
</span><span class="cx"> {
</span><del>-    setShadow(FloatSize(width, height), blur, makeRGBA32FromFloats(r, g, b, a));
</del><ins>+    setShadow(FloatSize(width, height), blur, Color(r, g, b, a));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CanvasRenderingContext2D::setShadow(float width, float height, float blur, float c, float m, float y, float k, float a)
</span><span class="cx"> {
</span><del>-    setShadow(FloatSize(width, height), blur, makeRGBAFromCMYKA(c, m, y, k, a));
</del><ins>+    setShadow(FloatSize(width, height), blur, Color(c, m, y, k, a));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CanvasRenderingContext2D::clearShadow()
</span><span class="lines">@@ -1276,7 +1276,7 @@
</span><span class="cx">     setShadow(FloatSize(), 0, Color::transparent);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CanvasRenderingContext2D::setShadow(const FloatSize&amp; offset, float blur, RGBA32 color)
</del><ins>+void CanvasRenderingContext2D::setShadow(const FloatSize&amp; offset, float blur, Color color)
</ins><span class="cx"> {
</span><span class="cx">     if (state().shadowOffset == offset &amp;&amp; state().shadowBlur == blur &amp;&amp; state().shadowColor == color)
</span><span class="cx">         return;
</span><span class="lines">@@ -1306,7 +1306,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool CanvasRenderingContext2D::shouldDrawShadows() const
</span><span class="cx"> {
</span><del>-    return alphaChannel(state().shadowColor) &amp;&amp; (state().shadowBlur || !state().shadowOffset.isZero());
</del><ins>+    return state().shadowColor.alpha() &amp;&amp; (state().shadowBlur || !state().shadowOffset.isZero());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> enum ImageSizeType {
</span><span class="lines">@@ -1882,7 +1882,7 @@
</span><span class="cx">         dirtyRect = ctm.mapRect(r);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (options &amp; CanvasDidDrawApplyShadow &amp;&amp; alphaChannel(state().shadowColor)) {
</del><ins>+    if (options &amp; CanvasDidDrawApplyShadow &amp;&amp; state().shadowColor.alpha()) {
</ins><span class="cx">         // The shadow gets applied after transformation
</span><span class="cx">         FloatRect shadowRect(dirtyRect);
</span><span class="cx">         shadowRect.move(state().shadowOffset);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx">         float miterLimit;
</span><span class="cx">         FloatSize shadowOffset;
</span><span class="cx">         float shadowBlur;
</span><del>-        RGBA32 shadowColor;
</del><ins>+        Color shadowColor;
</ins><span class="cx">         float globalAlpha;
</span><span class="cx">         CompositeOperator globalComposite;
</span><span class="cx">         BlendMode globalBlend;
</span><span class="lines">@@ -316,7 +316,7 @@
</span><span class="cx">     const State&amp; state() const { return m_stateStack.last(); }
</span><span class="cx"> 
</span><span class="cx">     void applyLineDash() const;
</span><del>-    void setShadow(const FloatSize&amp; offset, float blur, RGBA32 color);
</del><ins>+    void setShadow(const FloatSize&amp; offset, float blur, Color);
</ins><span class="cx">     void applyShadow();
</span><span class="cx">     bool shouldDrawShadows() const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasStyle.cpp (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasStyle.cpp        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/html/canvas/CanvasStyle.cpp        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -83,26 +83,26 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CanvasStyle::CanvasStyle(RGBA32 rgba)
-    : m_rgba(rgba)
</del><ins>+CanvasStyle::CanvasStyle(Color color)
+    : m_color(color)
</ins><span class="cx">     , m_type(RGBA)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CanvasStyle::CanvasStyle(float grayLevel, float alpha)
</span><del>-    : m_rgba(makeRGBA32FromFloats(grayLevel, grayLevel, grayLevel, alpha))
</del><ins>+    : m_color(Color(grayLevel, grayLevel, grayLevel, alpha))
</ins><span class="cx">     , m_type(RGBA)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CanvasStyle::CanvasStyle(float r, float g, float b, float a)
</span><del>-    : m_rgba(makeRGBA32FromFloats(r, g, b, a))
</del><ins>+    : m_color(Color(r, g, b, a))
</ins><span class="cx">     , m_type(RGBA)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CanvasStyle::CanvasStyle(float c, float m, float y, float k, float a)
</span><del>-    : m_cmyka(new CMYKAValues(makeRGBAFromCMYKA(c, m, y, k, a), c, m, y, k, a))
</del><ins>+    : m_cmyka(new CMYKAValues(Color(c, m, y, k, a), c, m, y, k, a))
</ins><span class="cx">     , m_type(CMYKA)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx"> 
</span><span class="cx">     switch (m_type) {
</span><span class="cx">     case RGBA:
</span><del>-        return m_rgba == other.m_rgba;
</del><ins>+        return m_color == other.m_color;
</ins><span class="cx">     case CMYKA:
</span><span class="cx">         return m_cmyka-&gt;c == other.m_cmyka-&gt;c
</span><span class="cx">             &amp;&amp; m_cmyka-&gt;m == other.m_cmyka-&gt;m
</span><span class="lines">@@ -200,7 +200,7 @@
</span><span class="cx">     if (m_type != RGBA)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    return m_rgba == makeRGBA32FromFloats(r, g, b, a);
</del><ins>+    return m_color == Color(r, g, b, a);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CanvasStyle::isEquivalentCMYKA(float c, float m, float y, float k, float a) const
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx">     else if (m_type == ImagePattern)
</span><span class="cx">         m_pattern-&gt;ref();
</span><span class="cx">     else if (m_type == CMYKA)
</span><del>-        m_cmyka = new CMYKAValues(other.m_cmyka-&gt;rgba, other.m_cmyka-&gt;c, other.m_cmyka-&gt;m, other.m_cmyka-&gt;y, other.m_cmyka-&gt;k, other.m_cmyka-&gt;a);
</del><ins>+        m_cmyka = new CMYKAValues(other.m_cmyka-&gt;color, other.m_cmyka-&gt;c, other.m_cmyka-&gt;m, other.m_cmyka-&gt;y, other.m_cmyka-&gt;k, other.m_cmyka-&gt;a);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CanvasStyle&amp; CanvasStyle::operator=(const CanvasStyle&amp; other)
</span><span class="lines">@@ -241,7 +241,7 @@
</span><span class="cx">         return;
</span><span class="cx">     switch (m_type) {
</span><span class="cx">     case RGBA:
</span><del>-        context-&gt;setStrokeColor(m_rgba);
</del><ins>+        context-&gt;setStrokeColor(m_color);
</ins><span class="cx">         break;
</span><span class="cx">     case CMYKA: {
</span><span class="cx">         // FIXME: Do this through platform-independent GraphicsContext API.
</span><span class="lines">@@ -249,7 +249,7 @@
</span><span class="cx"> #if USE(CG)
</span><span class="cx">         CGContextSetCMYKStrokeColor(context-&gt;platformContext(), m_cmyka-&gt;c, m_cmyka-&gt;m, m_cmyka-&gt;y, m_cmyka-&gt;k, m_cmyka-&gt;a);
</span><span class="cx"> #else
</span><del>-        context-&gt;setStrokeColor(m_cmyka-&gt;rgba);
</del><ins>+        context-&gt;setStrokeColor(m_cmyka-&gt;color);
</ins><span class="cx"> #endif
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="lines">@@ -273,7 +273,7 @@
</span><span class="cx">         return;
</span><span class="cx">     switch (m_type) {
</span><span class="cx">     case RGBA:
</span><del>-        context-&gt;setFillColor(m_rgba);
</del><ins>+        context-&gt;setFillColor(m_color);
</ins><span class="cx">         break;
</span><span class="cx">     case CMYKA: {
</span><span class="cx">         // FIXME: Do this through platform-independent GraphicsContext API.
</span><span class="lines">@@ -281,7 +281,7 @@
</span><span class="cx"> #if USE(CG)
</span><span class="cx">         CGContextSetCMYKFillColor(context-&gt;platformContext(), m_cmyka-&gt;c, m_cmyka-&gt;m, m_cmyka-&gt;y, m_cmyka-&gt;k, m_cmyka-&gt;a);
</span><span class="cx"> #else
</span><del>-        context-&gt;setFillColor(m_cmyka-&gt;rgba);
</del><ins>+        context-&gt;setFillColor(m_cmyka-&gt;color);
</ins><span class="cx"> #endif
</span><span class="cx">         break;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasStyle.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasStyle.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/html/canvas/CanvasStyle.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     class CanvasStyle {
</span><span class="cx">     public:
</span><span class="cx">         CanvasStyle();
</span><del>-        explicit CanvasStyle(RGBA32);
</del><ins>+        explicit CanvasStyle(Color);
</ins><span class="cx">         CanvasStyle(float grayLevel, float alpha);
</span><span class="cx">         CanvasStyle(float r, float g, float b, float alpha);
</span><span class="cx">         CanvasStyle(float c, float m, float y, float k, float alpha);
</span><span class="lines">@@ -80,9 +80,14 @@
</span><span class="cx">             WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">             WTF_MAKE_NONCOPYABLE(CMYKAValues);
</span><span class="cx">         public:
</span><del>-            CMYKAValues() : rgba(0), c(0), m(0), y(0), k(0), a(0) { }
-            CMYKAValues(RGBA32 rgba, float cyan, float magenta, float yellow, float black, float alpha) : rgba(rgba), c(cyan), m(magenta), y(yellow), k(black), a(alpha) { }
-            RGBA32 rgba;
</del><ins>+            CMYKAValues()
+                : color(), c(0), m(0), y(0), k(0), a(0)
+            { }
+
+            CMYKAValues(Color color, float cyan, float magenta, float yellow, float black, float alpha)
+                : color(color), c(cyan), m(magenta), y(yellow), k(black), a(alpha)
+            { }
+            Color color;
</ins><span class="cx">             float c;
</span><span class="cx">             float m;
</span><span class="cx">             float y;
</span><span class="lines">@@ -99,7 +104,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         union {
</span><del>-            RGBA32 m_rgba;
</del><ins>+            Color m_color;
</ins><span class="cx">             float m_overrideAlpha;
</span><span class="cx">             CanvasGradient* m_gradient;
</span><span class="cx">             CanvasPattern* m_pattern;
</span><span class="lines">@@ -134,8 +139,8 @@
</span><span class="cx">     {
</span><span class="cx">         ASSERT(m_type == RGBA || m_type == CMYKA);
</span><span class="cx">         if (m_type == RGBA)
</span><del>-            return Color(m_rgba).serialized();
-        return Color(m_cmyka-&gt;rgba).serialized();
</del><ins>+            return m_color.serialized();
+        return m_cmyka-&gt;color.serialized();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     inline CanvasStyle::CanvasStyle(CanvasStyle&amp;&amp; other)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackCueGenerich"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrackCueGeneric.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrackCueGeneric.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/html/track/TextTrackCueGeneric.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -62,13 +62,13 @@
</span><span class="cx">     void setFontName(String name) { m_fontName = name; }
</span><span class="cx"> 
</span><span class="cx">     Color foregroundColor() const { return m_foregroundColor; }
</span><del>-    void setForegroundColor(RGBA32 color) { m_foregroundColor.setRGB(color); }
</del><ins>+    void setForegroundColor(Color color) { m_foregroundColor = color; }
</ins><span class="cx">     
</span><span class="cx">     Color backgroundColor() const { return m_backgroundColor; }
</span><del>-    void setBackgroundColor(RGBA32 color) { m_backgroundColor.setRGB(color); }
</del><ins>+    void setBackgroundColor(Color color) { m_backgroundColor = color; }
</ins><span class="cx">     
</span><span class="cx">     Color highlightColor() const { return m_highlightColor; }
</span><del>-    void setHighlightColor(RGBA32 color) { m_highlightColor.setRGB(color); }
</del><ins>+    void setHighlightColor(Color color) { m_highlightColor = color; }
</ins><span class="cx">     
</span><span class="cx">     void setFontSize(int, const IntSize&amp;, bool important) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageOverlaycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageOverlay.cpp (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageOverlay.cpp        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/page/PageOverlay.cpp        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -136,7 +136,7 @@
</span><span class="cx">     return IntSize();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageOverlay::setBackgroundColor(RGBA32 backgroundColor)
</del><ins>+void PageOverlay::setBackgroundColor(Color backgroundColor)
</ins><span class="cx"> {
</span><span class="cx">     if (m_backgroundColor == backgroundColor)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageOverlayh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageOverlay.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageOverlay.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/page/PageOverlay.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -106,8 +106,8 @@
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT IntSize viewToOverlayOffset() const;
</span><span class="cx"> 
</span><del>-    RGBA32 backgroundColor() const { return m_backgroundColor; }
-    void setBackgroundColor(RGBA32);
</del><ins>+    Color backgroundColor() const { return m_backgroundColor; }
+    void setBackgroundColor(Color);
</ins><span class="cx"> 
</span><span class="cx">     void setShouldIgnoreMouseEventsOutsideBounds(bool flag) { m_shouldIgnoreMouseEventsOutsideBounds = flag; }
</span><span class="cx"> 
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">     OverlayType m_overlayType;
</span><span class="cx">     IntRect m_overrideFrame;
</span><span class="cx"> 
</span><del>-    RGBA32 m_backgroundColor { Color::transparent };
</del><ins>+    Color m_backgroundColor { Color::transparent };
</ins><span class="cx">     PageOverlayID m_pageOverlayID;
</span><span class="cx"> 
</span><span class="cx">     bool m_shouldIgnoreMouseEventsOutsideBounds { true };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsInbandTextTrackPrivateClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -87,13 +87,13 @@
</span><span class="cx">     void setRelativeFontSize(double relativeFontSize) { m_relativeFontSize = relativeFontSize; }
</span><span class="cx"> 
</span><span class="cx">     Color foregroundColor() const { return m_foregroundColor; }
</span><del>-    void setForegroundColor(RGBA32 color) { m_foregroundColor.setRGB(color); }
</del><ins>+    void setForegroundColor(Color color) { m_foregroundColor = color; }
</ins><span class="cx"> 
</span><span class="cx">     Color backgroundColor() const { return m_backgroundColor; }
</span><del>-    void setBackgroundColor(RGBA32 color) { m_backgroundColor.setRGB(color); }
</del><ins>+    void setBackgroundColor(Color color) { m_backgroundColor = color; }
</ins><span class="cx">     
</span><span class="cx">     Color highlightColor() const { return m_highlightColor; }
</span><del>-    void setHighlightColor(RGBA32 color) { m_highlightColor.setRGB(color); }
</del><ins>+    void setHighlightColor(Color color) { m_highlightColor = color; }
</ins><span class="cx">     
</span><span class="cx">     enum Status {
</span><span class="cx">         Uninitialized,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacColorMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/ColorMac.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/ColorMac.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/platform/graphics/mac/ColorMac.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     WEBCORE_EXPORT void setUsesTestModeFocusRingColor(bool);
</span><span class="cx">     
</span><span class="cx">     // Focus ring color used for testing purposes.
</span><del>-    RGBA32 oldAquaFocusRingColor();
</del><ins>+    Color oldAquaFocusRingColor();
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacColorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/ColorMac.mm (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/ColorMac.mm        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/platform/graphics/mac/ColorMac.mm        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> static bool useOldAquaFocusRingColor;
</span><span class="cx"> 
</span><del>-RGBA32 oldAquaFocusRingColor()
</del><ins>+Color oldAquaFocusRingColor()
</ins><span class="cx"> {
</span><span class="cx">     return 0xFF7DADD9;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTableCellcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTableCell.cpp (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTableCell.cpp        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/rendering/RenderTableCell.cpp        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> COMPILE_ASSERT(sizeof(RenderTableCell) == sizeof(SameSizeAsRenderTableCell), RenderTableCell_should_stay_small);
</span><del>-COMPILE_ASSERT(sizeof(CollapsedBorderValue) == 12, CollapsedBorderValue_should_stay_small);
</del><ins>+COMPILE_ASSERT(sizeof(CollapsedBorderValue) == 16, CollapsedBorderValue_should_stay_small);
</ins><span class="cx"> 
</span><span class="cx"> RenderTableCell::RenderTableCell(Element&amp; element, RenderStyle&amp;&amp; style)
</span><span class="cx">     : RenderBlockFlow(element, WTFMove(style))
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTheme.cpp (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTheme.cpp        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/rendering/RenderTheme.cpp        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -1336,4 +1336,14 @@
</span><span class="cx">     return StringTruncator::centerTruncate(string, width, font);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(TOUCH_EVENTS)
+Color RenderTheme::platformTapHighlightColor() const
+{
+    // This color is expected to be drawn on a semi-transparent overlay,
+    // making it more transparent than its alpha value indicates.
+    static NeverDestroyed&lt;const Color&gt; defaultTapHighlightColor = Color(0, 0, 0, 102);
+    return defaultTapHighlightColor;
+}
+#endif
+
</ins><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTheme.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTheme.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/rendering/RenderTheme.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">     static float platformFocusRingOffset(float outlineWidth) { return std::max&lt;float&gt;(outlineWidth - platformFocusRingWidth(), 0); }
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx">     static Color tapHighlightColor();
</span><del>-    virtual Color platformTapHighlightColor() const { return RenderTheme::defaultTapHighlightColor; }
</del><ins>+    virtual Color platformTapHighlightColor() const;
</ins><span class="cx"> #endif
</span><span class="cx">     virtual void platformColorsDidChange();
</span><span class="cx"> 
</span><span class="lines">@@ -409,12 +409,6 @@
</span><span class="cx">     mutable Color m_activeListBoxSelectionForegroundColor;
</span><span class="cx">     mutable Color m_inactiveListBoxSelectionForegroundColor;
</span><span class="cx"> 
</span><del>-#if ENABLE(TOUCH_EVENTS)
-    // This color is expected to be drawn on a semi-transparent overlay,
-    // making it more transparent than its alpha value indicates.
-    static const RGBA32 defaultTapHighlightColor = 0x66000000;
-#endif
-
</del><span class="cx"> #if USE(NEW_THEME)
</span><span class="cx">     Theme* m_theme; // The platform-specific theme.
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleBorderValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/BorderValue.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/BorderValue.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/rendering/style/BorderValue.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -34,10 +34,7 @@
</span><span class="cx"> friend class RenderStyle;
</span><span class="cx"> public:
</span><span class="cx">     BorderValue()
</span><del>-        : m_width(3)
-        , m_color(0)
-        , m_colorIsValid(false)
-        , m_style(BNONE)
</del><ins>+        : m_style(BNONE)
</ins><span class="cx">         , m_isAuto(AUTO_OFF)
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="lines">@@ -49,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool isTransparent() const
</span><span class="cx">     {
</span><del>-        return m_colorIsValid &amp;&amp; !alphaChannel(m_color);
</del><ins>+        return m_color.isValid() &amp;&amp; !m_color.alpha();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool isVisible(bool checkStyle = true) const
</span><span class="lines">@@ -59,7 +56,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool operator==(const BorderValue&amp; o) const
</span><span class="cx">     {
</span><del>-        return m_width == o.m_width &amp;&amp; m_style == o.m_style &amp;&amp; m_color == o.m_color &amp;&amp; m_colorIsValid == o.m_colorIsValid;
</del><ins>+        return m_width == o.m_width &amp;&amp; m_style == o.m_style &amp;&amp; m_color == o.m_color;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool operator!=(const BorderValue&amp; o) const
</span><span class="lines">@@ -69,19 +66,17 @@
</span><span class="cx"> 
</span><span class="cx">     void setColor(const Color&amp; color)
</span><span class="cx">     {
</span><del>-        m_color = color.rgb();
-        m_colorIsValid = color.isValid();
</del><ins>+        m_color = color;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Color color() const { return Color(m_color, m_colorIsValid); }
</del><ins>+    Color color() const { return m_color; }
</ins><span class="cx"> 
</span><span class="cx">     float width() const { return m_width; }
</span><span class="cx">     EBorderStyle style() const { return static_cast&lt;EBorderStyle&gt;(m_style); }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    float m_width;
-    RGBA32 m_color;
-    unsigned m_colorIsValid : 1;
</del><ins>+    float m_width { 3 };
+    Color m_color;
</ins><span class="cx"> 
</span><span class="cx">     unsigned m_style : 4; // EBorderStyle
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleCollapsedBorderValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/CollapsedBorderValue.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/CollapsedBorderValue.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/rendering/style/CollapsedBorderValue.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -33,8 +33,7 @@
</span><span class="cx"> class CollapsedBorderValue {
</span><span class="cx"> public:
</span><span class="cx">     CollapsedBorderValue()
</span><del>-        : m_colorIsValid(false)
-        , m_style(BNONE)
</del><ins>+        : m_style(BNONE)
</ins><span class="cx">         , m_precedence(BOFF)
</span><span class="cx">         , m_transparent(false)
</span><span class="cx">     {
</span><span class="lines">@@ -42,8 +41,7 @@
</span><span class="cx"> 
</span><span class="cx">     CollapsedBorderValue(const BorderValue&amp; border, const Color&amp; color, EBorderPrecedence precedence)
</span><span class="cx">         : m_width(LayoutUnit(border.nonZero() ? border.width() : 0))
</span><del>-        , m_color(color.rgb())
-        , m_colorIsValid(color.isValid())
</del><ins>+        , m_color(color)
</ins><span class="cx">         , m_style(border.style())
</span><span class="cx">         , m_precedence(precedence)
</span><span class="cx">         , m_transparent(border.isTransparent())
</span><span class="lines">@@ -53,7 +51,7 @@
</span><span class="cx">     LayoutUnit width() const { return m_style &gt; BHIDDEN ? m_width : LayoutUnit::fromPixel(0); }
</span><span class="cx">     EBorderStyle style() const { return static_cast&lt;EBorderStyle&gt;(m_style); }
</span><span class="cx">     bool exists() const { return m_precedence != BOFF; }
</span><del>-    Color color() const { return Color(m_color, m_colorIsValid); }
</del><ins>+    Color color() const { return m_color; }
</ins><span class="cx">     bool isTransparent() const { return m_transparent; }
</span><span class="cx">     EBorderPrecedence precedence() const { return static_cast&lt;EBorderPrecedence&gt;(m_precedence); }
</span><span class="cx"> 
</span><span class="lines">@@ -66,8 +64,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     LayoutUnit m_width;
</span><del>-    RGBA32 m_color { 0 };
-    unsigned m_colorIsValid : 1;
</del><ins>+    Color m_color;
</ins><span class="cx">     unsigned m_style : 4; // EBorderStyle
</span><span class="cx">     unsigned m_precedence : 3; // EBorderPrecedence
</span><span class="cx">     unsigned m_transparent : 1;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleOutlineValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/OutlineValue.h (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/OutlineValue.h        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/rendering/style/OutlineValue.h        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> public:
</span><span class="cx">     bool operator==(const OutlineValue&amp; o) const
</span><span class="cx">     {
</span><del>-        return m_width == o.m_width &amp;&amp; m_style == o.m_style &amp;&amp; m_color == o.m_color &amp;&amp; m_colorIsValid == o.m_colorIsValid &amp;&amp; m_offset == o.m_offset &amp;&amp; m_isAuto == o.m_isAuto;
</del><ins>+        return m_width == o.m_width &amp;&amp; m_style == o.m_style &amp;&amp; m_color == o.m_color &amp;&amp; m_offset == o.m_offset &amp;&amp; m_isAuto == o.m_isAuto;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     bool operator!=(const OutlineValue&amp; o) const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct SameSizeAsBorderValue {
</span><span class="cx">     float m_width;
</span><del>-    RGBA32 m_color;
</del><ins>+    Color m_color;
</ins><span class="cx">     int m_restBits;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebKit/mac/ChangeLog        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -1,3 +1,27 @@
</span><ins>+2016-09-12  Dean Jackson  &lt;dino@apple.com&gt;
+
+        Replace RGBA32 with Color in member variables
+        https://bugs.webkit.org/show_bug.cgi?id=161856
+        &lt;rdar://problem/28254324&gt;
+
+        Reviewed by Simon Fraser.
+
+        In preparation for the Color class to become more than
+        just a 4-byte RGBA value, I went through a few places
+        that were using the RGBA32 type directly, and replaced
+        them with Color. This will make some objects a little
+        bigger e.g. BorderValue and its friends.
+
+        I mostly looked at the places that were using RGBA32 as
+        a member variable. There is still a lot of RGBA32 use
+        around the project, in particular the CSS parser.
+
+        There should be no behaviour change.
+
+        * Misc/WebKitNSStringExtras.mm:
+        (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Explicitly
+        call a Color constructor, rather than passing an RGBA32.
+
</ins><span class="cx"> 2016-09-13  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Drop support for &lt;isindex&gt;
</span></span></pre></div>
<a id="trunkSourceWebKitmacMiscWebKitNSStringExtrasmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm (205891 => 205892)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm        2016-09-14 00:36:43 UTC (rev 205891)
+++ trunk/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm        2016-09-14 00:38:57 UTC (rev 205892)
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx">         CGFloat blue;
</span><span class="cx">         CGFloat alpha;
</span><span class="cx">         [[textColor colorUsingColorSpaceName:NSDeviceRGBColorSpace] getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha];
</span><del>-        graphicsContext.setFillColor(makeRGBA(red * 255, green * 255, blue * 255, alpha * 255));
</del><ins>+        graphicsContext.setFillColor(Color(static_cast&lt;float&gt;(red * 255), static_cast&lt;float&gt;(green * 255.0f), static_cast&lt;float&gt;(blue * 255.0f), static_cast&lt;float&gt;(alpha * 255.0f)));
</ins><span class="cx"> 
</span><span class="cx">         webCoreFont.drawText(graphicsContext, run, FloatPoint(point.x, (flipped ? point.y : (-1 * point.y))));
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>