<?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>139347</bug_id>
          
          <creation_ts>2014-12-06 13:05:24 -0800</creation_ts>
          <short_desc>[Mac] DumpRenderTree sets storage directory incorrectly</short_desc>
          <delta_ts>2014-12-19 14:28:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>138958</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1053058</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-06 13:05:24 -0800</bug_when>
    <thetext>Storage tests are flaky in WebKit1, because DumpRenderTree effectively makes all parallel processes use the same temporary directory.

I hope that this fix will address increased appcache test flakiness that started this week, when I changed DRT to delete appcache between tests - this made sqlite race for access to ApplicationCache.db a lot more than before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053059</commentid>
    <comment_count>1</comment_count>
      <attachid>242724</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-06 13:11:10 -0800</bug_when>
    <thetext>Created attachment 242724
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053061</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-06 13:22:11 -0800</bug_when>
    <thetext>I&apos;m now trying to remember if we needed to set standard defaults in order to make frameworks that use CFPreferences work...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053064</commentid>
    <comment_count>3</comment_count>
      <attachid>242724</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-06 13:27:42 -0800</bug_when>
    <thetext>Comment on attachment 242724
proposed fix

Bummer. http://trac.webkit.org/changeset/158652 says:

--------------
Using NSArgumentDomain was not a good idea. While it works with NSUserDefaults
and CFPreferencesCopyAppValue family of functions, it doesn&apos;t work with
CFPreferencesCopyValue(..., kCFPreferencesCurrentApplication, ...).
--------------

So, we should use NSArgumentDomain only for per instance preferences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053065</commentid>
    <comment_count>4</comment_count>
      <attachid>242726</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-06 13:35:03 -0800</bug_when>
    <thetext>Created attachment 242726
proposed fix

Looking at WebKit1 code, we have a bunch of unfortunate special cases that bypass WebPreferences, and use NSUserDefaults directly.

WebKitKerningAndLigaturesEnabledByDefaultDefaultsKey is read and written by WebView, so it&apos;s global per process identifier, and cannot be different in different WebViews or in parallel DumpRenderTrees.

Same thing with these ones, which are further complicated due to interactions between WebKit and AppKit preferences:

    [webView setContinuousSpellCheckingEnabled:YES];
    [webView setAutomaticQuoteSubstitutionEnabled:NO];
    [webView setAutomaticLinkDetectionEnabled:NO];
    [webView setAutomaticDashSubstitutionEnabled:NO];
    [webView setAutomaticTextReplacementEnabled:NO];
    [webView setAutomaticSpellingCorrectionEnabled:YES];
    [webView setGrammarCheckingEnabled:YES];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053074</commentid>
    <comment_count>5</comment_count>
      <attachid>242726</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-06 15:52:03 -0800</bug_when>
    <thetext>Comment on attachment 242726
proposed fix

Clearing flags on attachment: 242726

Committed r176917: &lt;http://trac.webkit.org/changeset/176917&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053075</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-06 15:52:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242724</attachid>
            <date>2014-12-06 13:11:10 -0800</date>
            <delta_ts>2014-12-06 13:35:03 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>DRTUserDefaults.txt</filename>
            <type>text/plain</type>
            <size>1367</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NjkxMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE0LTEyLTA2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIFtNYWNdIER1bXBSZW5kZXJUcmVlIHNldHMgc3RvcmFnZSBkaXJlY3Rvcnkg
aW5jb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTM0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOiAoc2V0RGVmYXVsdHNU
b0NvbnNpc3RlbnRWYWx1ZXNGb3JUZXN0aW5nKToKKyAgICAgICAgRG9uJ3QgdXNlIHVzZXIgZGVm
YXVsdHMgdG8gcGFzcyBwZXItaW5zdGFuY2UgcGF0aHMsIGFzIHVzZXIgZGVmYXVsdHMgYXJlIHNo
YXJlZAorICAgICAgICBhY3Jvc3MgYWxsIGluc3RhbmNlcy4KKwogMjAxNC0xMi0wNSAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJIGNhbm5vdCBh
Y3RpdmF0ZSBsaW5rcyBvbiB0aGUgbW9iaWxlIHZlcnNpb24gb2YgbmV3cy5nb29nbGUuY29tCklu
ZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lv
biAxNzY5MDMpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0J
KHdvcmtpbmcgY29weSkKQEAgLTk0OSw3ICs5NDksNyBAQCBzdGF0aWMgdm9pZCBzZXREZWZhdWx0
c1RvQ29uc2lzdGVudFZhbHVlCiAgICAgICAgIFdlYktpdExvY2FsQ2FjaGVEZWZhdWx0c0tleTog
W2xpYnJhcnlQYXRoIHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIkxvY2FsQ2FjaGUi
XQogICAgIH07CiAKLSAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBz
ZXRWYWx1ZXNGb3JLZXlzV2l0aERpY3Rpb25hcnk6ZGljdF07CisgICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46ZGljdCBmb3JOYW1lOk5T
QXJndW1lbnREb21haW5dOwogfQogCiBzdGF0aWMgdm9pZCBydW5UaHJlYWQodm9pZCogYXJnKQo=
</data>
<flag name="review"
          id="267585"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242726</attachid>
            <date>2014-12-06 13:35:03 -0800</date>
            <delta_ts>2014-12-06 15:52:03 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>DRTUserDefaults.txt</filename>
            <type>text/plain</type>
            <size>2522</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NjkxMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE0LTEyLTA2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIFtNYWNdIER1bXBSZW5kZXJUcmVlIHNldHMgc3RvcmFnZSBkaXJlY3Rvcnkg
