Changeset 172927 in webkit
- Timestamp:
- Aug 25, 2014, 11:04:39 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/CMakeLists.txt
r172516 r172927 147 147 set(WebKit2_SOURCES 148 148 NetworkProcess/AsynchronousNetworkLoaderClient.cpp 149 NetworkProcess/HostRecord.cpp150 149 NetworkProcess/NetworkConnectionToWebProcess.cpp 151 150 NetworkProcess/NetworkProcess.cpp -
trunk/Source/WebKit2/ChangeLog
r172920 r172927 1 2014-08-25 Antti Koivisto <antti@apple.com> 2 3 Remove load scheduling code from network process 4 https://bugs.webkit.org/show_bug.cgi?id=136199 5 6 Reviewed by Darin Adler. 7 8 Most platforms just flush resource loads directly to the networking layer by 9 making the parallel load count large. Also we always pass ResourceLoadPriorityHighest 10 to the scheduler so no actual scheduling happens. This is effectively dead code. 11 12 Keep basic support for serializing loads. This is only used for testing. 13 14 * NetworkProcess/HostRecord.cpp: Removed. 15 * NetworkProcess/HostRecord.h: Removed. 16 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 17 (WebKit::NetworkConnectionToWebProcess::servePendingRequests): 18 * NetworkProcess/NetworkProcess.cpp: 19 (WebKit::NetworkProcess::getNetworkProcessStatistics): 20 * NetworkProcess/NetworkResourceLoadScheduler.cpp: 21 (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler): 22 (WebKit::NetworkResourceLoadScheduler::scheduleLoader): 23 (WebKit::NetworkResourceLoadScheduler::removeLoader): 24 (WebKit::NetworkResourceLoadScheduler::loadsPendingCount): 25 (WebKit::NetworkResourceLoadScheduler::loadsActiveCount): 26 (WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests): Deleted. 27 (WebKit::NetworkResourceLoadScheduler::requestTimerFired): Deleted. 28 (WebKit::NetworkResourceLoadScheduler::hostForURL): Deleted. 29 (WebKit::NetworkResourceLoadScheduler::receivedRedirect): Deleted. 30 (WebKit::NetworkResourceLoadScheduler::servePendingRequests): Deleted. 31 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): Deleted. 32 (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader): Deleted. 33 (WebKit::NetworkResourceLoadScheduler::hostsPendingCount): Deleted. 34 (WebKit::NetworkResourceLoadScheduler::hostsActiveCount): Deleted. 35 * NetworkProcess/NetworkResourceLoadScheduler.h: 36 * NetworkProcess/NetworkResourceLoader.cpp: 37 (WebKit::NetworkResourceLoader::~NetworkResourceLoader): 38 (WebKit::NetworkResourceLoader::cleanup): 39 (WebKit::NetworkResourceLoader::continueWillSendRequest): 40 * NetworkProcess/NetworkResourceLoader.h: 41 (WebKit::NetworkResourceLoader::isLoadingMainResource): 42 (WebKit::NetworkResourceLoader::setHostRecord): Deleted. 43 (WebKit::NetworkResourceLoader::hostRecord): Deleted. 44 * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: 45 (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings): 46 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted. 47 * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp: 48 (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings): 49 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted. 50 * WebKit2.xcodeproj/project.pbxproj: 51 1 52 2014-08-25 Carlos Garcia Campos <cgarcia@igalia.com> 2 53 -
trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp
r170774 r172927 146 146 } 147 147 148 void NetworkConnectionToWebProcess::servePendingRequests(uint32_t resourceLoadPriority) 149 { 150 NetworkProcess::shared().networkResourceLoadScheduler().servePendingRequests(static_cast<ResourceLoadPriority>(resourceLoadPriority)); 148 void NetworkConnectionToWebProcess::servePendingRequests(uint32_t) 149 { 151 150 } 152 151 -
trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp
r170100 r172927 259 259 StatisticsData data; 260 260 261 data.statisticsNumbers.set("HostsPendingCount", scheduler.hostsPendingCount());262 data.statisticsNumbers.set("HostsActiveCount", scheduler.hostsActiveCount());263 261 data.statisticsNumbers.set("LoadsPendingCount", scheduler.loadsPendingCount()); 264 262 data.statisticsNumbers.set("LoadsActiveCount", scheduler.loadsActiveCount()); -
trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.cpp
r164255 r172927 2 2 #include "NetworkResourceLoadScheduler.h" 3 3 4 #include "HostRecord.h"5 4 #include "Logging.h" 5 #include "NetworkConnectionToWebProcess.h" 6 6 #include "NetworkProcess.h" 7 7 #include "NetworkResourceLoadParameters.h" … … 16 16 namespace WebKit { 17 17 18 static const unsigned maxRequestsInFlightForNonHTTPProtocols = 20;19 20 18 NetworkResourceLoadScheduler::NetworkResourceLoadScheduler() 21 : m_nonHTTPProtocolHost(HostRecord::create(String(), maxRequestsInFlightForNonHTTPProtocols))22 , m_requestTimer(this, &NetworkResourceLoadScheduler::requestTimerFired)23 24 19 { 25 platformInitializeMaximumHTTPConnectionCountPerHost(); 26 } 27 28 void NetworkResourceLoadScheduler::scheduleServePendingRequests() 29 { 30 if (!m_requestTimer.isActive()) 31 m_requestTimer.startOneShot(0); 32 } 33 34 void NetworkResourceLoadScheduler::requestTimerFired(WebCore::Timer<NetworkResourceLoadScheduler>*) 35 { 36 servePendingRequests(); 20 platformInitializeNetworkSettings(); 37 21 } 38 22 39 23 void NetworkResourceLoadScheduler::scheduleLoader(PassRefPtr<NetworkResourceLoader> loader) 40 24 { 41 ResourceLoadPriority priority = loader->priority(); 42 const ResourceRequest& resourceRequest = loader->request(); 43 44 LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::scheduleLoader resource '%s'", resourceRequest.url().string().utf8().data()); 25 ASSERT(RunLoop::isMain()); 45 26 46 HostRecord* host = hostForURL(resourceRequest.url(), CreateIfNotFound); 47 bool hadRequests = host->hasRequests(); 48 host->scheduleResourceLoader(loader); 27 LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::scheduleLoader resource '%s'", loader->request().url().string().utf8().data()); 49 28 50 if (priority > ResourceLoadPriorityLow || !resourceRequest.url().protocolIsInHTTPFamily() || (priority == ResourceLoadPriorityLow && !hadRequests)) { 51 // Try to request important resources immediately. 52 host->servePendingRequests(priority); 29 // This request might be from WebProcess we've lost our connection to. 30 // If so we should just skip it. 31 if (!loader->connectionToWebProcess()) 32 return; 33 34 if (loader->connectionToWebProcess()->isSerialLoadingEnabled() && !m_activeLoaders.isEmpty()) { 35 m_pendingSerialLoaders.append(loader); 53 36 return; 54 37 } 55 56 // Handle asynchronously so early low priority requests don't get scheduled before later high priority ones. 57 scheduleServePendingRequests(); 58 } 38 m_activeLoaders.add(loader.get()); 59 39 60 HostRecord* NetworkResourceLoadScheduler::hostForURL(const WebCore::URL& url, CreateHostPolicy createHostPolicy) 61 { 62 if (!url.protocolIsInHTTPFamily()) 63 return m_nonHTTPProtocolHost.get(); 64 65 m_hosts.checkConsistency(); 66 String hostName = url.host(); 67 HostRecord* host = m_hosts.get(hostName); 68 if (!host && createHostPolicy == CreateIfNotFound) { 69 RefPtr<HostRecord> newHost = HostRecord::create(hostName, m_maxRequestsInFlightPerHost); 70 host = newHost.get(); 71 m_hosts.add(hostName, newHost.release()); 72 } 73 74 return host; 40 loader->start(); 75 41 } 76 42 … … 78 44 { 79 45 ASSERT(RunLoop::isMain()); 80 ASSERT(loader);81 46 82 LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::removeLoad Identifier removing loader %s", loader->request().url().string().utf8().data());47 LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::removeLoader resource '%s'", loader->request().url().string().utf8().data()); 83 48 84 HostRecord* host = loader->hostRecord(); 85 86 // Due to a race condition the WebProcess might have messaged the NetworkProcess to remove this identifier 87 // after the NetworkProcess has already removed it internally. 88 // In this situation we might not have a HostRecord to clean up. 89 if (host) 90 host->removeLoader(loader); 49 m_activeLoaders.remove(loader); 91 50 92 scheduleServePendingRequests(); 93 } 94 95 void NetworkResourceLoadScheduler::receivedRedirect(NetworkResourceLoader* loader, const WebCore::URL& redirectURL) 96 { 97 ASSERT(RunLoop::isMain()); 98 LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::receivedRedirect loader originally for '%s' redirected to '%s'", loader->request().url().string().utf8().data(), redirectURL.string().utf8().data()); 99 100 HostRecord* oldHost = loader->hostRecord(); 101 102 // The load may have been cancelled while the message was in flight from network thread to main thread. 103 if (!oldHost) 104 return; 105 106 HostRecord* newHost = hostForURL(redirectURL, CreateIfNotFound); 107 108 if (oldHost->name() == newHost->name()) 109 return; 110 111 oldHost->removeLoader(loader); 112 newHost->addLoaderInProgress(loader); 113 } 114 115 void NetworkResourceLoadScheduler::servePendingRequests(ResourceLoadPriority minimumPriority) 116 { 117 LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::servePendingRequests Serving requests for up to %i hosts with minimum priority %i", m_hosts.size(), minimumPriority); 118 119 m_requestTimer.stop(); 120 121 m_nonHTTPProtocolHost->servePendingRequests(minimumPriority); 122 123 m_hosts.checkConsistency(); 124 Vector<RefPtr<HostRecord>> hostsToServe; 125 copyValuesToVector(m_hosts, hostsToServe); 126 127 size_t size = hostsToServe.size(); 128 for (size_t i = 0; i < size; ++i) { 129 HostRecord* host = hostsToServe[i].get(); 130 if (host->hasRequests()) 131 host->servePendingRequests(minimumPriority); 132 else 133 m_hosts.remove(host->name()); 134 } 135 } 136 137 static bool removeScheduledLoadersCalled = false; 138 139 void NetworkResourceLoadScheduler::removeScheduledLoaders(void* context) 140 { 141 ASSERT(RunLoop::isMain()); 142 ASSERT(removeScheduledLoadersCalled); 143 144 NetworkResourceLoadScheduler* scheduler = static_cast<NetworkResourceLoadScheduler*>(context); 145 scheduler->removeScheduledLoaders(); 146 } 147 148 void NetworkResourceLoadScheduler::removeScheduledLoaders() 149 { 150 Vector<RefPtr<NetworkResourceLoader>> loadersToRemove; 151 { 152 MutexLocker locker(m_loadersToRemoveMutex); 153 loadersToRemove = m_loadersToRemove; 154 m_loadersToRemove.clear(); 155 removeScheduledLoadersCalled = false; 156 } 157 158 for (size_t i = 0; i < loadersToRemove.size(); ++i) 159 removeLoader(loadersToRemove[i].get()); 160 } 161 162 void NetworkResourceLoadScheduler::scheduleRemoveLoader(NetworkResourceLoader* loader) 163 { 164 MutexLocker locker(m_loadersToRemoveMutex); 165 166 m_loadersToRemove.append(loader); 167 168 if (!removeScheduledLoadersCalled) { 169 removeScheduledLoadersCalled = true; 170 callOnMainThread(NetworkResourceLoadScheduler::removeScheduledLoaders, this); 171 } 172 } 173 174 uint64_t NetworkResourceLoadScheduler::hostsPendingCount() const 175 { 176 uint64_t count = m_nonHTTPProtocolHost->pendingRequestCount() ? 1 : 0; 177 178 HostMap::const_iterator end = m_hosts.end(); 179 for (HostMap::const_iterator i = m_hosts.begin(); i != end; ++i) { 180 if (i->value->pendingRequestCount()) 181 ++count; 182 } 183 184 return count; 51 while (!m_pendingSerialLoaders.isEmpty() && m_activeLoaders.isEmpty()) 52 scheduleLoader(m_pendingSerialLoaders.takeLast()); 185 53 } 186 54 187 55 uint64_t NetworkResourceLoadScheduler::loadsPendingCount() const 188 56 { 189 uint64_t count = m_nonHTTPProtocolHost->pendingRequestCount(); 190 191 HostMap::const_iterator end = m_hosts.end(); 192 for (HostMap::const_iterator i = m_hosts.begin(); i != end; ++i) 193 count += i->value->pendingRequestCount(); 194 195 return count; 196 } 197 198 uint64_t NetworkResourceLoadScheduler::hostsActiveCount() const 199 { 200 uint64_t count = 0; 201 202 if (m_nonHTTPProtocolHost->activeLoadCount()) 203 count = 1; 204 205 HostMap::const_iterator end = m_hosts.end(); 206 for (HostMap::const_iterator i = m_hosts.begin(); i != end; ++i) { 207 if (i->value->activeLoadCount()) 208 ++count; 209 } 210 211 return count; 57 return m_pendingSerialLoaders.size(); 212 58 } 213 59 214 60 uint64_t NetworkResourceLoadScheduler::loadsActiveCount() const 215 61 { 216 uint64_t count = m_nonHTTPProtocolHost->activeLoadCount(); 217 218 HostMap::const_iterator end = m_hosts.end(); 219 for (HostMap::const_iterator i = m_hosts.begin(); i != end; ++i) 220 count += i->value->activeLoadCount(); 221 222 return count; 62 return m_activeLoaders.size(); 223 63 } 224 64 -
trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoadScheduler.h
r156550 r172927 27 27 #define NetworkResourceLoadScheduler_h 28 28 29 #include <WebCore/ResourceLoadPriority.h>30 29 #include <WebCore/Timer.h> 31 #include <wtf/HashMap.h>32 30 #include <wtf/HashSet.h> 33 31 #include <wtf/text/StringHash.h> … … 35 33 #if ENABLE(NETWORK_PROCESS) 36 34 37 namespace WebCore {38 class URL;39 }40 41 35 namespace WebKit { 42 36 43 class HostRecord;44 37 class NetworkResourceLoader; 45 38 … … 50 43 NetworkResourceLoadScheduler(); 51 44 52 // Adds the request to the queue for its host.53 45 void scheduleLoader(PassRefPtr<NetworkResourceLoader>); 54 55 // Called by the WebProcess when a ResourceLoader is being cleaned up.56 46 void removeLoader(NetworkResourceLoader*); 57 47 58 // Called within the NetworkProcess on a background thread when a resource load has finished.59 void scheduleRemoveLoader(NetworkResourceLoader*);60 61 void receivedRedirect(NetworkResourceLoader*, const WebCore::URL& redirectURL);62 void servePendingRequests(WebCore::ResourceLoadPriority = WebCore::ResourceLoadPriorityVeryLow);63 64 48 // For NetworkProcess statistics reporting. 65 uint64_t hostsPendingCount() const;66 49 uint64_t loadsPendingCount() const; 67 uint64_t hostsActiveCount() const;68 50 uint64_t loadsActiveCount() const; 69 51 70 52 private: 71 enum CreateHostPolicy { 72 CreateIfNotFound, 73 FindOnly 74 }; 75 76 HostRecord* hostForURL(const WebCore::URL&, CreateHostPolicy = FindOnly); 77 78 void scheduleServePendingRequests(); 79 void requestTimerFired(WebCore::Timer<NetworkResourceLoadScheduler>*); 53 static void platformInitializeNetworkSettings(); 80 54 81 void platformInitializeMaximumHTTPConnectionCountPerHost(); 82 83 static void removeScheduledLoaders(void* context); 84 void removeScheduledLoaders(); 85 86 typedef HashMap<String, RefPtr<HostRecord>, StringHash> HostMap; 87 HostMap m_hosts; 88 89 typedef HashSet<RefPtr<NetworkResourceLoader>> NetworkResourceLoaderSet; 90 NetworkResourceLoaderSet m_loaders; 91 92 RefPtr<HostRecord> m_nonHTTPProtocolHost; 93 94 bool m_isSerialLoadingEnabled; 95 96 WebCore::Timer<NetworkResourceLoadScheduler> m_requestTimer; 97 98 Mutex m_loadersToRemoveMutex; 99 Vector<RefPtr<NetworkResourceLoader>> m_loadersToRemove; 100 101 unsigned m_maxRequestsInFlightPerHost; 55 HashSet<RefPtr<NetworkResourceLoader>> m_activeLoaders; 56 Vector<RefPtr<NetworkResourceLoader>> m_pendingSerialLoaders; 102 57 }; 103 58 -
trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp
r171743 r172927 114 114 ASSERT(RunLoop::isMain()); 115 115 ASSERT(!m_handle); 116 ASSERT(!m_hostRecord);117 116 } 118 117 … … 162 161 163 162 // Tell the scheduler about this finished loader soon so it can start more network requests. 164 NetworkProcess::shared().networkResourceLoadScheduler(). scheduleRemoveLoader(this);163 NetworkProcess::shared().networkResourceLoadScheduler().removeLoader(this); 165 164 166 165 if (m_handle) { … … 270 269 #endif 271 270 272 RunLoop::main().dispatch(bind(&NetworkResourceLoadScheduler::receivedRedirect, &NetworkProcess::shared().networkResourceLoadScheduler(), this, m_suggestedRequestForWillSendRequest.url()));273 274 271 m_request = m_suggestedRequestForWillSendRequest; 275 272 m_suggestedRequestForWillSendRequest = ResourceRequest(); -
trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.h
r170928 r172927 29 29 #if ENABLE(NETWORK_PROCESS) 30 30 31 #include "HostRecord.h"32 31 #include "MessageSender.h" 33 32 #include "NetworkConnectionToWebProcessMessages.h" 33 #include "NetworkResourceLoadParameters.h" 34 34 #include "ShareableResource.h" 35 35 #include <WebCore/ResourceHandleClient.h> … … 130 130 bool isSynchronous() const; 131 131 bool isLoadingMainResource() const { return m_isLoadingMainResource; } 132 133 void setHostRecord(HostRecord* hostRecord) { ASSERT(RunLoop::isMain()); m_hostRecord = hostRecord; }134 HostRecord* hostRecord() const { ASSERT(RunLoop::isMain()); return m_hostRecord.get(); }135 132 136 133 template<typename T> … … 198 195 RefPtr<NetworkConnectionToWebProcess> m_connection; 199 196 200 RefPtr<HostRecord> m_hostRecord;201 197 RefPtr<WebCore::SharedBuffer> m_bufferedData; 202 198 }; -
trunk/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm
r170503 r172927 38 38 namespace WebKit { 39 39 40 void NetworkResourceLoadScheduler::platformInitialize MaximumHTTPConnectionCountPerHost()40 void NetworkResourceLoadScheduler::platformInitializeNetworkSettings() 41 41 { 42 42 static const unsigned preferredConnectionCount = 6; 43 static const unsigned unlimitedRequestCount = 10000;44 43 45 unsigned maximumHTTPConnectionCountPerHost =WKInitializeMaximumHTTPConnectionCountPerHost(preferredConnectionCount);44 WKInitializeMaximumHTTPConnectionCountPerHost(preferredConnectionCount); 46 45 47 46 Boolean keyExistsAndHasValidFormat = false; … … 53 52 WKSetHTTPRequestMaximumPriority(toPlatformRequestPriority(ResourceLoadPriorityHighest)); 54 53 WKSetHTTPRequestMinimumFastLanePriority(toPlatformRequestPriority(ResourceLoadPriorityMedium)); 55 m_maxRequestsInFlightPerHost = unlimitedRequestCount;56 } else {57 // Use WebKit scheduler when we can't use request priorities with CFNetwork.58 m_maxRequestsInFlightPerHost = maximumHTTPConnectionCountPerHost;59 54 } 60 55 } -
trunk/Source/WebKit2/NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp
r157254 r172927 32 32 namespace WebKit { 33 33 34 void NetworkResourceLoadScheduler::platformInitialize MaximumHTTPConnectionCountPerHost()34 void NetworkResourceLoadScheduler::platformInitializeNetworkSettings() 35 35 { 36 // Soup has its own queue control; it wants to have all requests given to37 // it, so that it is able to look ahead, and schedule them in a good way.38 // See the comment in ResourceRequestSoup.cpp39 static const unsigned unlimitedConnectionCount = 10000;40 41 // FIXME: Take advantage of Web-platform specific knowledge that can help42 // prioritization better than libsoup alone can do.43 // See https://bugs.webkit.org/show_bug.cgi?id=110115#c1344 m_maxRequestsInFlightPerHost = unlimitedConnectionCount;45 36 } 46 37 -
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
r172691 r172927 833 833 512A9769180E09B80039A149 /* DatabaseProcessProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512A9767180E09B80039A149 /* DatabaseProcessProxyMessageReceiver.cpp */; }; 834 834 512A976A180E09B80039A149 /* DatabaseProcessProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 512A9768180E09B80039A149 /* DatabaseProcessProxyMessages.h */; }; 835 512C06881638F67E00ABB911 /* HostRecord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512C06861638F67E00ABB911 /* HostRecord.cpp */; };836 512C06891638F67E00ABB911 /* HostRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 512C06871638F67E00ABB911 /* HostRecord.h */; };837 835 512C069016390E6900ABB911 /* NetworkResourceLoadSchedulerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 512C068F16390E6900ABB911 /* NetworkResourceLoadSchedulerMac.mm */; }; 838 836 512E34E4130B4D0500ABD19A /* WKApplicationCacheManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 517A33B3130B308C00F80CB5 /* WKApplicationCacheManager.cpp */; }; … … 2862 2860 512A9767180E09B80039A149 /* DatabaseProcessProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DatabaseProcessProxyMessageReceiver.cpp; sourceTree = "<group>"; }; 2863 2861 512A9768180E09B80039A149 /* DatabaseProcessProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatabaseProcessProxyMessages.h; sourceTree = "<group>"; }; 2864 512C06861638F67E00ABB911 /* HostRecord.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HostRecord.cpp; path = NetworkProcess/HostRecord.cpp; sourceTree = "<group>"; };2865 512C06871638F67E00ABB911 /* HostRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HostRecord.h; path = NetworkProcess/HostRecord.h; sourceTree = "<group>"; };2866 2862 512C068F16390E6900ABB911 /* NetworkResourceLoadSchedulerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkResourceLoadSchedulerMac.mm; sourceTree = "<group>"; }; 2867 2863 512E3520130B550100ABD19A /* WebApplicationCacheManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebApplicationCacheManagerProxy.cpp; sourceTree = "<group>"; }; … … 5183 5179 51FCB18017BBFE0300394CD8 /* AsynchronousNetworkLoaderClient.cpp */, 5184 5180 51FCB18117BBFE0300394CD8 /* AsynchronousNetworkLoaderClient.h */, 5185 512C06861638F67E00ABB911 /* HostRecord.cpp */,5186 512C06871638F67E00ABB911 /* HostRecord.h */,5187 5181 513A16491630A9BF005D7D22 /* NetworkConnectionToWebProcess.cpp */, 5188 5182 513A164A1630A9BF005D7D22 /* NetworkConnectionToWebProcess.h */, … … 7175 7169 BC06F43A12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h in Headers */, 7176 7170 C0CE72AD1247E78D00BC0EC4 /* HandleMessage.h in Headers */, 7177 512C06891638F67E00ABB911 /* HostRecord.h in Headers */,7178 7171 37F90DE31376560E0051CF68 /* HTTPCookieAcceptPolicy.h in Headers */, 7179 7172 BCCF6B2512C93E7A008F9C35 /* ImageOptions.h in Headers */, … … 8845 8838 BC06F44B12DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.cpp in Sources */, 8846 8839 BC06F43B12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp in Sources */, 8847 512C06881638F67E00ABB911 /* HostRecord.cpp in Sources */,8848 8840 BC64696F11DBE603006455B0 /* APIArray.cpp in Sources */, 8849 8841 BCBCB0CD1215E33A00DE59CA /* ImmutableDictionary.cpp in Sources */,
Note:
See TracChangeset
for help on using the changeset viewer.