<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>140198</bug_id>
          
          <creation_ts>2015-01-07 13:24:23 -0800</creation_ts>
          <short_desc>WKWebViewConfiguration should provide public API to enable private browsing</short_desc>
          <delta_ts>2015-04-24 13:57:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eugene But">eugenebut</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>dieter</cc>
    
    <cc>sam</cc>
    
    <cc>stuartmorgan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1059496</commentid>
    <comment_count>0</comment_count>
    <who name="Eugene But">eugenebut</who>
    <bug_when>2015-01-07 13:24:23 -0800</bug_when>
    <thetext>WKWebView does not support custom protocol handlers, so there is no way to implement Private browsing for a Web Browser app. Private Browsing is very important privacy feature and it is supported by Safari.

This change shows an example of Private Browsing implementation, but it uses private API:
https://github.com/WebKit/webkit/commit/512bc88e867086713820d4eb86d736586c20586f</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059600</commentid>
    <comment_count>1</comment_count>
    <who name="Eugene But">eugenebut</who>
    <bug_when>2015-01-07 16:00:52 -0800</bug_when>
    <thetext>Radar ID: 17238307</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060850</commentid>
    <comment_count>2</comment_count>
      <attachid>244524</attachid>
    <who name="Eugene But">eugenebut</who>
    <bug_when>2015-01-13 11:23:21 -0800</bug_when>
    <thetext>Created attachment 244524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060901</commentid>
    <comment_count>3</comment_count>
      <attachid>244524</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-01-13 13:07:19 -0800</bug_when>
    <thetext>Comment on attachment 244524
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=244524&amp;action=review

Sorry, meant to r-! The name _privateBrowsingEnabled is not good.

&gt; Tools/MiniBrowser/mac/AppDelegate.m:-106
&gt; -    privateConfiguraton._websiteDataStore = [_WKWebsiteDataStore nonPersistentDataStore];

Why is the removed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060902</commentid>
    <comment_count>4</comment_count>
      <attachid>244524</attachid>
    <who name="Eugene But">eugenebut</who>
    <bug_when>2015-01-13 13:11:23 -0800</bug_when>
    <thetext>Comment on attachment 244524
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=244524&amp;action=review

&gt;&gt; Tools/MiniBrowser/mac/AppDelegate.m:-106
&gt;&gt; -    privateConfiguraton._websiteDataStore = [_WKWebsiteDataStore nonPersistentDataStore];
&gt; 
&gt; Why is the removed?

privateConfiguraton._privateBrowsingEnabled = YES; code will substitute internal data store with nonPersistentDataStore. So this change should have no functional effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060903</commentid>
    <comment_count>5</comment_count>
    <who name="Eugene But">eugenebut</who>
    <bug_when>2015-01-13 13:13:47 -0800</bug_when>
    <thetext>&gt;&gt;&gt; The name _privateBrowsingEnabled is not good.
The name follows the same patten as [WKWebViewConfiguration _featureCounterEnabled]. Please let me know if you don&apos;t like presence of leading underscore or using &quot;privateBrowsing&quot; term? Would appreciate if you can suggest a name which is better from your perspective.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060904</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-13 13:15:14 -0800</bug_when>
    <thetext>Instead of using a property, I think the direction we will be going is exposing WKWebsiteDataStore as API and allowing setting a non persistent data store on the configuration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060907</commentid>
    <comment_count>7</comment_count>
    <who name="Eugene But">eugenebut</who>
    <bug_when>2015-01-13 13:29:03 -0800</bug_when>
    <thetext>Thank you for reply. In case if there already exists a private API which solves the problem, would it be useful to submit a patch which makes that API public?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060969</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-13 15:31:33 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Thank you for reply. In case if there already exists a private API which
&gt; solves the problem, would it be useful to submit a patch which makes that
&gt; API public?

No, we will make it public when we feel it is ready from prime time. No need for a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088314</commentid>
    <comment_count>9</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-04-24 13:57:15 -0700</bug_when>
    <thetext>This has been done now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244524</attachid>
            <date>2015-01-13 11:23:21 -0800</date>
            <delta_ts>2015-01-13 13:07:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140198-20150113112332.patch</filename>
            <type>text/plain</type>
            <size>3723</size>
            <attacher name="Eugene But">eugenebut</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3ODM2NCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE1LTAxLTEzICBFdWdlbmUg
