<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">After 18 months of no progress, Don Olmstead and I are getting the band back together!</div><div class=""><br class=""></div><div class="">We’ve uploaded a patch to&nbsp;<a href="https://bugs.webkit.org/show_bug.cgi?id=143358" class="">https://bugs.webkit.org/show_bug.cgi?id=143358</a>&nbsp;which incorporates feedback from many different stakeholders (and as such, the direction is a little different than where I was going with this in the beginning).</div><div class=""><br class=""></div><div class="">First of all, this isn’t a new project; instead, it’s a new target inside the WebCore project. The target creates a static library which gets linked into WebCore, which means that the enforcement mechanism can’t be done by the linker. Instead, the layering will be enforced by a Python script, triggered as an extra build step, which checks the symbol names inside the .a file as well as #include directives in source code.</div><div class=""><br class=""></div><div class="">We opted for WebCore to include files using “#include &lt;PAL/Foo.h&gt;” instead of just including Foo.h. Similarly, we are putting symbols inside the PAL namespace, which is a child of the WebCore namespace. Therefore, inside WebCore, you use PAL things by specifying “PAL::Foo”.</div><div class=""><br class=""></div><div class="">The first thing to move into PAL is the “crypto” subfolder, which is a good candidate because it’s small, simple, yet also has platform-dependent implementations.</div><div class=""><br class=""></div><div class="">We would love your feedback on this approach to help make the dream a reality!</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Myles and Don</div><div class=""><br class=""></div><div class=""><div class=""><blockquote type="cite" class=""><div class="">On Mar 22, 2015, at 4:40 PM, Gavin Barraclough &lt;<a href="mailto:barraclough@apple.com" class="">barraclough@apple.com</a>&gt; 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; -webkit-line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div class="">On Mar 22, 2015, at 4:35 AM, Maciej Stachowiak &lt;<a href="mailto:mjs@apple.com" class="">mjs@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Web Abstraction Toolbox (it’s hard to tell the difference between wat and WTF sometimes…)</span></div></blockquote></div><br class=""><div class="">+1</div><div class=""><br class=""></div><div class=""><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=""><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></div></body></html>