Title: [284651] trunk/Source/WebKit
Revision
284651
Author
cdu...@apple.com
Date
2021-10-21 15:45:19 -0700 (Thu, 21 Oct 2021)

Log Message

Call to [NSURL URLByAppendingPathComponent:] under NetworkSessionCocoa() may be inefficient
https://bugs.webkit.org/show_bug.cgi?id=232098

Reviewed by Alex Christensen.

Call [NSURL URLByAppendingPathComponent:isDirectory:] whenever possible instead of
[NSURL URLByAppendingPathComponent], as it is more efficient.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
* UIProcess/Cocoa/WKShareSheet.mm:
(+[WKShareSheet createRandomSharingDirectoryForFile:]):
(+[WKShareSheet writeFileToShareableURL:data:temporaryDirectory:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (284650 => 284651)


--- trunk/Source/WebKit/ChangeLog	2021-10-21 22:35:59 UTC (rev 284650)
+++ trunk/Source/WebKit/ChangeLog	2021-10-21 22:45:19 UTC (rev 284651)
@@ -1,3 +1,19 @@
+2021-10-21  Chris Dumez  <cdu...@apple.com>
+
+        Call to [NSURL URLByAppendingPathComponent:] under NetworkSessionCocoa() may be inefficient
+        https://bugs.webkit.org/show_bug.cgi?id=232098
+
+        Reviewed by Alex Christensen.
+
+        Call [NSURL URLByAppendingPathComponent:isDirectory:] whenever possible instead of
+        [NSURL URLByAppendingPathComponent], as it is more efficient.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
+        * UIProcess/Cocoa/WKShareSheet.mm:
+        (+[WKShareSheet createRandomSharingDirectoryForFile:]):
+        (+[WKShareSheet writeFileToShareableURL:data:temporaryDirectory:]):
+
 2021-10-21  John Wilander  <wilan...@apple.com>
 
         PCM: Add temporary logging when isRunningTest() assertion is about to fail to be able to investigate

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (284650 => 284651)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2021-10-21 22:35:59 UTC (rev 284650)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2021-10-21 22:45:19 UTC (rev 284651)
@@ -1282,7 +1282,7 @@
 #if HAVE(CFNETWORK_ALTERNATIVE_SERVICE)
     if (!parameters.alternativeServiceDirectory.isEmpty()) {
         SandboxExtension::consumePermanently(parameters.alternativeServiceDirectoryExtensionHandle);
-        configuration._alternativeServicesStorage = adoptNS([[_NSHTTPAlternativeServicesStorage alloc] initPersistentStoreWithURL:[[NSURL fileURLWithPath:parameters.alternativeServiceDirectory isDirectory:YES] URLByAppendingPathComponent:@"AlternativeService.sqlite"]]).get();
+        configuration._alternativeServicesStorage = adoptNS([[_NSHTTPAlternativeServicesStorage alloc] initPersistentStoreWithURL:[[NSURL fileURLWithPath:parameters.alternativeServiceDirectory isDirectory:YES] URLByAppendingPathComponent:@"AlternativeService.sqlite" isDirectory:NO]]).get();
     }
     if (parameters.http3Enabled)
         configuration._allowsHTTP3 = YES;

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm (284650 => 284651)


--- trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm	2021-10-21 22:35:59 UTC (rev 284650)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm	2021-10-21 22:45:19 UTC (rev 284651)
@@ -329,7 +329,7 @@
     NSString *randomDirectory = createCanonicalUUIDString();
     if (![randomDirectory length] || !temporaryDirectory)
         return nil;
-    NSURL *dataPath = [temporaryDirectory URLByAppendingPathComponent:randomDirectory];
+    NSURL *dataPath = [temporaryDirectory URLByAppendingPathComponent:randomDirectory isDirectory:YES];
     
     if (![[NSFileManager defaultManager] createDirectoryAtURL:dataPath withIntermediateDirectories:NO attributes:nil error:nil])
         return nil;
@@ -346,7 +346,7 @@
     if (!temporaryDirectoryForFile)
         return nil;
     
-    NSURL *fileURL = [temporaryDirectoryForFile URLByAppendingPathComponent:fileName];
+    NSURL *fileURL = [temporaryDirectoryForFile URLByAppendingPathComponent:fileName isDirectory:NO];
 
     if (![fileData writeToURL:fileURL options:NSDataWritingAtomic error:nil])
         return nil;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to