Title: [270249] trunk/Source/WebKit
Revision
270249
Author
[email protected]
Date
2020-11-30 09:40:43 -0800 (Mon, 30 Nov 2020)

Log Message

Remove throttling code from NetworkLoad
https://bugs.webkit.org/show_bug.cgi?id=219347

Reviewed by Anders Carlsson.

It is not a good latency simulation and no one is using it anyway.

* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::didReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
(WebKit::NetworkLoad::didCompleteWithError):
(WebKit::NetworkLoad::Throttle::Throttle): Deleted.
(WebKit::NetworkLoad::throttleDelayCompleted): Deleted.
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::shouldLogCookieInformation const):
(WebKit::NetworkSession::loadThrottleLatency const): Deleted.
* NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
* NetworkProcess/NetworkSessionCreationParameters.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
* UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (270248 => 270249)


--- trunk/Source/WebKit/ChangeLog	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/ChangeLog	2020-11-30 17:40:43 UTC (rev 270249)
@@ -1,3 +1,33 @@
+2020-11-30  Antti Koivisto  <[email protected]>
+
+        Remove throttling code from NetworkLoad
+        https://bugs.webkit.org/show_bug.cgi?id=219347
+
+        Reviewed by Anders Carlsson.
+
+        It is not a good latency simulation and no one is using it anyway.
+
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::NetworkLoad):
+        (WebKit::NetworkLoad::didReceiveResponse):
+        (WebKit::NetworkLoad::didReceiveData):
+        (WebKit::NetworkLoad::didCompleteWithError):
+        (WebKit::NetworkLoad::Throttle::Throttle): Deleted.
+        (WebKit::NetworkLoad::throttleDelayCompleted): Deleted.
+        * NetworkProcess/NetworkLoad.h:
+        * NetworkProcess/NetworkSession.h:
+        (WebKit::NetworkSession::shouldLogCookieInformation const):
+        (WebKit::NetworkSession::loadThrottleLatency const): Deleted.
+        * NetworkProcess/NetworkSessionCreationParameters.cpp:
+        (WebKit::NetworkSessionCreationParameters::encode const):
+        (WebKit::NetworkSessionCreationParameters::decode):
+        * NetworkProcess/NetworkSessionCreationParameters.h:
+        * NetworkProcess/cocoa/NetworkSessionCocoa.h:
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
+        * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
+        (WebKit::WebsiteDataStore::platformSetNetworkParameters):
+
 2020-11-29  Adam Mazander  <[email protected]>
 
         Deny logs for benign fontservicesd daemon

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp (270248 => 270249)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2020-11-30 17:40:43 UTC (rev 270249)
@@ -42,26 +42,10 @@
 
 using namespace WebCore;
 
-struct NetworkLoad::Throttle {
-    WTF_MAKE_STRUCT_FAST_ALLOCATED;
-
-    Throttle(NetworkLoad& load, Seconds delay, ResourceResponse&& response, ResponseCompletionHandler&& handler)
-        : timer(load, &NetworkLoad::throttleDelayCompleted)
-        , response(WTFMove(response))
-        , responseCompletionHandler(WTFMove(handler))
-    {
-        timer.startOneShot(delay);
-    }
-    Timer timer;
-    ResourceResponse response;
-    ResponseCompletionHandler responseCompletionHandler;
-};
-
 NetworkLoad::NetworkLoad(NetworkLoadClient& client, BlobRegistryImpl* blobRegistry, NetworkLoadParameters&& parameters, NetworkSession& networkSession)
     : m_client(client)
     , m_networkProcess(networkSession.networkProcess())
     , m_parameters(WTFMove(parameters))
