Skip to content

Commit 34373b3

Browse files
authored
browser(webkit): compute non-header suggested name on windows (#2227)
1 parent 650d734 commit 34373b3

File tree

2 files changed

+39
-9
lines changed

2 files changed

+39
-9
lines changed

browser_patches/webkit/BUILD_NUMBER

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1227
1+
1228

browser_patches/webkit/patches/bootstrap.diff

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5836,7 +5836,7 @@ index 61f10cc81264e24a6f76e5194119fd567f37f9f9..6b567d0c641a515544815c83574e7f17
58365836

58375837
#if HAVE(TLS_PROTOCOL_VERSION_T)
58385838
diff --git a/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp b/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp
5839-
index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..2e7fc9f49c648a042f9cd5806874a2bf0aa145f1 100644
5839+
index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..c5056df4833dd7d4e713a5edabf8c87fb6feb980 100644
58405840
--- a/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp
58415841
+++ b/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp
58425842
@@ -26,9 +26,13 @@
@@ -5853,15 +5853,16 @@ index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..2e7fc9f49c648a042f9cd5806874a2bf
58535853
#include <WebCore/AuthenticationChallenge.h>
58545854
#include <WebCore/CookieJar.h>
58555855
#include <WebCore/CurlRequest.h>
5856-
@@ -38,6 +42,7 @@
5856+
@@ -38,6 +42,8 @@
58575857
#include <WebCore/ResourceError.h>
58585858
#include <WebCore/SameSiteInfo.h>
58595859
#include <WebCore/SynchronousLoaderClient.h>
5860+
+#include <WebCore/TextEncoding.h>
58605861
+#include <wtf/FileSystem.h>
58615862

58625863
namespace WebKit {
58635864

5864-
@@ -71,6 +76,8 @@ NetworkDataTaskCurl::NetworkDataTaskCurl(NetworkSession& session, NetworkDataTas
5865+
@@ -71,6 +77,8 @@ NetworkDataTaskCurl::NetworkDataTaskCurl(NetworkSession& session, NetworkDataTas
58655866
m_curlRequest->setUserPass(m_initialCredential.user(), m_initialCredential.password());
58665867
m_curlRequest->setAuthenticationScheme(ProtectionSpaceAuthenticationSchemeHTTPBasic);
58675868
}
@@ -5870,7 +5871,7 @@ index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..2e7fc9f49c648a042f9cd5806874a2bf
58705871
m_curlRequest->setStartTime(m_startTime);
58715872
m_curlRequest->start();
58725873
}
5873-
@@ -177,7 +184,12 @@ void NetworkDataTaskCurl::curlDidReceiveBuffer(CurlRequest&, Ref<SharedBuffer>&&
5874+
@@ -177,7 +185,12 @@ void NetworkDataTaskCurl::curlDidReceiveBuffer(CurlRequest&, Ref<SharedBuffer>&&
58745875
auto protectedThis = makeRef(*this);
58755876
if (state() == State::Canceling || state() == State::Completed || (!m_client && !isDownload()))
58765877
return;
@@ -5884,7 +5885,7 @@ index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..2e7fc9f49c648a042f9cd5806874a2bf
58845885
m_client->didReceiveData(WTFMove(buffer));
58855886
}
58865887

5887-
@@ -186,6 +198,12 @@ void NetworkDataTaskCurl::curlDidComplete(CurlRequest&, NetworkLoadMetrics&& net
5888+
@@ -186,6 +199,12 @@ void NetworkDataTaskCurl::curlDidComplete(CurlRequest&, NetworkLoadMetrics&& net
58885889
if (state() == State::Canceling || state() == State::Completed || (!m_client && !isDownload()))
58895890
return;
58905891

@@ -5897,7 +5898,7 @@ index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..2e7fc9f49c648a042f9cd5806874a2bf
58975898
m_client->didCompleteWithError({ }, WTFMove(networkLoadMetrics));
58985899
}
58995900

5900-
@@ -199,6 +217,13 @@ void NetworkDataTaskCurl::curlDidFailWithError(CurlRequest& request, ResourceErr
5901+
@@ -199,6 +218,13 @@ void NetworkDataTaskCurl::curlDidFailWithError(CurlRequest& request, ResourceErr
59015902
return;
59025903
}
59035904

@@ -5911,7 +5912,7 @@ index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..2e7fc9f49c648a042f9cd5806874a2bf
59115912
m_client->didCompleteWithError(resourceError);
59125913
}
59135914

5914-
@@ -235,6 +260,18 @@ void NetworkDataTaskCurl::invokeDidReceiveResponse()
5915+
@@ -235,6 +261,18 @@ void NetworkDataTaskCurl::invokeDidReceiveResponse()
59155916
break;
59165917
case PolicyAction::Ignore:
59175918
break;
@@ -5930,7 +5931,7 @@ index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..2e7fc9f49c648a042f9cd5806874a2bf
59305931
default:
59315932
notImplemented();
59325933
break;
5933-
@@ -312,6 +349,8 @@ void NetworkDataTaskCurl::willPerformHTTPRedirection()
5934+
@@ -312,6 +350,8 @@ void NetworkDataTaskCurl::willPerformHTTPRedirection()
59345935
m_curlRequest->setUserPass(m_initialCredential.user(), m_initialCredential.password());
59355936
m_curlRequest->setAuthenticationScheme(ProtectionSpaceAuthenticationSchemeHTTPBasic);
59365937
}
@@ -5939,6 +5940,35 @@ index 26d961d4e9bc5bcd8064361f9d2e9bc478573b72..2e7fc9f49c648a042f9cd5806874a2bf
59395940
m_curlRequest->setStartTime(m_startTime);
59405941
m_curlRequest->start();
59415942

5943+
@@ -462,4 +502,16 @@ void NetworkDataTaskCurl::handleCookieHeaders(const WebCore::ResourceRequest& re
5944+
}
5945+
}
5946+
5947+
+String NetworkDataTaskCurl::suggestedFilename() const
5948+
+{
5949+
+ if (!m_suggestedFilename.isEmpty())
5950+
+ return m_suggestedFilename;
5951+
+
5952+
+ String suggestedFilename = m_response.suggestedFilename();
5953+
+ if (!suggestedFilename.isEmpty())
5954+
+ return suggestedFilename;
5955+
+
5956+
+ return decodeURLEscapeSequences(m_response.url().lastPathComponent());
5957+
+}
5958+
+
5959+
} // namespace WebKit
5960+
diff --git a/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h b/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h
5961+
index 52d085b44c17e60f6133fba0e0cd6933ee3af255..7c95b368df416300ce095c77c4a2ef29a3ffb0bb 100644
5962+
--- a/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h
5963+
+++ b/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h
5964+
@@ -81,6 +81,7 @@ private:
5965+
5966+
void appendCookieHeader(WebCore::ResourceRequest&);
5967+
void handleCookieHeaders(const WebCore::ResourceRequest&, const WebCore::CurlResponse&);
5968+
+ String suggestedFilename() const override;
5969+
5970+
State m_state { State::Suspended };
5971+
59425972
diff --git a/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp b/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp
59435973
index 9c0465058939cf65fc10f4771ed216662b6b9f8b..53b7425514c7adbbe02085e6d8c810ed112b28c0 100644
59445974
--- a/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp

0 commit comments

Comments
 (0)