<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - NetworkProcess: DNS prefetch happens in the Web Process"
   href="https://bugs.webkit.org/show_bug.cgi?id=147824#c26">Comment # 26</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - NetworkProcess: DNS prefetch happens in the Web Process"
   href="https://bugs.webkit.org/show_bug.cgi?id=147824">bug 147824</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=147824#c25">comment #25</a>)
<span class="quote">&gt; (In reply to <a href="show_bug.cgi?id=147824#c23">comment #23</a>)
&gt; &gt; (In reply to <a href="show_bug.cgi?id=147824#c21">comment #21</a>)
&gt; &gt; &gt; Comment on <span class="bz_obsolete"><a href="attachment.cgi?id=262588&amp;action=diff" name="attach_262588" title="Updated patch">attachment 262588</a> <a href="attachment.cgi?id=262588&amp;action=edit" title="Updated patch">[details]</a></span>
&gt; &gt; &gt; Updated patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; <a href="https://bugs.webkit.org/attachment.cgi?id=262588&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=262588&amp;action=review</a>
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/loader/FrameLoaderClient.h:33
&gt; &gt; &gt; &gt; +#include &quot;DNS.h&quot;
&gt; &gt; &gt; 
&gt; &gt; &gt; We should keep the implementation of the virtual function out of the header,
&gt; &gt; &gt; that way we don’t need to include DNS.h in this header. Generally speaking
&gt; &gt; &gt; it’s not so valuable to have implementations of virtual functions in the
&gt; &gt; &gt; header rather than a cpp file since it’s not common to be able to expand
&gt; &gt; &gt; them in line at the call site.
&gt; &gt; 
&gt; &gt; I agree, the advantage in this case that we don't have a common cpp file was
&gt; &gt; to avoid having the same implementation in all FrameLoader clients expect
&gt; &gt; the WebKit2 one. I'll make it pure virtual then, to ensure all clients
&gt; &gt; implement it.
&gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:632
&gt; &gt; &gt; &gt; +        m_page-&gt;mainFrame().loader().client().prefetchDNS(downcast&lt;Element&gt;(*node).absoluteLinkURL().host());
&gt; &gt; &gt; 
&gt; &gt; &gt; Are we guaranteed that m_page is non-null?
&gt; &gt; 
&gt; &gt; Same question ap made in <a href="show_bug.cgi?id=147824#c5">comment #5</a>, which confirms I should add an assert
&gt; &gt; there :-)
&gt; 
&gt; m_page can be null after WebPage::close() is called so I think we should
&gt; null-check.</span >

Yes, but I guess you can't tap on a closed page. This is a private method called from two WebPage::potentialTapAtPosition() and WebPage::tapHighlightAtPosition(). Both methods are message handlers, that aren't called if the page is closed, and both methods use m_page without any null check before calling sendTapHighlightForNodeIfNecessary().</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>