<div dir="ltr">Hi Adam,<div><br></div><div>Your diagram is a start. I don't recall all my layering violation confusions but the latest confusion I had was in regards to what goes in the Source/WebCore/platform directory?</div>
<div><br></div><div>Why are things like ScrollView ScrollableArea, Timer, or even NotImplemented or Length in that directory? A lot of these things don't look like platform-specific code. They're also not necessarily interfaces to platform-specific code. So what are they? How does one decide something belongs in Source/WebCore/platform. What can things in this directory depend on and what can they not depend on?</div>
<div><br></div><div>Thanks,</div><div><br></div><div>Fady<br><br><div class="gmail_quote">On Thu, Jan 5, 2012 at 7:39 PM, Adam Barth <span dir="ltr"><<a href="mailto:abarth@webkit.org">abarth@webkit.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thu, Jan 5, 2012 at 4:18 PM, Fady Samuel <<a href="mailto:fsamuel@chromium.org">fsamuel@chromium.org</a>> wrote:<br>

> I've been working on WebKit off and on for a while now but I must admit<br>
> that, up to this point, I still don't have a firm grasp of all the layering<br>
> in WebKit. What depends on what, and what cannot depend on what? What is the<br>
> motivation of each of these individual layers? I understand the need to have<br>
> WebKit supported under multiple platforms and with any embedder, and but I<br>
> often don't fully understand what constitues a layering violation or why.<br>
><br>
> Could someone please summarize or provide a link that explains all this? I<br>
> think this would be beneficial to the entire WebKit community!<br>
<br>
</div></div>There's one diagram:<br>
<br>
<a href="https://docs.google.com/drawings/d/10WlCj2J3arxf4cDGRKteNinaP755iFnmYtYtnNSCQOY/edit?authkey=CP6plYAI&hl=en_US" target="_blank">https://docs.google.com/drawings/d/10WlCj2J3arxf4cDGRKteNinaP755iFnmYtYtnNSCQOY/edit?authkey=CP6plYAI&hl=en_US</a><br>

<br>
It's not perfectly accurate because it's something of a proposal, but<br>
it should give you a high-level view.  Do you have specific questions?<br>
 I'm happy to draw more pictures if that would be helpful.<br>
<span class="HOEnZb"><font color="#888888"><br>
Adam<br>
</font></span></blockquote></div><br></div></div>