<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Could someone educate me about <span style="font-family: Menlo-Regular;" class=""><wtf/Forward.h>? When should I use this instead of individual wtf headers?</span><div class=""><font face="Menlo-Regular" class=""><br class=""></font></div><div class=""><font face="Menlo-Regular" class="">Simon<br class=""></font><div><br class=""><blockquote type="cite" class=""><div class="">On Jul 14, 2020, at 2:32 PM, Sam Weinig <<a href="mailto:weinig@apple.com" class="">weinig@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">While I don’t want to take away from what Darin is saying here about correct usage of forward declaration and <wtf/Forward.h>, I’d like to understand why we have two different compilation models supported in WebKit. Is there a reason both need to be supported? Can we remove one?<div class=""><br class=""></div><div class="">- Sam<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jul 14, 2020, at 10:40 AM, Darin Adler <<a href="mailto:darin@apple.com" class="">darin@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">We need to be cautious about adding header includes to other headers. Adding includes to .cpp files is likely fine and not a deeply consequential decision, but adding to headers is something that can have a massive effect on build times over time.<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jul 13, 2020, at 10:44 PM, <a href="mailto:Hironori.Fujii@sony.com" class="">Hironori.Fujii@sony.com</a> wrote:</div><div class=""><div id="patch" style="width: 1007px; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a id="trunkSourceWebCoreplatformgraphicsColorSerializationh" class=""></a><div class="modfile" style="border: 1px solid rgb(204, 204, 204); margin: 10px 0px;"><h4 style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; padding: 8px; background-color: rgb(51, 102, 153); color: rgb(255, 255, 255); margin: 0px; background-position: initial initial; background-repeat: initial initial;" class="">Modified: trunk/Source/WebCore/platform/graphics/ColorSerialization.h (264331 => 264332)</h4><pre class="diff" style="padding: 0px 0px 10px; line-height: 1.2em; margin: 0px; width: 1005px; background-color: rgb(238, 238, 238); overflow: auto; background-position: initial initial; background-repeat: initial initial;"><span style="display: block; padding: 0px 10px;" class="">
<span class="info" style="color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;">--- trunk/Source/WebCore/platform/graphics/ColorSerialization.h      2020-07-14 05:17:20 UTC (rev 264331)
+++ trunk/Source/WebCore/platform/graphics/ColorSerialization.h 2020-07-14 05:44:25 UTC (rev 264332)
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -25,6 +25,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;"> #pragma once
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+#include <wtf/text/WTFString.h></ins></span></pre></div></div></div></blockquote><div class="">This change is wrong. The header to include here is Forward.h, not WTFString.h. Not super-harmful since WTFString.h is already so widely included, but we need to be really cautious in headers.</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div id="patch" class="" style="width: 1007px;"><div class="modfile" style="border: 1px solid rgb(204, 204, 204); margin: 10px 0px;"><h4 class="" style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; padding: 8px; background-color: rgb(51, 102, 153); color: rgb(255, 255, 255); margin: 0px;">Modified: trunk/Source/WebCore/svg/SVGParserUtilities.h (264331 => 264332)</h4><pre class="diff" style="padding: 0px 0px 10px; line-height: 1.2em; margin-top: 0px; margin-bottom: 0px; width: 1005px; background-color: rgb(238, 238, 238); overflow: auto;"><span class="" style="display: block; padding: 0px 10px;">
<span class="info" style="color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); display: block; padding: 0px 10px;">--- trunk/Source/WebCore/svg/SVGParserUtilities.h      2020-07-14 05:17:20 UTC (rev 264331)
+++ trunk/Source/WebCore/svg/SVGParserUtilities.h       2020-07-14 05:44:25 UTC (rev 264332)
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255);">@@ -24,6 +24,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;"> #include "ParsingUtilities.h"
</span><span class="cx" style="display: block; padding: 0px 10px;"> #include <wtf/HashSet.h>
</span><span class="cx" style="display: block; padding: 0px 10px;"> #include <wtf/Vector.h>
</span><ins class="" style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px;">+#include <wtf/text/WTFString.h></ins></span></pre></div></div></blockquote><div class="">Same mistake.</div><div class=""><br class=""></div><div class="">I’d really like to come up with some other system for reviewing adding headers to *headers*.</div></div><div class=""><br class=""></div><div class="">— Darin</div></div></div>_______________________________________________<br class="">webkit-dev mailing list<br class=""><a href="mailto:webkit-dev@lists.webkit.org" class="">webkit-dev@lists.webkit.org</a><br class=""><a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" class="">https://lists.webkit.org/mailman/listinfo/webkit-dev</a><br class=""></div></blockquote></div><br class=""></div></div>_______________________________________________<br class="">webkit-dev mailing list<br class=""><a href="mailto:webkit-dev@lists.webkit.org" class="">webkit-dev@lists.webkit.org</a><br class="">https://lists.webkit.org/mailman/listinfo/webkit-dev<br class=""></div></blockquote></div><br class=""></div></body></html>