Changeset 229480 in webkit
- Timestamp:
- Mar 9, 2018 1:31:02 PM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r229477 r229480 1 2018-03-09 Brent Fulgham <bfulgham@apple.com> 2 3 Remove cookie API access from WebContent Process 4 https://bugs.webkit.org/show_bug.cgi?id=183519 5 <rdar://problem/35368802> 6 7 Reviewed by Alex Christensen. 8 9 All cookie access is now handled in the Network Process. However, there are vestiges of the original logic that used CFNetwork APIs in the WebContent process. 10 11 This patch removes CFNetwork calls from the WebProcess code paths, since they serve no purpose in modern WebKit. 12 13 No tests because this is a code cleanup with no expected change in behavior. 14 15 * NetworkProcess/Cookies/mac/WebCookieManagerMac.mm: 16 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Moved from WebFrameNetworkingContext. 17 * NetworkProcess/NetworkProcess.h: 18 * NetworkProcess/cocoa/NetworkProcessCocoa.mm: 19 (WebKit::NetworkProcess::setSharedHTTPCookieStorage): Moved from ChildProcess, since this should only be 20 called in the NetworkProcess. 21 * Shared/ChildProcess.h: 22 * Shared/mac/ChildProcessMac.mm: 23 (WebKit::ChildProcess::setSharedHTTPCookieStorage): Deleted. 24 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 25 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 26 (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession): Remove CFNetwork code. This version of 27 'ensureWebsiteDataStoreSession' is needed to maintain a dictionary on the WebProcess side so we can refer to 28 the same network session in both the WebContent and Network processes. 29 (WebKit::WebFrameNetworkingContext::webFrameLoaderClient const): 30 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Deleted. 31 * WebProcess/cocoa/WebProcessCocoa.mm: 32 (WebKit::WebProcess::platformInitializeWebProcess): Remove calls to CFNetwork. 33 1 34 2018-03-09 Youenn Fablet <youenn@apple.com> 2 35 -
trunk/Source/WebKit/NetworkProcess/Cookies/mac/WebCookieManagerMac.mm
r229426 r229480 27 27 #import "WebCookieManager.h" 28 28 29 #import "NetworkSession.h" 29 30 #import "WebFrameNetworkingContext.h" 31 #import <WebCore/NetworkStorageSession.h> 32 #import <pal/spi/cf/CFNetworkSPI.h> 30 33 31 34 using namespace WebCore; … … 35 38 void WebCookieManager::platformSetHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy policy) 36 39 { 37 WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts(policy); 40 [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:static_cast<NSHTTPCookieAcceptPolicy>(policy)]; 41 42 NetworkStorageSession::forEach([&] (const NetworkStorageSession& networkStorageSession) { 43 if (auto cookieStorage = networkStorageSession.cookieStorage()) 44 CFHTTPCookieStorageSetCookieAcceptPolicy(cookieStorage.get(), policy); 45 }); 38 46 } 39 47 -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.h
r229201 r229480 1 1 /* 2 * Copyright (C) 2012-201 7Apple Inc. All rights reserved.2 * Copyright (C) 2012-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 236 236 void platformSetURLCacheSize(unsigned urlCacheMemoryCapacity, uint64_t urlCacheDiskCapacity); 237 237 238 #if PLATFORM(MAC) 239 static void setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier); 240 #endif 241 238 242 // Connections to WebProcesses. 239 243 Vector<RefPtr<NetworkConnectionToWebProcess>> m_webProcessConnections; -
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm
r227682 r229480 1 1 /* 2 * Copyright (C) 2014-201 7Apple Inc. All rights reserved.2 * Copyright (C) 2014-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 27 27 #import "NetworkProcess.h" 28 28 29 #import "CookieStorageUtilsCF.h" 29 30 #import "NetworkCache.h" 30 31 #import "NetworkProcessCreationParameters.h" … … 205 206 } 206 207 208 #if PLATFORM(MAC) 209 void NetworkProcess::setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier) 210 { 211 [NSHTTPCookieStorage _setSharedHTTPCookieStorage:adoptNS([[NSHTTPCookieStorage alloc] _initWithCFHTTPCookieStorage:cookieStorageFromIdentifyingData(identifier).get()]).get()]; 212 } 213 #endif 214 207 215 void NetworkProcess::setCookieStoragePartitioningEnabled(bool enabled) 208 216 { -
trunk/Source/WebKit/Shared/ChildProcess.h
r228569 r229480 1 1 /* 2 * Copyright (C) 2010 Apple Inc. All rights reserved.2 * Copyright (C) 2010-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 92 92 virtual void initializeConnection(IPC::Connection*); 93 93 94 #if PLATFORM(MAC)95 static void setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier);96 #endif97 98 94 virtual bool shouldTerminate() = 0; 99 95 virtual void terminate(); -
trunk/Source/WebKit/Shared/mac/ChildProcessMac.mm
r228569 r229480 1 1 /* 2 * Copyright (C) 2012 , 2016Apple Inc. All rights reserved.2 * Copyright (C) 2012-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 30 30 31 31 #import "CodeSigning.h" 32 #import "CookieStorageUtilsCF.h"33 32 #import "QuarantineSPI.h" 34 33 #import "SandboxInitializationParameters.h" … … 37 36 #import <mach/mach.h> 38 37 #import <mach/task.h> 39 #import <pal/spi/cf/CFNetworkSPI.h>40 38 #import <pwd.h> 41 39 #import <stdlib.h> … … 204 202 } 205 203 206 void ChildProcess::setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier)207 {208 [NSHTTPCookieStorage _setSharedHTTPCookieStorage:adoptNS([[NSHTTPCookieStorage alloc] _initWithCFHTTPCookieStorage:cookieStorageFromIdentifyingData(identifier).get()]).get()];209 }210 211 204 #if USE(APPKIT) 212 205 void ChildProcess::stopNSAppRunLoop() -
trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h
r224791 r229480 1 1 /* 2 * Copyright (C) 2013 Apple Inc. All rights reserved.2 * Copyright (C) 2013-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 26 26 #pragma once 27 27 28 #include "HTTPCookieAcceptPolicy.h"29 28 #include "WebFrame.h" 30 29 #include <WebCore/FrameNetworkingContext.h> … … 45 44 static void ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&&); 46 45 47 static void setCookieAcceptPolicyForAllContexts(HTTPCookieAcceptPolicy);48 49 46 WebFrameLoaderClient* webFrameLoaderClient() const; 50 47 -
trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
r229426 r229480 27 27 #include "WebFrameNetworkingContext.h" 28 28 29 #include "CookieStorageUtilsCF.h"30 29 #include "NetworkSession.h" 31 30 #include "SessionTracker.h" … … 40 39 #include <WebCore/ResourceError.h> 41 40 #include <WebCore/Settings.h> 42 #include <pal/spi/cf/CFNetworkSPI.h>43 41 44 42 using namespace WebCore; … … 58 56 base = SessionTracker::getIdentifierBase(); 59 57 60 if (!sessionID.isEphemeral()) 61 SandboxExtension::consumePermanently(parameters.cookieStoragePathExtensionHandle); 62 63 RetainPtr<CFHTTPCookieStorageRef> uiProcessCookieStorage; 64 if (!sessionID.isEphemeral() && !parameters.uiProcessCookieStorageIdentifier.isEmpty()) 65 uiProcessCookieStorage = cookieStorageFromIdentifyingData(parameters.uiProcessCookieStorageIdentifier); 66 67 NetworkStorageSession::ensureSession(sessionID, base + '.' + String::number(sessionID.sessionID()), WTFMove(uiProcessCookieStorage)); 58 NetworkStorageSession::ensureSession(sessionID, base + '.' + String::number(sessionID.sessionID())); 68 59 } 69 60 70 void WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts(HTTPCookieAcceptPolicy policy)71 {72 [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:static_cast<NSHTTPCookieAcceptPolicy>(policy)];73 74 NetworkStorageSession::forEach([&] (const NetworkStorageSession& networkStorageSession) {75 if (auto cookieStorage = networkStorageSession.cookieStorage())76 CFHTTPCookieStorageSetCookieAcceptPolicy(cookieStorage.get(), policy);77 });78 }79 80 61 bool WebFrameNetworkingContext::localFileContentSniffingEnabled() const 81 62 { … … 120 101 { 121 102 if (!frame()) 122 return 0;103 return nullptr; 123 104 124 105 return toWebFrameLoaderClient(frame()->loader().client()); -
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
r229209 r229480 1 1 /* 2 * Copyright (C) 2010-201 7Apple Inc. All rights reserved.2 * Copyright (C) 2010-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 65 65 #import <dispatch/dispatch.h> 66 66 #import <objc/runtime.h> 67 #import <pal/spi/cf/CFNetworkSPI.h>68 67 #import <pal/spi/cocoa/LaunchServicesSPI.h> 69 68 #import <pal/spi/cocoa/QuartzCoreSPI.h> … … 149 148 } 150 149 151 #if PLATFORM(MAC)152 setSharedHTTPCookieStorage(parameters.uiProcessCookieStorageIdentifier);153 #endif154 155 150 auto urlCache = adoptNS([[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil]); 156 151 [NSURLCache setSharedURLCache:urlCache.get()]; … … 183 178 [NSApplication _accessibilityInitialize]; 184 179 #endif 185 186 _CFNetworkSetATSContext(parameters.networkATSContext.get());187 180 188 181 #if TARGET_OS_IPHONE
Note: See TracChangeset
for help on using the changeset viewer.