-    , m_loadThrottleLatency(networkSession.loadThrottleLatency())
     , m_currentRequest(m_parameters.request)
 {
     if (blobRegistry && m_parameters.request.url().protocolIsBlob())
@@ -210,7 +194,6 @@
 void NetworkLoad::didReceiveResponse(ResourceResponse&& response, NegotiatedLegacyTLS negotiatedLegacyTLS, ResponseCompletionHandler&& completionHandler)
 {
     ASSERT(RunLoop::isMain());
-    ASSERT(!m_throttle);
 
     if (m_task && m_task->isDownload()) {
         m_networkProcess->findPendingDownloadLocation(*m_task.get(), WTFMove(completionHandler), response);
@@ -217,11 +200,6 @@
         return;
     }
 
-    if (m_loadThrottleLatency > 0_s) {
-        m_throttle = makeUnique<Throttle>(*this, m_loadThrottleLatency, WTFMove(response), WTFMove(completionHandler));
-        return;
-    }
-
     if (negotiatedLegacyTLS == NegotiatedLegacyTLS::Yes)
         m_networkProcess->authenticationManager().negotiatedLegacyTLS(m_parameters.webPageProxyID);
     
@@ -240,8 +218,6 @@
 
 void NetworkLoad::didReceiveData(Ref<SharedBuffer>&& buffer)
 {
-    ASSERT(!m_throttle);
-
     // FIXME: This should be the encoded data length, not the decoded data length.
     auto size = buffer->size();
     m_client.get().didReceiveBuffer(WTFMove(buffer), size);
@@ -249,8 +225,6 @@
 
 void NetworkLoad::didCompleteWithError(const ResourceError& error, const WebCore::NetworkLoadMetrics& networkLoadMetrics)
 {
-    ASSERT(!m_throttle);
-
     if (error.isNull())
         m_client.get().didFinishLoading(networkLoadMetrics);
     else
@@ -257,15 +231,6 @@
         m_client.get().didFailLoading(error);
 }
 
-void NetworkLoad::throttleDelayCompleted()
-{
-    ASSERT(m_throttle);
-
-    auto throttle = WTFMove(m_throttle);
-
-    notifyDidReceiveResponse(WTFMove(throttle->response), NegotiatedLegacyTLS::No, WTFMove(throttle->responseCompletionHandler));
-}
-
 void NetworkLoad::didSendData(uint64_t totalBytesSent, uint64_t totalBytesExpectedToSend)
 {
     m_client.get().didSendData(totalBytesSent, totalBytesExpectedToSend);

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.h (270248 => 270249)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.h	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.h	2020-11-30 17:40:43 UTC (rev 270249)
@@ -84,7 +84,6 @@
     void didNegotiateModernTLS(const WebCore::AuthenticationChallenge&) final;
 
     void notifyDidReceiveResponse(WebCore::ResourceResponse&&, NegotiatedLegacyTLS, ResponseCompletionHandler&&);
-    void throttleDelayCompleted();
 
     std::reference_wrapper<NetworkLoadClient> m_client;
     Ref<NetworkProcess> m_networkProcess;
@@ -91,10 +90,6 @@
     const NetworkLoadParameters m_parameters;
     CompletionHandler<void(WebCore::ResourceRequest&&)> m_redirectCompletionHandler;
     RefPtr<NetworkDataTask> m_task;
-    
-    struct Throttle;
-    std::unique_ptr<Throttle> m_throttle;
-    Seconds m_loadThrottleLatency;
 
     WebCore::ResourceRequest m_currentRequest; // Updated on redirects.
 };

Modified: trunk/Source/WebKit/NetworkProcess/NetworkSession.h (270248 => 270249)


--- trunk/Source/WebKit/NetworkProcess/NetworkSession.h	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSession.h	2020-11-30 17:40:43 UTC (rev 270249)
@@ -75,7 +75,6 @@
     virtual void invalidateAndCancel();
     virtual void clearCredentials() { };
     virtual bool shouldLogCookieInformation() const { return false; }
-    virtual Seconds loadThrottleLatency() const { return { }; }
     virtual Vector<WebCore::SecurityOriginData> hostNamesWithAlternativeServices() const { return { }; }
     virtual void deleteAlternativeServicesForHostNames(const Vector<String>&) { }
     virtual void clearAlternativeServices(WallTime) { }

Modified: trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp (270248 => 270249)


--- trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp	2020-11-30 17:40:43 UTC (rev 270249)
@@ -48,7 +48,6 @@
     encoder << sourceApplicationBundleIdentifier;
     encoder << sourceApplicationSecondaryIdentifier;
     encoder << shouldLogCookieInformation;
-    encoder << loadThrottleLatency;
     encoder << httpProxy;
     encoder << httpsProxy;
 #endif
@@ -124,12 +123,7 @@
     decoder >> shouldLogCookieInformation;
     if (!shouldLogCookieInformation)
         return WTF::nullopt;
-    
-    Optional<Seconds> loadThrottleLatency;
-    decoder >> loadThrottleLatency;
-    if (!loadThrottleLatency)
-        return WTF::nullopt;
-    
+
     Optional<URL> httpProxy;
     decoder >> httpProxy;
     if (!httpProxy)
@@ -296,7 +290,6 @@
         , WTFMove(*sourceApplicationBundleIdentifier)
         , WTFMove(*sourceApplicationSecondaryIdentifier)
         , WTFMove(*shouldLogCookieInformation)
-        , WTFMove(*loadThrottleLatency)
         , WTFMove(*httpProxy)
         , WTFMove(*httpsProxy)
 #endif

Modified: trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h (270248 => 270249)


--- trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h	2020-11-30 17:40:43 UTC (rev 270249)
@@ -61,7 +61,6 @@
     String sourceApplicationBundleIdentifier;
     String sourceApplicationSecondaryIdentifier;
     bool shouldLogCookieInformation { false };
-    Seconds loadThrottleLatency;
     URL httpProxy;
     URL httpsProxy;
 #endif

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h (270248 => 270249)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h	2020-11-30 17:40:43 UTC (rev 270249)
@@ -113,7 +113,6 @@
     void invalidateAndCancel() override;
     void clearCredentials() override;
     bool shouldLogCookieInformation() const override { return m_shouldLogCookieInformation; }
-    Seconds loadThrottleLatency() const override { return m_loadThrottleLatency; }
     SessionWrapper& isolatedSession(WebCore::StoredCredentialsPolicy, const WebCore::RegistrableDomain, NavigatingToAppBoundDomain);
 
 #if ENABLE(APP_BOUND_DOMAINS)
@@ -153,7 +152,6 @@
     bool m_deviceManagementRestrictionsEnabled { false };
     bool m_allLoadsBlockedByDeviceManagementRestrictionsForTesting { false };
     bool m_shouldLogCookieInformation { false };
-    Seconds m_loadThrottleLatency;
     bool m_fastServerTrustEvaluationEnabled { false };
     String m_dataConnectionServiceType;
     bool m_preventsSystemHTTPProxyAuthentication { false };

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (270248 => 270249)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2020-11-30 17:40:43 UTC (rev 270249)
@@ -1198,7 +1198,6 @@
     , m_sourceApplicationSecondaryIdentifier(parameters.sourceApplicationSecondaryIdentifier)
     , m_proxyConfiguration(parameters.proxyConfiguration)
     , m_shouldLogCookieInformation(parameters.shouldLogCookieInformation)
-    , m_loadThrottleLatency(parameters.loadThrottleLatency)
     , m_fastServerTrustEvaluationEnabled(parameters.fastServerTrustEvaluationEnabled)
     , m_dataConnectionServiceType(parameters.dataConnectionServiceType)
     , m_preventsSystemHTTPProxyAuthentication(parameters.preventsSystemHTTPProxyAuthentication)

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm (270248 => 270249)


--- trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm	2020-11-30 17:39:41 UTC (rev 270248)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm	2020-11-30 17:40:43 UTC (rev 270249)
@@ -64,8 +64,6 @@
     return dataStores;
 }
 
-static NSString * const WebKitNetworkLoadThrottleLatencyMillisecondsDefaultsKey = @"WebKitNetworkLoadThrottleLatencyMilliseconds";
-
 #if ENABLE(APP_BOUND_DOMAINS)
 static WorkQueue& appBoundDomainQueue()
 {
@@ -170,7 +168,6 @@
     parameters.networkSessionParameters.sourceApplicationBundleIdentifier = configuration().sourceApplicationBundleIdentifier();
     parameters.networkSessionParameters.sourceApplicationSecondaryIdentifier = configuration().sourceApplicationSecondaryIdentifier();
     parameters.networkSessionParameters.shouldLogCookieInformation = shouldLogCookieInformation;
-    parameters.networkSessionParameters.loadThrottleLatency = Seconds { [defaults integerForKey:WebKitNetworkLoadThrottleLatencyMillisecondsDefaultsKey] / 1000. };
     parameters.networkSessionParameters.httpProxy = WTFMove(httpProxy);
     parameters.networkSessionParameters.httpsProxy = WTFMove(httpsProxy);
 #if HAVE(CFNETWORK_ALTERNATIVE_SERVICE)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to