aW5jb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTM0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOiAoc2V0RGVmYXVsdHNU
b0NvbnNpc3RlbnRWYWx1ZXNGb3JUZXN0aW5nKToKKyAgICAgICAgRG9uJ3QgdXNlIHVzZXIgZGVm
YXVsdHMgdG8gcGFzcyBwZXItaW5zdGFuY2UgcGF0aHMsIGFzIHVzZXIgZGVmYXVsdHMgYXJlIHNo
YXJlZAorICAgICAgICBhY3Jvc3MgYWxsIGluc3RhbmNlcy4KKwogMjAxNC0xMi0wNSAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJIGNhbm5vdCBh
Y3RpdmF0ZSBsaW5rcyBvbiB0aGUgbW9iaWxlIHZlcnNpb24gb2YgbmV3cy5nb29nbGUuY29tCklu
ZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lv
biAxNzY5MDMpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0J
KHdvcmtpbmcgY29weSkKQEAgLTc5Miw5ICs3OTIsNiBAQCBzdGF0aWMgdm9pZCBkZXN0cm95V2Vi
Vmlld0FuZE9mZnNjcmVlbldpCiAKIHN0YXRpYyBOU1N0cmluZyAqbGlicmFyeVBhdGhGb3JEdW1w
UmVuZGVyVHJlZSgpCiB7Ci0gICAgLy9GSVhNRTogVGhpcyBtYXkgbm90IGJlIHN1ZmZpY2llbnQg
dG8gcHJldmVudCBpbnRlcmFjdGlvbnMvY3Jhc2hlcwotICAgIC8vd2hlbiBydW5uaW5nIG1vcmUg
dGhhbiBvbmUgY29weSBvZiBEdW1wUmVuZGVyVHJlZS4KLSAgICAvL1NlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDYKICAgICBjaGFyKiBkdW1wUmVuZGVyVHJl
ZVRlbXAgPSBnZXRlbnYoIkRVTVBSRU5ERVJUUkVFX1RFTVAiKTsKICAgICBpZiAoZHVtcFJlbmRl
clRyZWVUZW1wKQogICAgICAgICByZXR1cm4gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2Vy
XSBzdHJpbmdXaXRoRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uOmR1bXBSZW5kZXJUcmVlVGVtcCBs
ZW5ndGg6c3RybGVuKGR1bXBSZW5kZXJUcmVlVGVtcCldOwpAQCAtOTQ0LDEyICs5NDEsMTcgQEAg
c3RhdGljIHZvaWQgc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZQogICAgICAgICBAIk5TT3Zl
cmxheVNjcm9sbGVyc0VuYWJsZWQiOiBATk8sCiAgICAgICAgIEAiQXBwbGVTaG93U2Nyb2xsQmFy
cyI6IEAiQWx3YXlzIiwKICAgICAgICAgQCJOU0J1dHRvbkFuaW1hdGlvbnNFbmFibGVkIjogQE5P
LCAvLyBJZGVhbGx5LCB3ZSBzaG91bGQgZmluZCBhIHdheSB0byB0ZXN0IGFuaW1hdGlvbnMsIGJ1
dCBmb3Igbm93LCBtYWtlIHN1cmUgdGhhdCB0aGUgZHVtcGVkIHNuYXBzaG90IG1hdGNoZXMgYWN0
dWFsIHN0YXRlLgorICAgIH07CisKKyAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRWYWx1ZXNGb3JLZXlzV2l0aERpY3Rpb25hcnk6ZGljdF07CisKKyAgICBOU0Rp
Y3Rpb25hcnkgKnByb2Nlc3NJbnN0YW5jZURlZmF1bHRzID0gQHsKICAgICAgICAgV2ViRGF0YWJh
c2VEaXJlY3RvcnlEZWZhdWx0c0tleTogW2xpYnJhcnlQYXRoIHN0cmluZ0J5QXBwZW5kaW5nUGF0
aENvbXBvbmVudDpAIkRhdGFiYXNlcyJdLAogICAgICAgICBXZWJTdG9yYWdlRGlyZWN0b3J5RGVm
YXVsdHNLZXk6IFtsaWJyYXJ5UGF0aCBzdHJpbmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJM
b2NhbFN0b3JhZ2UiXSwKICAgICAgICAgV2ViS2l0TG9jYWxDYWNoZURlZmF1bHRzS2V5OiBbbGli
cmFyeVBhdGggc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiTG9jYWxDYWNoZSJdCiAg
ICAgfTsKIAotICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZh
bHVlc0ZvcktleXNXaXRoRGljdGlvbmFyeTpkaWN0XTsKKyAgICBbW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpwcm9jZXNzSW5zdGFuY2VEZWZh
dWx0cyBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwogfQogCiBzdGF0aWMgdm9pZCBydW5UaHJl
YWQodm9pZCogYXJnKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>