Changeset 140016 in webkit
- Timestamp:
- Jan 17, 2013, 11:47:00 AM (13 years ago)
- Location:
- tags/Safari-537.26.1/Source
- Files:
-
- 22 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
tags/Safari-537.26.1/Source/WebCore/ChangeLog
r140008 r140016 1 2013-01-17 Lucas Forschler <lforschler@apple.com> 2 3 Merge r139935 4 5 2013-01-16 Brady Eidson <beidson@apple.com> 6 7 Synchronous XMLHTTPRequests need to go to the NetworkProcess. 8 <rdar://problem/12951765> and https://bugs.webkit.org/show_bug.cgi?id=106826 9 10 Reviewed by Sam Weinig and Alexey Proskuryakov. 11 12 No new tests (No changes to any config that is currently tested) 13 14 * loader/FrameLoader.cpp: 15 (WebCore::FrameLoader::loadResourceSynchronously): Consult the LoaderStrategy when strategies are 16 being used. 17 18 * loader/LoaderStrategy.cpp: 19 (WebCore::LoaderStrategy::loadResourceSynchronously): Defaults to using ResourceHandle directly. 20 * loader/LoaderStrategy.h: 21 22 Break out the StoredCredentials enum to a new header: 23 * platform/network/ResourceHandle.h: 24 * platform/network/ResourceHandleTypes.h: 25 * GNUmakefile.list.am: 26 * Target.pri: 27 * WebCore.exp.in: 28 * WebCore.vcproj/WebCore.vcproj: 29 * WebCore.xcodeproj/project.pbxproj: 30 1 31 2013-01-17 Lucas Forschler <lforschler@apple.com> 2 32 -
tags/Safari-537.26.1/Source/WebCore/GNUmakefile.list.am
r139611 r140016 5806 5806 Source/WebCore/platform/network/ResourceHandle.h \ 5807 5807 Source/WebCore/platform/network/ResourceHandleInternal.h \ 5808 Source/WebCore/platform/network/ResourceHandleTypes.h \ 5808 5809 Source/WebCore/platform/network/ResourceLoadInfo.h \ 5809 5810 Source/WebCore/platform/network/ResourceLoadPriority.h \ -
tags/Safari-537.26.1/Source/WebCore/Target.pri
r139533 r140016 2303 2303 platform/network/ResourceErrorBase.h \ 2304 2304 platform/network/ResourceHandle.h \ 2305 platform/network/ResourceHandleTypes.h \ 2305 2306 platform/network/ResourceLoadInfo.h \ 2306 2307 platform/network/ResourceLoadPriority.h \ -
tags/Safari-537.26.1/Source/WebCore/WebCore.exp.in
r140000 r140016 285 285 __ZN7WebCore14FrameSelectionC1EPNS_5FrameE 286 286 __ZN7WebCore14LoaderStrategy21resourceLoadSchedulerEv 287 __ZN7WebCore14LoaderStrategy25loadResourceSynchronouslyEPNS_17NetworkingContextERKNS_15ResourceRequestENS_17StoredCredentialsERNS_13ResourceErrorERNS_16ResourceResponseERN3WTF6VectorIcLm0EEE 287 288 __ZN7WebCore14PluginDocument10pluginNodeEv 288 289 __ZNK7WebCore5Frame25trackedRepaintRectsAsTextEv … … 298 299 __ZN7WebCore14ResourceBufferD2Ev 299 300 __ZN7WebCore14ResourceHandle20forceContentSniffingEv 301 __ZN7WebCore14ResourceHandle25loadResourceSynchronouslyEPNS_17NetworkingContextERKNS_15ResourceRequestENS_17StoredCredentialsERNS_13ResourceErrorERNS_16ResourceResponseERN3WTF6VectorIcLm0EEE 300 302 __ZN7WebCore14ResourceHandle26synchronousLoadRunLoopModeEv 301 303 __ZN7WebCore14ResourceHandle6createEPNS_17NetworkingContextERKNS_15ResourceRequestEPNS_20ResourceHandleClientEbb -
tags/Safari-537.26.1/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r139533 r140016 32738 32738 </File> 32739 32739 <File 32740 RelativePath="..\platform\network\ResourceHandleTypes.h" 32741 > 32742 </File> 32743 <File 32740 32744 RelativePath="..\platform\network\ResourceHandleClient.h" 32741 32745 > -
tags/Safari-537.26.1/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r139533 r140016 1658 1658 51E3F9C70DA059DC00250911 /* Storage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51E3F9C50DA059DC00250911 /* Storage.cpp */; }; 1659 1659 51E3F9D60DA05E1D00250911 /* JSStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51E3F9D40DA05E1D00250911 /* JSStorage.cpp */; }; 1660 51E4143416A6596300C633C7 /* ResourceHandleTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E4143216A6595100C633C7 /* ResourceHandleTypes.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1660 1661 51E6821016387302003BBF3C /* LoaderStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E6820F16387302003BBF3C /* LoaderStrategy.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1661 1662 51EC92650CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51EC925D0CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp */; }; … … 8985 8986 51E3F9D40DA05E1D00250911 /* JSStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSStorage.cpp; sourceTree = "<group>"; }; 8986 8987 51E3F9D50DA05E1D00250911 /* JSStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSStorage.h; sourceTree = "<group>"; }; 8988 51E4143216A6595100C633C7 /* ResourceHandleTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceHandleTypes.h; sourceTree = "<group>"; }; 8987 8989 51E6820F16387302003BBF3C /* LoaderStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoaderStrategy.h; sourceTree = "<group>"; }; 8988 8990 51EC925D0CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCustomSQLStatementErrorCallback.cpp; sourceTree = "<group>"; }; … … 15927 15929 514C76650CE923A1007EF3CD /* ResourceHandleClient.h */, 15928 15930 514C76660CE923A1007EF3CD /* ResourceHandleInternal.h */, 15931 51E4143216A6595100C633C7 /* ResourceHandleTypes.h */, 15929 15932 492863981253B8FC00F792D6 /* ResourceLoadInfo.h */, 15930 15933 E4295FA312B0614E00D1ACE0 /* ResourceLoadPriority.h */, … … 26107 26110 977E2E0F12F0FC9C00C13379 /* XSSAuditor.h in Headers */, 26108 26111 FD537353137B651800008DCE /* ZeroPole.h in Headers */, 26112 51E4143416A6596300C633C7 /* ResourceHandleTypes.h in Headers */, 26109 26113 ); 26110 26114 runOnlyForDeploymentPostprocessing = 0; -
tags/Safari-537.26.1/Source/WebCore/loader/FrameLoader.cpp
r139589 r140016 77 77 #include "InspectorController.h" 78 78 #include "InspectorInstrumentation.h" 79 #include "LoaderStrategy.h" 79 80 #include "Logging.h" 80 81 #include "MIMETypeRegistry.h" … … 83 84 #include "PageCache.h" 84 85 #include "PageTransitionEvent.h" 86 #include "PlatformStrategies.h" 85 87 #include "PluginData.h" 86 88 #include "PluginDatabase.h" … … 2582 2584 2583 2585 if (!documentLoader()->applicationCacheHost()->maybeLoadSynchronously(newRequest, error, response, data)) { 2586 #if USE(PLATFORM_STRATEGIES) 2587 platformStrategies()->loaderStrategy()->loadResourceSynchronously(networkingContext(), newRequest, storedCredentials, error, response, data); 2588 #else 2584 2589 ResourceHandle::loadResourceSynchronously(networkingContext(), newRequest, storedCredentials, error, response, data); 2590 #endif 2585 2591 documentLoader()->applicationCacheHost()->maybeLoadFallbackSynchronously(newRequest, error, response, data); 2586 2592 } -
tags/Safari-537.26.1/Source/WebCore/loader/LoaderStrategy.cpp
r132501 r140016 27 27 #include "LoaderStrategy.h" 28 28 29 #include "ResourceHandle.h" 29 30 #include "ResourceLoadScheduler.h" 30 31 … … 38 39 } 39 40 41 void LoaderStrategy::loadResourceSynchronously(NetworkingContext* context, const ResourceRequest& request, StoredCredentials storedCredentials, ResourceError& error, ResourceResponse& response, Vector<char>& data) 42 { 43 ResourceHandle::loadResourceSynchronously(context, request, storedCredentials, error, response, data); 44 } 45 40 46 } // namespace WebCore 41 47 -
tags/Safari-537.26.1/Source/WebCore/loader/LoaderStrategy.h
r132501 r140016 29 29 #if USE(PLATFORM_STRATEGIES) 30 30 31 #include "ResourceHandleTypes.h" 32 #include <wtf/Vector.h> 33 31 34 namespace WebCore { 32 35 36 class NetworkingContext; 37 class ResourceError; 33 38 class ResourceLoadScheduler; 39 class ResourceRequest; 40 class ResourceResponse; 34 41 35 42 class LoaderStrategy { 36 43 public: 37 44 virtual ResourceLoadScheduler* resourceLoadScheduler(); 45 46 virtual void loadResourceSynchronously(NetworkingContext*, const ResourceRequest&, StoredCredentials, ResourceError&, ResourceResponse&, Vector<char>& data); 38 47 39 48 protected: -
tags/Safari-537.26.1/Source/WebCore/platform/network/ResourceHandle.h
r138962 r140016 29 29 #include "AuthenticationClient.h" 30 30 #include "HTTPHeaderMap.h" 31 #include "ResourceHandleTypes.h" 31 32 #include <wtf/OwnPtr.h> 32 33 #include <wtf/RefCounted.h> … … 89 90 class SharedBuffer; 90 91 91 enum StoredCredentials {92 AllowStoredCredentials,93 DoNotAllowStoredCredentials94 };95 96 92 template <typename T> class Timer; 97 93 -
tags/Safari-537.26.1/Source/WebKit2/ChangeLog
r140013 r140016 1 2013-01-17 Lucas Forschler <lforschler@apple.com> 2 3 Merge r139935 4 5 2013-01-16 Brady Eidson <beidson@apple.com> 6 7 Synchronous XMLHTTPRequests need to go to the NetworkProcess. 8 <rdar://problem/12951765> and https://bugs.webkit.org/show_bug.cgi?id=106826 9 10 Reviewed by Sam Weinig and Alexey Proskuryakov. 11 12 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 13 (WebKit::WebPlatformStrategies::loadResourceSynchronously): Entry point for WebCore to get 14 synchronous requests to the NetworkProcess. 15 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 16 17 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 18 (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): Create a SyncNetworkResourceLoader 19 and schedule it. 20 * NetworkProcess/NetworkConnectionToWebProcess.h: 21 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 22 23 * NetworkProcess/NetworkResourceLoadScheduler.cpp: 24 (WebKit::NetworkResourceLoadScheduler::scheduleSyncNetworkResourceLoader): 25 (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve synchronous loaders 26 before async loaders. 27 * NetworkProcess/NetworkResourceLoadScheduler.h: 28 29 A class that encapsulates a synchronous load request and the CoreIPC reply to be made once it is complete: 30 * NetworkProcess/SyncNetworkResourceLoader.cpp: Added. 31 (WebKit::SyncNetworkResourceLoader::SyncNetworkResourceLoader): 32 (WebKit::SyncNetworkResourceLoader::start): 33 * NetworkProcess/SyncNetworkResourceLoader.h: Copied from Source/WebKit2/NetworkProcess/HostRecord.h. 34 (WebKit::SyncNetworkResourceLoader::create): 35 (WebKit::SyncNetworkResourceLoader::setIdentifier): 36 (WebKit::SyncNetworkResourceLoader::identifier): 37 (WebKit::SyncNetworkResourceLoader::loadParameters): 38 39 Add a second queue of sync loaders: 40 * NetworkProcess/HostRecord.h: 41 (WebKit::HostRecord::syncLoadersPending): 42 43 Add comments to explicitly spell out the current reliance on some messages that are currently synchronous: 44 * NetworkProcess/NetworkResourceLoader.cpp: 45 (WebKit::NetworkResourceLoader::willSendRequest): 46 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace): 47 48 * WebKit2.xcodeproj/project.pbxproj: 49 1 50 2013-01-17 Lucas Forschler <lforschler@apple.com> 2 51 -
tags/Safari-537.26.1/Source/WebKit2/NetworkProcess/HostRecord.cpp
r134481 r140016 33 33 #include "NetworkResourceLoadScheduler.h" 34 34 #include "NetworkResourceLoader.h" 35 #include "SyncNetworkResourceLoader.h" 35 36 36 37 #if ENABLE(NETWORK_PROCESS) -
tags/Safari-537.26.1/Source/WebKit2/NetworkProcess/HostRecord.h
r134481 r140016 37 37 38 38 class NetworkResourceLoader; 39 class SyncNetworkResourceLoader; 39 40 typedef uint64_t ResourceLoadIdentifier; 40 41 … … 55 56 LoaderQueue& loadersPending(WebCore::ResourceLoadPriority priority) { return m_loadersPending[priority]; } 56 57 58 typedef Deque<RefPtr<SyncNetworkResourceLoader> > SyncLoaderQueue; 59 SyncLoaderQueue& syncLoadersPending() { return m_syncLoadersPending; } 60 57 61 private: 58 62 LoaderQueue m_loadersPending[WebCore::ResourceLoadPriorityHighest + 1]; 59 63 typedef HashSet<ResourceLoadIdentifier> ResourceLoadIdentifierSet; 60 64 ResourceLoadIdentifierSet m_resourceIdentifiersLoading; 65 66 SyncLoaderQueue m_syncLoadersPending; 67 HashSet<RefPtr<SyncNetworkResourceLoader> > m_syncLoadersLoading; 61 68 62 69 const String m_name; -
tags/Safari-537.26.1/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp
r139516 r140016 31 31 #include "NetworkResourceLoader.h" 32 32 #include "RemoteNetworkingContext.h" 33 #include "SyncNetworkResourceLoader.h" 33 34 #include <WebCore/PlatformCookieJar.h> 34 35 #include <WebCore/ResourceLoaderOptions.h> … … 121 122 } 122 123 124 void NetworkConnectionToWebProcess::performSynchronousLoad(const NetworkResourceLoadParameters& loadParameters, PassRefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply> reply) 125 { 126 NetworkProcess::shared().networkResourceLoadScheduler().scheduleSyncNetworkResourceLoader(SyncNetworkResourceLoader::create(loadParameters, reply)); 127 } 128 123 129 void NetworkConnectionToWebProcess::addLoadInProgress(const KURL& url, ResourceLoadIdentifier& identifier) 124 130 { -
tags/Safari-537.26.1/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h
r139516 r140016 77 77 78 78 void scheduleResourceLoad(const NetworkResourceLoadParameters&, ResourceLoadIdentifier&); 79 void performSynchronousLoad(const NetworkResourceLoadParameters&, PassRefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>); 80 79 81 void addLoadInProgress(const WebCore::KURL&, ResourceLoadIdentifier&); 80 82 void removeLoadIdentifier(ResourceLoadIdentifier); -
tags/Safari-537.26.1/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in
r138301 r140016 30 30 // We might also have the NetworkProcess divvy up identifiers in blocks to each WebProcess beforehand. 31 31 ScheduleResourceLoad(WebKit::NetworkResourceLoadParameters resourceLoadParameters) -> (uint64_t resourceLoadIdentifier) 32 PerformSynchronousLoad(WebKit::NetworkResourceLoadParameters resourceLoadParameters) -> (WebCore::ResourceError error, WebCore::ResourceResponse response, CoreIPC::DataReference data) Delayed 32 33 AddLoadInProgress(WebCore::KURL url) -> (uint64_t resourceLoadIdentifier) 33 34 RemoveLoadIdentifier(uint64_t resourceLoadIdentifier) -
tags/Safari-537.26.1/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.cpp
r139672 r140016 8 8 #include "NetworkResourceLoadParameters.h" 9 9 #include "NetworkResourceLoader.h" 10 #include "SyncNetworkResourceLoader.h" 10 11 #include <wtf/MainThread.h> 11 12 #include <wtf/text/CString.h> … … 66 67 scheduleServePendingRequests(); 67 68 return identifier; 69 } 70 71 void NetworkResourceLoadScheduler::scheduleSyncNetworkResourceLoader(PassRefPtr<SyncNetworkResourceLoader> loader) 72 { 73 // FIXME (NetworkProcess): Sync loaders need to get identifiers in a sane way. 74 ResourceLoadIdentifier identifier = ++s_currentResourceLoadIdentifier; 75 loader->setIdentifier(identifier); 76 77 const ResourceRequest& resourceRequest = loader->loadParameters().request(); 78 79 LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::scheduleSyncNetworkResourceLoader synchronous resource '%s'", resourceRequest.url().string().utf8().data()); 80 81 HostRecord* host = hostForURL(resourceRequest.url(), CreateIfNotFound); 82 bool hadRequests = host->hasRequests(); 83 host->syncLoadersPending().append(loader); 84 m_identifiers.add(identifier, host); 85 86 if (!hadRequests) 87 servePendingRequestsForHost(host, ResourceLoadPriorityHighest); 88 89 scheduleServePendingRequests(); 68 90 } 69 91 … … 171 193 LOG(NetworkScheduling, "NetworkResourceLoadScheduler::servePendingRequests Host name='%s'", host->name().utf8().data()); 172 194 195 // We serve synchronous requests before any other requests to improve responsiveness in any 196 // WebProcess that is waiting on a synchronous load. 197 HostRecord::SyncLoaderQueue& syncLoadersPending = host->syncLoadersPending(); 198 while (!syncLoadersPending.isEmpty()) { 199 RefPtr<SyncNetworkResourceLoader> loader = syncLoadersPending.first(); 200 201 // FIXME (NetworkProcess): How do we know this synchronous load isn't associated with a WebProcess 202 // we've lost our connection to? 203 bool shouldLimitRequests = !host->name().isNull(); 204 if (shouldLimitRequests && host->limitRequests(ResourceLoadPriorityHighest, false)) 205 return; 206 207 syncLoadersPending.removeFirst(); 208 host->addLoadInProgress(loader->identifier()); 209 210 loader->start(); 211 } 212 173 213 for (int priority = ResourceLoadPriorityHighest; priority >= minimumPriority; --priority) { 174 214 HostRecord::LoaderQueue& loadersPending = host->loadersPending(ResourceLoadPriority(priority)); -
tags/Safari-537.26.1/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.h
r139672 r140016 40 40 class NetworkResourceLoadParameters; 41 41 class NetworkConnectionToWebProcess; 42 class SyncNetworkResourceLoader; 42 43 typedef uint64_t ResourceLoadIdentifier; 43 44 … … 50 51 // Adds the request to the queue for its host and create a unique identifier for it. 51 52 ResourceLoadIdentifier scheduleResourceLoad(const NetworkResourceLoadParameters&, NetworkConnectionToWebProcess*); 53 54 // Adds a synchronous request to the synchronous request queue for its host. 55 void scheduleSyncNetworkResourceLoader(PassRefPtr<SyncNetworkResourceLoader>); 52 56 53 57 // Creates a unique identifier for an already-in-progress load. -
tags/Safari-537.26.1/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp
r139516 r140016 189 189 ASSERT(!isMainThread()); 190 190 191 // IMPORTANT: The fact that this message to the WebProcess is sync is what makes our current approach to synchronous XMLHttpRequests safe. 192 // If this message changes to be asynchronous we might introduce a situation where the NetworkProcess is deadlocked waiting for 6 connections 193 // to complete while the WebProcess is waiting for a 7th to complete. 194 // If we ever change this message to be asynchronous we have to include safeguards to make sure the new design interacts well with sync XHR. 191 195 if (!sendSync(Messages::WebResourceLoader::WillSendRequest(request, redirectResponse), Messages::WebResourceLoader::WillSendRequest::Reply(request))) 192 196 request = ResourceRequest(); … … 288 292 ASSERT(!isMainThread()); 289 293 294 // IMPORTANT: The fact that this message to the WebProcess is sync is what makes our current approach to synchronous XMLHttpRequests safe. 295 // If this message changes to be asynchronous we might introduce a situation where the NetworkProcess is deadlocked waiting for 6 connections 296 // to complete while the WebProcess is waiting for a 7th to complete. 297 // If we ever change this message to be asynchronous we have to include safeguards to make sure the new design interacts well with sync XHR. 290 298 bool result; 291 299 if (!sendSync(Messages::WebResourceLoader::CanAuthenticateAgainstProtectionSpace(protectionSpace), Messages::WebResourceLoader::CanAuthenticateAgainstProtectionSpace::Reply(result))) -
tags/Safari-537.26.1/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
r140009 r140016 469 469 517CF0E3163A486C00C2950E /* NetworkProcessConnectionMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 517CF0E1163A486C00C2950E /* NetworkProcessConnectionMessageReceiver.cpp */; }; 470 470 517CF0E4163A486C00C2950E /* NetworkProcessConnectionMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 517CF0E2163A486C00C2950E /* NetworkProcessConnectionMessages.h */; }; 471 51815B9F16A622210054501F /* SyncNetworkResourceLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51815B9D16A622210054501F /* SyncNetworkResourceLoader.cpp */; }; 472 51815BA016A622210054501F /* SyncNetworkResourceLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 51815B9E16A622210054501F /* SyncNetworkResourceLoader.h */; }; 471 473 51829DA51637C70C000953D6 /* NetworkResourceLoadScheduler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51829DA31637C70C000953D6 /* NetworkResourceLoadScheduler.cpp */; }; 472 474 51829DA61637C70C000953D6 /* NetworkResourceLoadScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 51829DA41637C70C000953D6 /* NetworkResourceLoadScheduler.h */; }; … … 1735 1737 517CF0E1163A486C00C2950E /* NetworkProcessConnectionMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkProcessConnectionMessageReceiver.cpp; sourceTree = "<group>"; }; 1736 1738 517CF0E2163A486C00C2950E /* NetworkProcessConnectionMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkProcessConnectionMessages.h; sourceTree = "<group>"; }; 1739 51815B9D16A622210054501F /* SyncNetworkResourceLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SyncNetworkResourceLoader.cpp; path = NetworkProcess/SyncNetworkResourceLoader.cpp; sourceTree = "<group>"; }; 1740 51815B9E16A622210054501F /* SyncNetworkResourceLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SyncNetworkResourceLoader.h; path = NetworkProcess/SyncNetworkResourceLoader.h; sourceTree = "<group>"; }; 1737 1741 51829DA31637C70C000953D6 /* NetworkResourceLoadScheduler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkResourceLoadScheduler.cpp; path = NetworkProcess/NetworkResourceLoadScheduler.cpp; sourceTree = "<group>"; }; 1738 1742 51829DA41637C70C000953D6 /* NetworkResourceLoadScheduler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkResourceLoadScheduler.h; path = NetworkProcess/NetworkResourceLoadScheduler.h; sourceTree = "<group>"; }; … … 3198 3202 51829DA31637C70C000953D6 /* NetworkResourceLoadScheduler.cpp */, 3199 3203 51829DA41637C70C000953D6 /* NetworkResourceLoadScheduler.h */, 3204 51815B9D16A622210054501F /* SyncNetworkResourceLoader.cpp */, 3205 51815B9E16A622210054501F /* SyncNetworkResourceLoader.h */, 3200 3206 ); 3201 3207 name = NetworkProcess; … … 5078 5084 E179088F169BAA6A006904C7 /* SecItemShim.h in Headers */, 5079 5085 E1790891169BAA82006904C7 /* SecItemShimMessages.h in Headers */, 5086 51815BA016A622210054501F /* SyncNetworkResourceLoader.h in Headers */, 5080 5087 ); 5081 5088 runOnlyForDeploymentPostprocessing = 0; … … 6058 6065 E179088D169BAA62006904C7 /* SecItemShim.cpp in Sources */, 6059 6066 E1790890169BAA7F006904C7 /* SecItemShimMessageReceiver.cpp in Sources */, 6067 51815B9F16A622210054501F /* SyncNetworkResourceLoader.cpp in Sources */, 6060 6068 ); 6061 6069 runOnlyForDeploymentPostprocessing = 0; -
tags/Safari-537.26.1/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
r139023 r140016 30 30 31 31 #include "BlockingResponseMap.h" 32 #include "DataReference.h" 33 #include "NetworkResourceLoadParameters.h" 32 34 #include "PluginInfoStore.h" 33 35 #include "WebContextMessages.h" 34 36 #include "WebCookieManager.h" 35 37 #include "WebCoreArgumentCoders.h" 38 #include "WebErrors.h" 36 39 #include "WebProcess.h" 37 40 #include "WebProcessProxyMessages.h" … … 40 43 #include <WebCore/LoaderStrategy.h> 41 44 #include <WebCore/NetworkStorageSession.h> 45 #include <WebCore/NetworkingContext.h> 42 46 #include <WebCore/Page.h> 43 47 #include <WebCore/PlatformCookieJar.h> 44 48 #include <WebCore/PlatformPasteboard.h> 49 #include <WebCore/ResourceError.h> 45 50 #include <wtf/Atomics.h> 46 51 … … 209 214 return scheduler; 210 215 } 216 217 void WebPlatformStrategies::loadResourceSynchronously(NetworkingContext* context, const ResourceRequest& request, StoredCredentials storedCredentials, ResourceError& error, ResourceResponse& response, Vector<char>& data) 218 { 219 CoreIPC::DataReference dataReference; 220 221 NetworkResourceLoadParameters loadParameters(request, ResourceLoadPriorityHighest, SniffContent, storedCredentials, context->storageSession().isPrivateBrowsingSession()); 222 if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad(loadParameters), Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::Reply(error, response, dataReference), 0)) { 223 response = ResourceResponse(); 224 error = internalError(request.url()); 225 data.resize(0); 226 227 return; 228 } 229 230 data.resize(dataReference.size()); 231 memcpy(data.data(), dataReference.data(), dataReference.size()); 232 } 233 211 234 #endif 212 235 -
tags/Safari-537.26.1/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h
r138427 r140016 72 72 #if ENABLE(NETWORK_PROCESS) 73 73 virtual WebCore::ResourceLoadScheduler* resourceLoadScheduler() OVERRIDE; 74 virtual void loadResourceSynchronously(WebCore::NetworkingContext*, const WebCore::ResourceRequest&, WebCore::StoredCredentials, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>& data) OVERRIDE; 74 75 #endif 75 76
Note:
See TracChangeset
for help on using the changeset viewer.