<!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>[287879] 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/287879">287879</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2022-01-11 07:41:14 -0800 (Tue, 11 Jan 2022)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove AppleTV specific disabling of conic gradients, its not necessary
https://bugs.webkit.org/show_bug.cgi?id=235041

Reviewed by Darin Adler.

Source/WebCore:

There doesn't seem to be any reason to disable conic gradients on AppleTV. We do still
need to disable it on windows, but rather than hard coding this in WebCore, use a new
HAVE macro to conditionalize the code.

* platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::paint):
* platform/graphics/cg/GradientRendererCG.cpp:
(WebCore::GradientRendererCG::drawConicGradient):

Source/WTF:

Add HAVE_CORE_GRAPHICS_CONIC_GRADIENTS macro and use it to control ENABLE_CSS_CONIC_GRADIENTS.

* wtf/PlatformEnableCocoa.h:
* wtf/PlatformHave.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfPlatformEnableCocoah">trunk/Source/WTF/wtf/PlatformEnableCocoa.h</a></li>
<li><a href="#trunkSourceWTFwtfPlatformHaveh">trunk/Source/WTF/wtf/PlatformHave.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgGradientCGcpp">trunk/Source/WebCore/platform/graphics/cg/GradientCG.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgGradientRendererCGcpp">trunk/Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (287878 => 287879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog       2022-01-11 15:18:25 UTC (rev 287878)
+++ trunk/Source/WTF/ChangeLog  2022-01-11 15:41:14 UTC (rev 287879)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2022-01-11  Sam Weinig  <weinig@apple.com>
+
+        Remove AppleTV specific disabling of conic gradients, its not necessary
+        https://bugs.webkit.org/show_bug.cgi?id=235041
+
+        Reviewed by Darin Adler.
+
+        Add HAVE_CORE_GRAPHICS_CONIC_GRADIENTS macro and use it to control ENABLE_CSS_CONIC_GRADIENTS.
+
+        * wtf/PlatformEnableCocoa.h:
+        * wtf/PlatformHave.h:
+
</ins><span class="cx"> 2022-01-10  Alex Christensen  <achristensen@webkit.org>
</span><span class="cx"> 
</span><span class="cx">         Start using C++20
</span></span></pre></div>
<a id="trunkSourceWTFwtfPlatformEnableCocoah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (287878 => 287879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h       2022-01-11 15:18:25 UTC (rev 287878)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h  2022-01-11 15:41:14 UTC (rev 287879)
</span><span class="lines">@@ -179,8 +179,7 @@
</span><span class="cx"> #define ENABLE_CSS_COMPOSITING 1
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-// FIXME: Seems likely this can be enabled for tvOS.
-#if !defined(ENABLE_CSS_CONIC_GRADIENTS) && !PLATFORM(APPLETV)
</del><ins>+#if !defined(ENABLE_CSS_CONIC_GRADIENTS)
</ins><span class="cx"> #define ENABLE_CSS_CONIC_GRADIENTS 1
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFwtfPlatformHaveh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/PlatformHave.h (287878 => 287879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/PlatformHave.h      2022-01-11 15:18:25 UTC (rev 287878)
+++ trunk/Source/WTF/wtf/PlatformHave.h 2022-01-11 15:41:14 UTC (rev 287879)
</span><span class="lines">@@ -917,6 +917,7 @@
</span><span class="cx"> #define HAVE_CORE_GRAPHICS_LINEAR_SRGB_COLOR_SPACE 1
</span><span class="cx"> #define HAVE_CORE_GRAPHICS_ROMMRGB_COLOR_SPACE 1
</span><span class="cx"> #define HAVE_CORE_GRAPHICS_XYZ_COLOR_SPACE 1
</span><ins>+#define HAVE_CORE_GRAPHICS_CONIC_GRADIENTS 1
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (287878 => 287879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2022-01-11 15:18:25 UTC (rev 287878)
+++ trunk/Source/WebCore/ChangeLog      2022-01-11 15:41:14 UTC (rev 287879)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2022-01-11  Sam Weinig  <weinig@apple.com>
+
+        Remove AppleTV specific disabling of conic gradients, its not necessary
+        https://bugs.webkit.org/show_bug.cgi?id=235041
+
+        Reviewed by Darin Adler.
+
+        There doesn't seem to be any reason to disable conic gradients on AppleTV. We do still
+        need to disable it on windows, but rather than hard coding this in WebCore, use a new
+        HAVE macro to conditionalize the code.
+
+        * platform/graphics/cg/GradientCG.cpp:
+        (WebCore::Gradient::paint):
+        * platform/graphics/cg/GradientRendererCG.cpp:
+        (WebCore::GradientRendererCG::drawConicGradient):
+
</ins><span class="cx"> 2022-01-11  Tim Nguyen  <ntim@apple.com>
</span><span class="cx"> 
</span><span class="cx">         ::backdrop pseudo element should react to associated element event listeners
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgGradientCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/GradientCG.cpp (287878 => 287879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/GradientCG.cpp 2022-01-11 15:18:25 UTC (rev 287878)
+++ trunk/Source/WebCore/platform/graphics/cg/GradientCG.cpp    2022-01-11 15:41:14 UTC (rev 287879)
</span><span class="lines">@@ -160,9 +160,7 @@
</span><span class="cx">                 CGContextRestoreGState(platformContext);
</span><span class="cx">         },
</span><span class="cx">         [&] (const ConicData& data) {
</span><del>-// FIXME: Seems like this should be HAVE(CG_CONTEXT_DRAW_CONIC_GRADIENT).
-// FIXME: Can we change tvOS to be like the other Cocoa platforms?
-#if PLATFORM(COCOA) && !PLATFORM(APPLETV)
</del><ins>+#if HAVE(CORE_GRAPHICS_CONIC_GRADIENTS)
</ins><span class="cx">             CGContextSaveGState(platformContext);
</span><span class="cx">             CGContextTranslateCTM(platformContext, data.point0.x(), data.point0.y());
</span><span class="cx">             CGContextRotateCTM(platformContext, (CGFloat)-M_PI_2);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgGradientRendererCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp (287878 => 287879)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp 2022-01-11 15:18:25 UTC (rev 287878)
+++ trunk/Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp    2022-01-11 15:41:14 UTC (rev 287879)
</span><span class="lines">@@ -684,9 +684,7 @@
</span><span class="cx"> 
</span><span class="cx"> void GradientRendererCG::drawConicGradient(CGContextRef platformContext, CGPoint center, CGFloat angle)
</span><span class="cx"> {
</span><del>-// FIXME: Seems like this should be HAVE(CG_CONTEXT_DRAW_CONIC_GRADIENT).
-// FIXME: Can we change tvOS to be like the other Cocoa platforms?
-#if PLATFORM(COCOA) && !PLATFORM(APPLETV)
</del><ins>+#if HAVE(CORE_GRAPHICS_CONIC_GRADIENTS)
</ins><span class="cx">     WTF::switchOn(m_strategy,
</span><span class="cx">         [&] (Gradient& gradient) {
</span><span class="cx">             CGContextDrawConicGradient(platformContext, gradient.gradient.get(), center, angle);
</span></span></pre>
</div>
</div>

</body>
</html>