<?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>143968</bug_id>
          
          <creation_ts>2015-04-20 15:12:16 -0700</creation_ts>
          <short_desc>moveFile should overwrite existing files</short_desc>
          <delta_ts>2015-04-20 16:40:22 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1086922</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-20 15:12:16 -0700</bug_when>
    <thetext>When compiling content extensions, the call to moveFile fails often because the file already exists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086925</commentid>
    <comment_count>1</comment_count>
      <attachid>251193</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-20 15:28:39 -0700</bug_when>
    <thetext>Created attachment 251193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086935</commentid>
    <comment_count>2</comment_count>
      <attachid>251193</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-04-20 16:01:14 -0700</bug_when>
    <thetext>Comment on attachment 251193
Patch

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

&gt; Source/WebCore/platform/mac/FileSystemMac.mm:44
&gt; +@implementation WebFileManagerDelegate
&gt; +- (BOOL)fileManager:(NSFileManager *)fileManager shouldProceedAfterError:(NSError *)error movingItemAtURL:(NSURL *)srcURL toURL:(NSURL *)dstURL

Add an empty line here please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086937</commentid>
    <comment_count>3</comment_count>
      <attachid>251193</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-04-20 16:05:51 -0700</bug_when>
    <thetext>Comment on attachment 251193
Patch

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

&gt; Source/WebCore/platform/mac/FileSystemMac.mm:90
&gt; +    RetainPtr&lt;WebFileManagerDelegate&gt; delegate = adoptNS([[WebFileManagerDelegate alloc] init]);
&gt; +    [[NSFileManager defaultManager] setDelegate:delegate.get()];

Don&apos;t set a custom delegate on the default manager, just create a new manager instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086943</commentid>
    <comment_count>4</comment_count>
      <attachid>251201</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-20 16:23:34 -0700</bug_when>
    <thetext>Created attachment 251201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086945</commentid>
    <comment_count>5</comment_count>
      <attachid>251201</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-04-20 16:25:18 -0700</bug_when>
    <thetext>Comment on attachment 251201
Patch

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

&gt; Source/WebCore/platform/mac/FileSystemMac.mm:50
&gt; +    return [error code] == NSFileWriteFileExistsError;

Dot syntax.

&gt; Source/WebCore/platform/mac/FileSystemMac.mm:91
&gt; +    RetainPtr&lt;NSFileManager&gt; manager = adoptNS([[NSFileManager alloc] init]);
&gt; +    RetainPtr&lt;WebFileManagerDelegate&gt; delegate = adoptNS([[WebFileManagerDelegate alloc] init]);

Just use auto here.

&gt; Source/WebCore/platform/mac/FileSystemMac.mm:92
&gt; +    [manager.get() setDelegate:delegate.get()];

No need for .get() in manager.get().

&gt; Source/WebCore/platform/mac/FileSystemMac.mm:94
&gt; +    return [manager.get() moveItemAtURL:[NSURL fileURLWithPath:oldPath] toURL:[NSURL fileURLWithPath:newPath] error:nil];

Same thing here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086947</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-20 16:40:22 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/183035</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251193</attachid>
            <date>2015-04-20 15:28:39 -0700</date>
            <delta_ts>2015-04-20 16:23:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143968-20150420152737.patch</filename>
            <type>text/plain</type>
            <size>2311</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzAzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA0LTIwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgT3ZlcndyaXRl
