<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Add API to create ephemeral web views and deprecate the private browsing setting"
   href="https://bugs.webkit.org/show_bug.cgi?id=167370#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Add API to create ephemeral web views and deprecate the private browsing setting"
   href="https://bugs.webkit.org/show_bug.cgi?id=167370">bug 167370</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=167370#c2">comment #2</a>)
<span class="quote">&gt; Comment on <span class=""><a href="attachment.cgi?id=299599&amp;action=diff" name="attach_299599" title="Patch">attachment 299599</a> <a href="attachment.cgi?id=299599&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=299599&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=299599&amp;action=review</a>
&gt; 
&gt; Looking forward to the Epiphany implementation. ;)
&gt; 
&gt; Nice tests.
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:23
&gt; &gt; +        (webkitWebViewConstructed): Check if the WebView is or should be ephemeral and create a non persistent website
&gt; &gt; +        data manager if it's an ephemeral web view in a non ephemeral web context.
&gt; 
&gt; What is the advantage to allowing users to create ephemeral web views in
&gt; non-ephemeral web contexts? Is this really well-supported and unlikely to
&gt; cause problems?</span >

Yes, it's well supported. It allows to open an incognito window in your normal browser instance, for example. It's not useful for epiphany because we use a new browser process for incognito mode. Note also that private browsing, or now ephemeral sessions, are per page. Allowing to create an ephemeral context is just a convenience way to avoid having to create all webviews ephemeral.

<span class="quote">&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp:506
&gt; &gt; + * Get whether a #WebKitWebContext is ephemeral.
&gt; 
&gt; It would probably be advantageous to expose this implementation detail, so
&gt; the user has a better clue what is going on:
&gt; 
&gt; &quot;Get whether a #WebKitWebContext uses an ephemeral #WebKitWebsiteDataManager&quot;</span >

Ok, I think we can explain it, yes.

<span class="quote">&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp:508
&gt; &gt; + * Returns: %TRUE if &#64;context is ephemeral or %FALSE otherwise.
&gt; 
&gt; You forgot the Since tag here.</span >

Oops.

<span class="quote">&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:1002
&gt; &gt; +     * created with an ephemeral #WebKitWebContext will be ephemeral automatically,
&gt; 
&gt; Another comma splice. Last time I told you to use a semicolon. This one
&gt; would work better split it into two sentences.</span >

Ok.

<span class="quote">&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:322
&gt; &gt; +     * handles all websites data as non persistent, and nothing will be written to the client
&gt; 
&gt; non-persistent</span >

Sure.

<span class="quote">&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:426
&gt; &gt;   * Returns: the base directory for Website data, or %NULL if
&gt; 
&gt; Preexisting bug: it does not have (allow-none) so bindings are broken. You
&gt; won't be able to null-check it from vala, for example.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:447
&gt; &gt;   * Returns: the base directory for Website cache, or %NULL if
&gt; 
&gt; (allow-none)</span >

Ah, ok.

<span class="quote">&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:468
&gt; &gt; + * Returns: the directory where local storage data is stored or %NULL if &#64;manager is ephemeral.
&gt; 
&gt; (allow-none)
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:491
&gt; &gt; + * Returns: the directory where HTTP disk cache is stored or %NULL if &#64;manager is ephemeral.
&gt; 
&gt; (allow-none)
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:516
&gt; &gt; + * Returns: the directory where offline web application cache is stored or %NULL if &#64;manager is ephemeral.
&gt; 
&gt; (allow-none)
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:539
&gt; &gt; + * Returns: the directory where IndexedDB databases are stored or %NULL if &#64;manager is ephemeral.
&gt; 
&gt; (allow-none)
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:562
&gt; &gt; + * Returns: the directory where WebSQL databases are stored or %NULL if &#64;manager is ephemeral.
&gt; 
&gt; (allow-none)</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>