On Jun 17, 2010, at 2:04 PM, Jeremy Orlow wrote: > Overall, looks great!! > > > On Wed, Jun 16, 2010 at 6:05 PM, Anders Carlsson <[email protected]> wrote: > > Also, PlatformMechanism is a Factory, and should be named accordingly. Or > > maybe it's a Source of clients/mechanisms. > > > > Good point, it is a factory. > > Is it a factory? If so, I'd expect it to return PassOwnPtrs rather than *'s. > With *'s I'd expect the class to retain ownership (and destroy them when > it's destroyed). >
Currently I just called the class PlatformPolicies. It is kind of a factory but it will only create singletons that are never intended to be destroyed. > > On Wed, Jun 16, 2010 at 8:34 PM, Darin Fisher <[email protected]> wrote: > 2- This looks a lot like WebKitClient in the Chromium WebKit API, except that > WebKitClient is defined at the API layer and not at the WebCore/platform > layer. Related point: WebCore::ChromiumBridge is just a bunch of static > functions because it seems wasteful to define intermediate virtual functions > at the WebCore level. Note: There is a plan to rename ChromiumBridge to > PlatformBridge because the Android port wishes to share some of the same > infrastructure. There is already a typedef in place. > > I'm pretty sure the solution proposed in this thread would work fine for > Android as well. > Cool! > > On Thu, Jun 17, 2010 at 10:31 AM, Darin Fisher <[email protected]> wrote: > Makes sense. By the way, there are more modules other than WebCore/platform > that will require this kind of separation. WebCore/storage has several > examples of this. Jorlow already modified the LocalStorage implementation to > support this kind of separation. It'd be nice if whatever model is adopted > for WebCore/platform can also be applied to these other modules. (Doesn't > sound like it will be an issue.) > > Note that you only need this if you have multiple renderer/web processes. If > you only have one and aren't doing sandboxing, you don't need anything > special. If you're doing sandboxing you could either use LocalStorage the > way chromium does or you could proxy the raw FS/SQL VFS. (The former would > probably be easier and cleaner.) > > Note that the same should be true of IndexedDB. > In the future we definitely want to be able to use multiple render processes, so designing for that is a good idea. > It's not so much about performance. There's a cognitive cost to having so > many layers. But, given (c) above, I understand that you really don't have a > choice. > > FWIW: I can confirm that the "cognitive cost" of even the existing number of > layers in Chromium is high and surprisingly taxing. It's definitely > something to keep in mind and work to avoid when possible when designing > stuff for WebKit2. > That's a good point and something that we should definitely try to avoid. > On Thu, Jun 17, 2010 at 12:50 PM, Maciej Stachowiak <[email protected]> wrote: > ClipboardStrategy --> abstract class > ClipboardProxyStrategy (or ProxyClipboardStrategy) --> class that provides > the details of clipboard functionality by proxying to a privileged process > ClipboardDirectStrategy --> class that implements clipboard functionality > directly. > > For what it's worth, DOM Storage and IndexedDB uses the following naming > scheme: > > StorageArea -> abstract class > StorageAreaImpl -> actual implementation > StorageAreaProxy -> proxy implementation > > I'm not entirely sure the "Strategy" suffix would make these more usable, but > otherwise it seems to match up with what I've been doing already. > I'm only using the "Strategy" name for the abstract base classes right now. > > On Thu, Jun 17, 2010 at 12:53 PM, Geoffrey Garen <[email protected]> wrote: > > Cracking my Design Patterns book (or at least my memory of it), another > > idea that comes up is "Strategy". > > On IRC, Anders mentioned "Manager" as an alternative to "Strategy". > > I disagree. Manager is such an overloaded/overused word in CS that it has > pretty much no meaning. Strategy is at least unique. (Though I'm not > completely convinced such a suffix is required...especially for the > non-platform code like LocalStorage and IndexedDB.) > Good point. - Anders
_______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