IGV4aXN0aW5nIGZpbGVzIHdpdGggbW92ZUZpbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM5NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9GaWxlU3lzdGVtTWFjLm1tOgor
ICAgICAgICAoLVtXZWJGaWxlTWFuYWdlckRlbGVnYXRlIGZpbGVNYW5hZ2VyOnNob3VsZFByb2Nl
ZWRBZnRlckVycm9yOm1vdmluZ0l0ZW1BdFVSTDp0b1VSTDpdKToKKyAgICAgICAgKFdlYkNvcmU6
Om1vdmVGaWxlKToKKyAgICAgICAgcjE4MjkzMiBpbnRyb2R1Y2VkIG1vdmVGaWxlIGluc3RlYWQg
b2YgcmVuYW1lRmlsZS4gIEluIG9yZGVyIHRvIHByZXNlcnZlIGJlaGF2aW9yLCBpdCBzaG91bGQg
b3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzLgorCiAyMDE1LTA0LTIwICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW51cCBzb21lIFN0cmluZ0J1aWxk
ZXIgdXNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZVN5c3RlbU1hYy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZVN5c3RlbU1h
Yy5tbQkocmV2aXNpb24gMTgzMDIxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Zp
bGVTeXN0ZW1NYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI5LDEyICsyOSwyOCBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJGaWxlU3lzdGVtLmgiCiAKKyNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbkVycm9ycy5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0ZpbGVNYW5hZ2Vy
Lmg+CiAjaW1wb3J0ICJXZWJDb3JlTlNVUkxFeHRyYXMuaCIKICNpbXBvcnQgIldlYkNvcmVTeXN0
ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCitAaW50ZXJm
YWNlIFdlYkZpbGVNYW5hZ2VyRGVsZWdhdGUgOiBOU09iamVjdCA8TlNGaWxlTWFuYWdlckRlbGVn
YXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gV2ViRmlsZU1hbmFnZXJEZWxlZ2F0ZQorLSAo
Qk9PTClmaWxlTWFuYWdlcjooTlNGaWxlTWFuYWdlciAqKWZpbGVNYW5hZ2VyIHNob3VsZFByb2Nl
ZWRBZnRlckVycm9yOihOU0Vycm9yICopZXJyb3IgbW92aW5nSXRlbUF0VVJMOihOU1VSTCAqKXNy
Y1VSTCB0b1VSTDooTlNVUkwgKilkc3RVUkwKK3sKKyAgICBVTlVTRURfUEFSQU0oZmlsZU1hbmFn
ZXIpOworICAgIFVOVVNFRF9QQVJBTShzcmNVUkwpOworICAgIFVOVVNFRF9QQVJBTShkc3RVUkwp
OyAgICAKKyAgICByZXR1cm4gW2Vycm9yIGNvZGVdID09IE5TRmlsZVdyaXRlRmlsZUV4aXN0c0Vy
cm9yOworfQorCitAZW5kCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU3RyaW5nIGhvbWVEaXJl
Y3RvcnlQYXRoKCkKQEAgLTY5LDYgKzg1LDEwIEBAIFN0cmluZyBvcGVuVGVtcG9yYXJ5RmlsZShj
b25zdCBTdHJpbmcmIHAKIAogYm9vbCBtb3ZlRmlsZShjb25zdCBTdHJpbmcmIG9sZFBhdGgsIGNv
bnN0IFN0cmluZyYgbmV3UGF0aCkKIHsKKyAgICAvLyBPdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMu
CisgICAgUmV0YWluUHRyPFdlYkZpbGVNYW5hZ2VyRGVsZWdhdGU+IGRlbGVnYXRlID0gYWRvcHRO
UyhbW1dlYkZpbGVNYW5hZ2VyRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdIHNldERlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICAK
ICAgICByZXR1cm4gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBtb3ZlSXRlbUF0VVJM
OltOU1VSTCBmaWxlVVJMV2l0aFBhdGg6b2xkUGF0aF0gdG9VUkw6W05TVVJMIGZpbGVVUkxXaXRo
UGF0aDpuZXdQYXRoXSBlcnJvcjpuaWxdOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251201</attachid>
            <date>2015-04-20 16:23:34 -0700</date>
            <delta_ts>2015-04-20 16:25:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143968-20150420162232.patch</filename>
            <type>text/plain</type>
            <size>2472</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzAzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA0LTIwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgT3ZlcndyaXRl
