<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Do not release OpenGL resource immediately when leaving accelerated compositing mode"
   href="https://bugs.webkit.org/show_bug.cgi?id=167544#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Do not release OpenGL resource immediately when leaving accelerated compositing mode"
   href="https://bugs.webkit.org/show_bug.cgi?id=167544">bug 167544</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>(In reply to <a href="show_bug.cgi?id=167544#c3">comment #3</a>)
<span class="quote">&gt; Comment on <span class=""><a href="attachment.cgi?id=300011&amp;action=diff" name="attach_300011" title="Patch">attachment 300011</a> <a href="attachment.cgi?id=300011&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=300011&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=300011&amp;action=review</a>
&gt; 
&gt; Nice!
&gt; 
&gt; Now I know all this recent work to bring back on-demand accelerated
&gt; composting is going to have a dramatic memory reduction benefit, but these
&gt; changes seem risky and I don't think we should backport them to 2.14 now
&gt; that we're nearly to the end of the release cycle. My recommendation is to
&gt; let it bake in trunk at this point. Not just this commit, but the whole set.
&gt; It's your call, of course.</span >

All this work is to make 2.14 usable again for many people. so all these commits expect the one adding new API will be backported to 2.14, but not right now. My plan is to make a new 2.15 release as soon as possible next week, once the tests are in better shape. Then we test the new release for a while, and continue fixing issues that might show up in the bots, ro reported by AndrĂ©s. And then, with all the fixes I'll backport everything to 2.14 and make a new release.

<span class="quote">&gt; &gt; Source/WebKit2/ChangeLog:24
&gt; &gt; +        starting a timer of 5 secons to discard it if not reused.
&gt; 
&gt; seconds
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp:382
&gt; &gt; +    m_previousLayerTreeHost = WTFMove(m_layerTreeHost);
&gt; 
&gt; If something ever goes wrong, better to have a null pointer dereference than
&gt; a use after free, so I think you should set m_layerTreeHost to nullptr here,
&gt; even if it's not strictly necessary. And it looks like it *is* necessary,
&gt; since you have checks in several places to only use m_previousLayerTreeHost
&gt; if m_layerTreeHost is null. If it's really not needed, please explain why.</span >

Not it's not needed at all. Because m_layerTreeHost is a RefPtr, so !m_layerTreeHost checks the internal pointer and the move assignment already sets the internal pointer to nullptr.

<span class="quote">&gt; &gt; Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:229
&gt; &gt; +    m_isDiscardable = discardable;
&gt; &gt; +    if (m_isDiscardable) {
&gt; &gt; +        m_discardableSyncActions = OptionSet&lt;DiscardableSyncActions&gt;();
&gt; &gt; +        return;
&gt; &gt; +    }
&gt; 
&gt; Personally, I would split the rest of this function below this point into a
&gt; new function named
&gt; ThreadedCoordinatedLayerTreeHost::applyDiscardableSyncActions.
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:111
&gt; &gt; +    enum class DiscardableSyncActions { UpdateSize = 1 &lt;&lt; 1, UpdateViewport = 1 &lt;&lt; 2, UpdateScale = 1 &lt;&lt; 3, UpdateBackground = 1 &lt;&lt; 4 };
&gt; 
&gt; I would also prefer not to write enums on one line like this.</span ></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>