<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Added new port JSCOnly."
   href="https://bugs.webkit.org/show_bug.cgi?id=154512#c17">Comment # 17</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Added new port JSCOnly."
   href="https://bugs.webkit.org/show_bug.cgi?id=154512">bug 154512</a>
              from <span class="vcard"><a class="email" href="mailto:annulen&#64;yandex.ru" title="Konstantin Tokarev &lt;annulen&#64;yandex.ru&gt;"> <span class="fn">Konstantin Tokarev</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=154512#c16">comment #16</a>)
<span class="quote">&gt; Comment on <span class=""><a href="attachment.cgi?id=272458&amp;action=diff" name="attach_272458" title="Patch">attachment 272458</a> <a href="attachment.cgi?id=272458&amp;action=edit" title="Patch">[details]</a></span>
&gt; Patch
&gt; 
&gt; View in context:
&gt; <a href="https://bugs.webkit.org/attachment.cgi?id=272458&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=272458&amp;action=review</a>
&gt; 
&gt; &gt; Source/WTF/wtf/WorkQueue.h:43
&gt; &gt; +#elif USE(GLIB)
&gt; 
&gt; Honestly, I think the way you have it here is best: use DispatchQueueEfl for
&gt; EFL, otherwise use the GLib stuff. This isn't the only place we have such
&gt; conditionals. I think it's nicer this way than introducing new
&gt; USE(EVENTLOOP_GLIB) USE(EVENTLOOP_EFL) flags.</span >

My concerns rehashed:

1. It is possible to make JSCOnly building with EFL loop, but it doesn't seem to be a good idea to define PLATFORM(EFL) in this case. Same goes for DARWIN and WINDOWS cases.

2. USE(GLIB) does not mean &quot;Use GLib enent loop&quot; in generic case

<span class="quote">&gt; 
&gt; Anyway, changing from PLATFORM(GTK) to USE(GLIB) is definitely correct.
&gt; 
&gt; &gt; Source/cmake/OptionsJSCOnly.cmake:28
&gt; &gt; +    SET_AND_EXPOSE_TO_BUILD(USE_GLIB 1)
&gt; 
&gt; But I'm uncomfortable with autodetecting GLib support and silently disabling
&gt; it if not present. This means some users will have a broken JSC due to the
&gt; missing RunLoop/WorkQueue implementations, and others will not, even while
&gt; building in exactly the same way, based on the presence of development files
&gt; for some seemingly-random library.
&gt; 
&gt; One solution is to make this a public option, on by default, with a
&gt; descriptive error message (without GLib, this and this will break) so users
&gt; have to explicitly pass -DUSE_GLIB=OFF to CMake to build without it. I would
&gt; r+ such a patch.</span >

I'll add option to choose event loop type by name, with GLib being default for now (later default should depend on OS).

<span class="quote">&gt; 
&gt; But even so, it seems like a broken vs. not broken option to me. Perhaps
&gt; best to just require GLib for now, and work on a new WorkQueue
&gt; implementation to remove the dependency later. GLib has very few
&gt; dependencies and it's available everywhere; it would be nice to have no
&gt; dependency on GLib, but I don't think it's so horrible.</span >

I don't agree with &quot;broken vs. not broken&quot; part. &quot;None&quot; is not broken, it is just not feature complete, e.g. all tests from run-layout-jsc pass.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>