<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:cgarcia&#64;igalia.com" title="Carlos Garcia Campos &lt;cgarcia&#64;igalia.com&gt;"> <span class="fn">Carlos Garcia Campos</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Clarify frame callbacks behaviour in Wayland compositor"
   href="https://bugs.webkit.org/show_bug.cgi?id=161683">bug 161683</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Attachment #288124 Flags</td>
           <td>review?
           </td>
           <td>review-
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Clarify frame callbacks behaviour in Wayland compositor"
   href="https://bugs.webkit.org/show_bug.cgi?id=161683#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Clarify frame callbacks behaviour in Wayland compositor"
   href="https://bugs.webkit.org/show_bug.cgi?id=161683">bug 161683</a>
              from <span class="vcard"><a class="email" href="mailto:cgarcia&#64;igalia.com" title="Carlos Garcia Campos &lt;cgarcia&#64;igalia.com&gt;"> <span class="fn">Carlos Garcia Campos</span></a>
</span></b>
        <pre>Comment on <span class=""><a href="attachment.cgi?id=288124&amp;action=diff" name="attach_288124" title="Patch">attachment 288124</a> <a href="attachment.cgi?id=288124&amp;action=edit" title="Patch">[details]</a></span>
Patch

View in context: <a href="https://bugs.webkit.org/attachment.cgi?id=288124&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=288124&amp;action=review</a>

<span class="quote">&gt; w/Source/WebKit2/UIProcess/gtk/WaylandCompositor.cpp:237
&gt; +    // From a Wayland point-of-view firing frame callbacks here is very weird,
&gt; +    // but our WebProcess clients don't rely on them for synchronization and
&gt; +    // set the EGL swap interval to zero, relying on the RenderNextFrame events
&gt; +    // in the WebKit IPC instead</span >

The comment adds more confusion to me. It says that the firing frame callbacks here is weird, but it doesn't say why or where they should be fired. The only reason why I didn't remove all frame callbacks handling from the nested compositor is because I was not sure we can rely that eglSwapInterval is always going to work for all drivers. But if it works, frame callbacks are never emitted, so this list is always empty. The reason why we do this, is not because we rely on RenderNextFrame events, adn there isn't any WebKit IPC involved. The reason is that we are rendering to an offscreen context always in the web process, and when we have to render a new frame, we schedule a redraw in the web view, and then we render in the screen. So syncing to vblank in the web process doesn't help, because we will not render at that time to the screen, we will render into the offscreen context, and the  schedule a redraw on the widget. It's at that point where we want to vblank sync, and that's alrea
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>