<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jun 4, 2012, at 11:07 AM, Adam Barth <<a href="mailto:abarth@webkit.org">abarth@webkit.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">On Mon, Jun 4, 2012 at 10:51 AM, Sam Weinig <span dir="ltr"><<a href="mailto:weinig@apple.com" target="_blank">weinig@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">

<div style="word-wrap:break-word"><div><div><div class="h5"><div>On Jun 3, 2012, at 6:10 PM, Ryosuke Niwa <<a href="mailto:rniwa@webkit.org" target="_blank">rniwa@webkit.org</a>> wrote:</div><blockquote type="cite">

<div class="gmail_quote">On Sun, Jun 3, 2012 at 6:01 PM, Adam Barth <span dir="ltr"><<a href="mailto:abarth@webkit.org" target="_blank">abarth@webkit.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">



<div class="gmail_quote"><div>On Sun, Jun 3, 2012 at 5:54 PM, Ryosuke Niwa <span dir="ltr"><<a href="mailto:rniwa@webkit.org" target="_blank">rniwa@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="gmail_quote"><div>On Sun, Jun 3, 2012 at 5:33 PM, Maciej Stachowiak <span dir="ltr"><<a href="mailto:mjs@apple.com" target="_blank">mjs@apple.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div bgcolor="#FFFFFF"><div><div>On Jun 3, 2012, at 8:05 PM, Ryosuke Niwa <<a href="mailto:rniwa@webkit.org" target="_blank">rniwa@webkit.org</a>> wrote:<br></div><div></div><blockquote type="cite">
On Sun, Jun 3, 2012 at 3:55 PM, Maciej Stachowiak <span dir="ltr"><<a href="mailto:mjs@apple.com" target="_blank">mjs@apple.com</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div bgcolor="#FFFFFF"><div>I am on vacation so I won't be able to review your patch in detail, but from your description it sounds less appealing to me than the WKTR approach. It seems like bad layering to me to define the IDL interface in WebCore for something actually implemented completely outside of WebCore.</div>









</div></blockquote><div><br></div><div>While you're right that it's somewhat of a layer violation to define the IDL for layoutTestController, WebCoreTestSupport appears to be the most logical place to share files between DumpRenderTree and WebKitTestRunner at the moment unless we're going to create another project/library in Tools.</div>







</div></blockquote></div><div>The downside is that they would be using internal WebCore interfaces instead of the public interface as originally intended. I do not think that is a good change, nor does it seem required just to share more code.</div>







</div></blockquote><div><br></div></div><div>Are you referring to things like JSValueRef? If JS* functions are supposed to be tested in DumpRenderTree, then that's a good argument against this approach.</div></div></blockquote>





<div><br></div></div><div>JavaScriptCore has a bunch of tests for its API independent of DumpRenderTree.  I suspect Maciej's point is more about having DumpRenderTree use public rather than private interfaces so that it's easier for JavaScriptCore to change its private interfaces.</div>





<div><br></div><div>Have you looked at adding a V8 backend to the code generator that WebKitTestRunner is using currently?  My guess is that it will be much simpler than CodeGeneratorV8.pm because WebKitTestRunner doesn't have deal with all the exciting variety was have in the web platform.  <a href="http://trac.webkit.org/browser/trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm" target="_blank">http://trac.webkit.org/browser/trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm</a> hasn't changed in 17 months, so I wouldn't expect an ongoing maintenance issue.</div>



</div></blockquote><div><br></div><div>Yes. But there was a recent discussion about supporting V8 in WebKitTestRunner where Sam objected to it citing that doing so will clutter the WTR's codebase. I have no problem with creating a V8 backend if Sam doesn't mind introducing V8 equivalent there.</div>



<div><br></div></div></blockquote><div><br></div></div></div><div>My objects were to adding V8 support to WebKit2, not WebKitTestRunner.</div></div></div></blockquote></div></blockquote><div><br></div><div>*objections* :(.</div><br><blockquote type="cite"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "><div style="word-wrap:break-word"><div><div class="im"><br><blockquote type="cite"><div class="gmail_quote"><div>However, the real difficulty is in sharing files between WebKitTestRunner and DumpRenderTree, and modifying 11? build configurations we have for DumpRenderTree.</div>

<div><br></div></div></blockquote><div><br></div></div></div>Just to give a bit of history here, the reason I didn't use DumpRenderTree for writing a test harness for WebKit2 was that there was no real benefit in me doing so.  The requirements of the test harness were quite different than they were for a test harness for WebKit1, specifically, we had to split functionality between the UIProcess and injected bundle.  In addition, DumpRenderTree had become a weird hodge-podge of code, where sharing code between projects seemed to be the exception, rather than the rule, for instance, I am not sure if the chromium port shares any code in DumpRenderTree with other ports (I could be wrong there), and since I was binding to a new API, a fresh start seemed the way to go.  All in all, I feel it has worked quite well, and has allowed better sharing of code between the Qt, Mac, Gtk and Windows WebKit2 implementations.<div>

<br></div><div>That said, I am not sure the current approach taken in WebKitTestRunner is fully suited to being merged with DumpRenderTree.  It is quite tied to the idea of having two processes and specifically the WebKit2 API. </div>

<span class="HOEnZb"><font color="#888888"><div></div></font></span></div></blockquote></div><br><div>Even if we don't end up fully merging the two, sharing the IDL file seems valuable since they're intended to run the same tests, which means the interface between the tests and the test harness should be the same.</div>

<div><br></div><div>Adam</div></blockquote><div><br></div><div>I would not object to the IDL files being shared, as long it doesn't introduce additional mental overhead.  Right now, it is pretty simple, and I would like to keep it that way.</div><div><br></div><div>-Sam</div><div> </div><div><br></div></div></body></html>