QnV0ICA8ZXVnZW5lYnV0QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCBwcm9wZXJ0eSB0byBXS1dlYlZpZXdDb25maWd1cmF0aW9uIHByaXZhdGUgY2F0
ZWdvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDE5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAo
LVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9wcml2YXRlQnJvd3NpbmdFbmFibGVkXSk6CisgICAg
ICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldFByaXZhdGVCcm93c2luZ0VuYWJsZWQ6
XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oOgorCiAyMDE1LTAxLTEyICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNs
b3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDTWFrZV0gVW5yZXZpZXdlZCBidWlsZCBmaXgg
YWZ0ZXIgcjE3ODMwOS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0JKHJldmlzaW9uIDE3
ODExNCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMjYyLDYgKzI2MiwxNyBAQCAtICh2b2lk
KV9zZXRSZWxhdGVkV2ViVmlldzooV0tXZWJWaWV3ICopCiAgICAgX3JlbGF0ZWRXZWJWaWV3ID0g
cmVsYXRlZFdlYlZpZXc7CiB9CiAKKy0gKEJPT0wpX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQKK3sK
KyAgICByZXR1cm4gX3dlYnNpdGVEYXRhU3RvcmUucGVlaygpLmlzTm9uUGVyc2lzdGVudDsKK30K
KworLSAodm9pZClfc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDooQk9PTCllbmFibGVkCit7Cisg
ICAgaWYgKHNlbGYuX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQgIT0gZW5hYmxlZCkKKyAgICAgICAg
c2VsZi5fd2Vic2l0ZURhdGFTdG9yZSA9IGVuYWJsZWQgPyBbX1dLV2Vic2l0ZURhdGFTdG9yZSBu
b25QZXJzaXN0ZW50RGF0YVN0b3JlXSA6IFtfV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRh
U3RvcmVdOworfQorCiAtIChXS1dlYlZpZXcgKilfYWx0ZXJuYXRlV2ViVmlld0Zvck5hdmlnYXRp
b25HZXN0dXJlcwogewogICAgIHJldHVybiBfYWx0ZXJuYXRlV2ViVmlld0Zvck5hdmlnYXRpb25H
ZXN0dXJlcy5nZXRBdXRvcmVsZWFzZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b25Qcml2YXRlLmgJKHJldmlzaW9uIDE3ODExNCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNiArNDAsOCBAQAogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nLCBzZXR0
ZXI9X3NldFdlYnNpdGVEYXRhU3RvcmU6KSBfV0tXZWJzaXRlRGF0YVN0b3JlICpfd2Vic2l0ZURh
dGFTdG9yZTsKIAorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRQcml2
YXRlQnJvd3NpbmdFbmFibGVkOikgQk9PTCBfcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCBXS19BVkFJ
TEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CisKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCB3
ZWFrLCBzZXR0ZXI9X3NldEFsdGVybmF0ZVdlYlZpZXdGb3JOYXZpZ2F0aW9uR2VzdHVyZXM6KSBX
S1dlYlZpZXcgKl9hbHRlcm5hdGVXZWJWaWV3Rm9yTmF2aWdhdGlvbkdlc3R1cmVzOwogCiAjaWYg
VEFSR0VUX09TX0lQSE9ORQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMTc4MzY0KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDEtMTMgIEV1Z2VuZSBCdXQgIDxldWdl
bmVidXRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBwcml2YXRlQnJvd3NpbmdFbmFibGVk
IHByb3BlcnR5IHRvIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gcHJpdmF0ZSBjYXRlZ29yeQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTk4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9tYWMvQXBwRGVsZWdhdGUubToKKyAgICAgICAgKC1bQnJvd3NlckFwcERlbGVnYXRlIG5ld1By
aXZhdGVXaW5kb3c6XSk6CisKIDIwMTUtMDEtMTIgIEh1bnNlb3AgSmVvbmcgIDxoczg1Lmplb25n
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW0dUS10gRml4IGJ1aWxkIGFmdGVyIHIxNzgz
MDkgIApJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0JKHJldmlzaW9uIDE3ODEx
NCkKKysrIFRvb2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5tCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDMsNyArMTAzLDcgQEAgLSAoSUJBY3Rpb24pbmV3UHJpdmF0ZVdpbmRvdzooaWQpc2Vu
ZGVyCiB7CiAjaWYgV0tfQVBJX0VOQUJMRUQKICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpw
cml2YXRlQ29uZmlndXJhdG9uID0gW2RlZmF1bHRDb25maWd1cmF0aW9uKCkgY29weV07Ci0gICAg
cHJpdmF0ZUNvbmZpZ3VyYXRvbi5fd2Vic2l0ZURhdGFTdG9yZSA9IFtfV0tXZWJzaXRlRGF0YVN0
b3JlIG5vblBlcnNpc3RlbnREYXRhU3RvcmVdOworICAgIHByaXZhdGVDb25maWd1cmF0b24uX3By
aXZhdGVCcm93c2luZ0VuYWJsZWQgPSBZRVM7CiAKICAgICBCcm93c2VyV2luZG93Q29udHJvbGxl
ciAqY29udHJvbGxlciA9IFtbV0syQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIgYWxsb2NdIGluaXRX
aXRoQ29uZmlndXJhdGlvbjpwcml2YXRlQ29uZmlndXJhdG9uXTsKICAgICBbcHJpdmF0ZUNvbmZp
Z3VyYXRvbiByZWxlYXNlXTsK
</data>
<flag name="review"
          id="269476"
          type_id="1"
          status="-"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>