IGV4aXN0aW5nIGZpbGVzIHdpdGggbW92ZUZpbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM5NjgKKworICAgICAgICBSZXZpZXdlZCBieSBCcmFk
eSBFaWRzb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvRmlsZVN5c3RlbU1hYy5tbToKKyAg
ICAgICAgKC1bV2ViRmlsZU1hbmFnZXJEZWxlZ2F0ZSBmaWxlTWFuYWdlcjpzaG91bGRQcm9jZWVk
QWZ0ZXJFcnJvcjptb3ZpbmdJdGVtQXRVUkw6dG9VUkw6XSk6CisgICAgICAgIChXZWJDb3JlOjpt
b3ZlRmlsZSk6CisgICAgICAgIHIxODI5MzIgaW50cm9kdWNlZCBtb3ZlRmlsZSBpbnN0ZWFkIG9m
IHJlbmFtZUZpbGUuICBJbiBvcmRlciB0byBwcmVzZXJ2ZSBiZWhhdmlvciwgaXQgc2hvdWxkIG92
ZXJ3cml0ZSBleGlzdGluZyBmaWxlcy4KKwogMjAxNS0wNC0yMCAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFudXAgc29tZSBTdHJpbmdCdWlsZGVy
IHVzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVTeXN0ZW1NYWMubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVTeXN0ZW1NYWMu
bW0JKHJldmlzaW9uIDE4MzAyMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxl
U3lzdGVtTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMCArMzEsMjcgQEAKIAogI2ltcG9y
dCAiV2ViQ29yZU5TVVJMRXh0cmFzLmgiCiAjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNl
LmgiCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb25FcnJvcnMuaD4KKyNpbXBvcnQgPEZv
dW5kYXRpb24vTlNGaWxlTWFuYWdlci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2lt
cG9ydCA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKK0BpbnRlcmZhY2UgV2ViRmlsZU1hbmFnZXJEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU0ZpbGVN
YW5hZ2VyRGVsZWdhdGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXZWJGaWxlTWFuYWdlckRl
bGVnYXRlCisKKy0gKEJPT0wpZmlsZU1hbmFnZXI6KE5TRmlsZU1hbmFnZXIgKilmaWxlTWFuYWdl
ciBzaG91bGRQcm9jZWVkQWZ0ZXJFcnJvcjooTlNFcnJvciAqKWVycm9yIG1vdmluZ0l0ZW1BdFVS
TDooTlNVUkwgKilzcmNVUkwgdG9VUkw6KE5TVVJMICopZHN0VVJMCit7CisgICAgVU5VU0VEX1BB
UkFNKGZpbGVNYW5hZ2VyKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjVVJMKTsKKyAgICBVTlVTRURf
UEFSQU0oZHN0VVJMKTsgICAgCisgICAgcmV0dXJuIFtlcnJvciBjb2RlXSA9PSBOU0ZpbGVXcml0
ZUZpbGVFeGlzdHNFcnJvcjsKK30KKworQGVuZAorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0
cmluZyBob21lRGlyZWN0b3J5UGF0aCgpCkBAIC02OSw3ICs4NiwxMiBAQCBTdHJpbmcgb3BlblRl
bXBvcmFyeUZpbGUoY29uc3QgU3RyaW5nJiBwCiAKIGJvb2wgbW92ZUZpbGUoY29uc3QgU3RyaW5n
JiBvbGRQYXRoLCBjb25zdCBTdHJpbmcmIG5ld1BhdGgpCiB7Ci0gICAgcmV0dXJuIFtbTlNGaWxl
TWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gbW92ZUl0ZW1BdFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQ
YXRoOm9sZFBhdGhdIHRvVVJMOltOU1VSTCBmaWxlVVJMV2l0aFBhdGg6bmV3UGF0aF0gZXJyb3I6
bmlsXTsKKyAgICAvLyBPdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMuCisgICAgUmV0YWluUHRyPE5T
RmlsZU1hbmFnZXI+IG1hbmFnZXIgPSBhZG9wdE5TKFtbTlNGaWxlTWFuYWdlciBhbGxvY10gaW5p
dF0pOworICAgIFJldGFpblB0cjxXZWJGaWxlTWFuYWdlckRlbGVnYXRlPiBkZWxlZ2F0ZSA9IGFk
b3B0TlMoW1tXZWJGaWxlTWFuYWdlckRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW21hbmFn
ZXIuZ2V0KCkgc2V0RGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIAorICAgIHJldHVybiBb
bWFuYWdlci5nZXQoKSBtb3ZlSXRlbUF0VVJMOltOU1VSTCBmaWxlVVJMV2l0aFBhdGg6b2xkUGF0
aF0gdG9VUkw6W05TVVJMIGZpbGVVUkxXaXRoUGF0aDpuZXdQYXRoXSBlcnJvcjpuaWxdOwogfQog
CiAjaWYgIVBMQVRGT1JNKElPUykK
</data>
<flag name="review"
          id="275997"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>