If the only problem is to determine the type of JS wrappers, is it possible to <div>make wrapSlow() a virtual method of some base class, instead of static functions?</div><div><br></div><div>It need a tweak on the code generator. Also, it might need to avoid name conflicts </div>
<div>by suffixing like wrapSlowForNode(), wrapSlowForRegion() etc.</div><div><br></div><div>This approach would make wrapSlow() a variation of QueryInterface(). But considering that the functionality is limited and hard to abuse, it might be better than having DOMInterface.</div>
<div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 26, 2012 at 9:53 AM, Alan Stearns <span dir="ltr">&lt;<a href="mailto:stearns@adobe.com" target="_blank">stearns@adobe.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 7/25/12 5:37 PM, &quot;Sam Weinig&quot; &lt;<a href="mailto:sam@webkit.org">sam@webkit.org</a>&gt; wrote:<br>
<div><div class="h5"><br>
&gt;<br>
&gt;On Jul 25, 2012, at 5:13 PM, Alan Stearns &lt;<a href="mailto:stearns@adobe.com">stearns@adobe.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; On 7/25/12 4:49 PM, &quot;Kentaro Hara&quot; &lt;<a href="mailto:haraken@chromium.org">haraken@chromium.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; A) Should we push back on the folks writing the CSS Regions<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; specification to avoid using multiple inheritance?  As far as I<br>
&gt;&gt;&gt;&gt;&gt;&gt; know,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; this is the only instance of multiple inheritance in the platform.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Historically, EventTarget used multiple inheritance, but that&#39;s<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;been<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; fixed in DOM4 [4].<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; If it is possible to avoid the multiple inheritance, that would be<br>
&gt;&gt;&gt;best.<br>
&gt;&gt;<br>
&gt;&gt; From the WebIDL side, it&#39;s not strictly multiple inheritance. It&#39;s<br>
&gt;&gt;merely<br>
&gt;&gt; a supplemental interface that more than one object can implement. None<br>
&gt;&gt;of<br>
&gt;&gt; the members of the Region interface can clash with any of the members of<br>
&gt;&gt; the object that implements it.<br>
&gt;&gt;<br>
&gt;&gt; Right now Elements can become CSS Regions, but in the future other<br>
&gt;&gt;objects<br>
&gt;&gt; will be able to become CSS Regions. As far as I know, the correct way to<br>
&gt;&gt; specify this kind of relation is with WebIDL supplemental interfaces.<br>
&gt;&gt;I&#39;d<br>
&gt;&gt; rather figure out the correct way to add this WebIDL functionality to<br>
&gt;&gt; WebKit now, than put something else into the spec and WebKit that we&#39;ll<br>
&gt;&gt; have to change later.<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt;<br>
&gt;&gt; Alan<br>
&gt;<br>
</div></div>&gt;What other objects do you envision implementing CSSRegion?  With the spec<br>
&gt;written the way it is now, I see no reason to make anything virtual, or<br>
&gt;even have a Region class.  Just implement it in Element.  If need to pull<br>
&gt;things out for code reuse purposes, we can do that when it comes to that,<br>
&gt;but right now, there doesn&#39;t seem to be a need to complicate things.<br>
&gt;<br>
&gt;-Sam<br>
&gt;<br>
<br>
I have an upcoming proposal for a CSSPseudoElement object. You can make a<br>
pseudo-element like ::before or ::after into a CSS Region right now in<br>
WebKit. All that&#39;s lacking is a way to access those pseudo-elements from<br>
script.<br>
<div class="HOEnZb"><div class="h5"><br>
Thanks,<br>
<br>
Alan<br>
<br>
_______________________________________________<br>
webkit-dev mailing list<br>
<a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>
<a href="http://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank">http://lists.webkit.org/mailman/listinfo/webkit-dev</a><br>
</div></div></blockquote></div><br></div>