<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - REGRESSION(r188659): Non main frame scrollable areas don't work for pages restored from the page cache"
   href="https://bugs.webkit.org/show_bug.cgi?id=153404#c10">Comment # 10</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - REGRESSION(r188659): Non main frame scrollable areas don't work for pages restored from the page cache"
   href="https://bugs.webkit.org/show_bug.cgi?id=153404">bug 153404</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=153404#c9">comment #9</a>)
<span class="quote">&gt; (In reply to <a href="show_bug.cgi?id=153404#c8">comment #8</a>)
&gt; &gt; Comment on <span class=""><a href="attachment.cgi?id=271347&amp;action=diff" name="attach_271347" title="Different WIP approach">attachment 271347</a> <a href="attachment.cgi?id=271347&amp;action=edit" title="Different WIP approach">[details]</a></span>
&gt; &gt; Different WIP approach
&gt; &gt; 
&gt; &gt; Seems reasonable, but you should make sure that you can actually get back to
&gt; &gt; the FrameView in these two destructors (might be too late).
&gt; 
&gt; Disconnecting destroyed renderers from the FrameView seems like a good thing
&gt; to be doing. So if this changes fixes your problem, without reintroducing
&gt; the issues from <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - Scrollable area container is not properly cleared when page is going into the PageCache"
   href="show_bug.cgi?id=148182">Bug 148182</a>, then I'm in favor of it.</span >

I can't be sure it doesn't reintroduce the issues from <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - Scrollable area container is not properly cleared when page is going into the PageCache"
   href="show_bug.cgi?id=148182">bug #148182</a>, because I haven't been able to reproduce those crashes. Based on the analysis made in that bug I assume the problem is only with PDFPlugin, and it should be fixed by unregistering the plugin in the destructor, but someone with a mac who can reproduce the issue should confirm it.

<span class="quote">&gt; However, I don't really like that various Render elements have to do work to
&gt; keep things in proper balance. E.g., RenderListBox and RenderLayer have
&gt; cleanup code, now DeprecatedPDFPlugin will have special code.</span >

I think it makes sense that classes registering themselves as scrollable areas unregister themselves as well. Ideally the base class could do it, but ScrollableArea is in platform layer and FrameView in WebCore layer. So, I don't think DeprecatedPDFPlugin will have any special code, it's registering itself as scrollable area in the FrameView and should unregister if it's destructed.

<span class="quote">&gt; Are there
&gt; others we are missing?</span >

No, there aren't.

<span class="quote">&gt; Should ScrollableAreas know about their containing frames, so they can
&gt; unregister themselves during destruction, rather than doing so in the
&gt; individual destructors for ScrollableArea descendants?</span >

That would be a layering violation.</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>