Skip to content

Commit

Permalink
Fix some errors reported by cppcheck
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=254853

Reviewed by Darin Adler.

Fix some errors reported by cppcheck:
```
Source/WTF/wtf/text/SymbolImpl.cpp:41:30: error: Signed integer overflow for expression '1<<31'. [integerOverflow]
    s_nextHashForSymbol |= 1 << 31;
                             ^
Source/WebCore/editing/ReplaceSelectionCommand.cpp:1750:12: error: Reference to local variable returned. [returnReference]
    return list;
           ^
Source/WebCore/platform/graphics/HEVCUtilities.cpp:441:12: error: Uninitialized struct member: parameters.codec [uninitStructMember]
    return parameters;
           ^
Source/WebCore/testing/Internals.cpp:2988:32: warning: Possible null pointer dereference: window [nullPointer]
    auto frontendWindowProxy = window->open(*window, *window, url, emptyAtom(), emptyString()).releaseReturnValue();
                               ^
Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp:91:12: error: Reference to local variable returned. [returnReference]
    return downloadProxy;
```

* Source/WTF/wtf/text/SymbolImpl.cpp:
(WTF::SymbolImpl::nextHashForSymbol):
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::cssValueKeywordID):
* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::deepestSingleChildList):
(WebCore::ReplaceSelectionCommand::insertAsListItems):
* Source/WebCore/platform/graphics/HEVCUtilities.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):
* Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.cpp:
(webkit_network_session_download_uri):
* Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
* Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
* Source/WebKit/UIProcess/Downloads/DownloadProxyMap.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::createDownloadProxy):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::resumeDownload):
(WebKit::WebPageProxy::downloadRequest):
(WebKit::WebPageProxy::contextMenuItemSelected):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::createDownloadProxy):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::createDownloadProxy):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:

Canonical link: https://commits.webkit.org/262483@main
  • Loading branch information
cdumez committed Apr 1, 2023
1 parent 9dd212f commit 6138f16
Show file tree
Hide file tree
Showing 17 changed files with 48 additions and 39 deletions.
2 changes: 1 addition & 1 deletion Source/WTF/wtf/text/SymbolImpl.cpp
Expand Up @@ -38,7 +38,7 @@ unsigned SymbolImpl::nextHashForSymbol()
{
static unsigned s_nextHashForSymbol = 0;
s_nextHashForSymbol += 1 << s_flagCount;
s_nextHashForSymbol |= 1 << 31;
s_nextHashForSymbol |= 1u << 31;
return s_nextHashForSymbol;
}

Expand Down
2 changes: 2 additions & 0 deletions Source/WebCore/css/parser/CSSPropertyParser.cpp
Expand Up @@ -105,6 +105,8 @@ static bool isAppleLegacyCSSValueKeyword(const char* characters, unsigned length

template<typename CharacterType> static CSSValueID cssValueKeywordID(const CharacterType* characters, unsigned length)
{
ASSERT(length > 0); // Otherwise buffer[0] would access uninitialized memory below.

char buffer[maxCSSValueKeywordLength + 1]; // 1 to turn "apple" into "webkit"

for (unsigned i = 0; i != length; ++i) {
Expand Down
4 changes: 2 additions & 2 deletions Source/WebCore/editing/ReplaceSelectionCommand.cpp
Expand Up @@ -1742,7 +1742,7 @@ static HTMLElement* singleChildList(HTMLElement& element)
return isListHTMLElement(child.get()) ? &downcast<HTMLElement>(*child) : nullptr;
}

static HTMLElement& deepestSingleChildList(HTMLElement& topLevelList)
static Ref<HTMLElement> deepestSingleChildList(HTMLElement& topLevelList)
{
Ref list { topLevelList };
while (auto childList = singleChildList(list))
Expand All @@ -1754,7 +1754,7 @@ static HTMLElement& deepestSingleChildList(HTMLElement& topLevelList)
// we put the list items into the existing list.
Node* ReplaceSelectionCommand::insertAsListItems(HTMLElement& passedListElement, Node* insertionBlock, const Position& insertPos, InsertedNodes& insertedNodes)
{
Ref<HTMLElement> listElement = deepestSingleChildList(passedListElement);
Ref listElement = deepestSingleChildList(passedListElement);

bool isStart = isStartOfParagraph(insertPos);
bool isEnd = isEndOfParagraph(insertPos);
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/platform/graphics/HEVCUtilities.h
Expand Up @@ -59,7 +59,7 @@ WEBCORE_EXPORT std::optional<HEVCParameters> parseHEVCDecoderConfigurationRecord
WEBCORE_EXPORT String createHEVCCodecParametersString(const HEVCParameters&);

struct DoViParameters {
enum class Codec { AVC1, AVC3, HEV1, HVC1 } codec;
enum class Codec { AVC1, AVC3, HEV1, HVC1 } codec { Codec::HVC1 };
uint16_t bitstreamProfileID { 0 };
uint16_t bitstreamLevelID { 0 };
};
Expand Down
8 changes: 7 additions & 1 deletion Source/WebCore/testing/Internals.cpp
Expand Up @@ -2984,7 +2984,13 @@ RefPtr<WindowProxy> Internals::openDummyInspectorFrontend(const String& url)
{
auto* inspectedPage = contextDocument()->frame()->page();
auto* localMainFrame = dynamicDowncast<LocalFrame>(inspectedPage->mainFrame());
auto* window = localMainFrame ? localMainFrame->document()->domWindow() : nullptr;
if (!localMainFrame)
return nullptr;

auto* window = localMainFrame->document()->domWindow();
if (!window)
return nullptr;

auto frontendWindowProxy = window->open(*window, *window, url, emptyAtom(), emptyString()).releaseReturnValue();
m_inspectorFrontend = makeUnique<InspectorStubFrontend>(*inspectedPage, downcast<LocalDOMWindow>(frontendWindowProxy->window()));
return frontendWindowProxy;
Expand Down
4 changes: 2 additions & 2 deletions Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.cpp
Expand Up @@ -648,9 +648,9 @@ WebKitDownload* webkit_network_session_download_uri(WebKitNetworkSession* sessio

WebCore::ResourceRequest request(String::fromUTF8(uri));
auto& websiteDataStore = webkitWebsiteDataManagerGetDataStore(session->priv->websiteDataManager.get());
auto& downloadProxy = websiteDataStore.createDownloadProxy(adoptRef(*new API::DownloadClient), request, nullptr, { });
auto downloadProxy = websiteDataStore.createDownloadProxy(adoptRef(*new API::DownloadClient), request, nullptr, { });
auto download = webkitDownloadCreate(downloadProxy);
downloadProxy.setDidStartCallback([session = GRefPtr<WebKitNetworkSession> { session }, download = download.get()](auto* downloadProxy) {
downloadProxy->setDidStartCallback([session = GRefPtr<WebKitNetworkSession> { session }, download = download.get()](auto* downloadProxy) {
if (!downloadProxy)
return;

Expand Down
6 changes: 3 additions & 3 deletions Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
Expand Up @@ -1079,9 +1079,9 @@ WebKitDownload* webkit_web_context_download_uri(WebKitWebContext* context, const

WebCore::ResourceRequest request(String::fromUTF8(uri));
auto& websiteDataStore = webkitWebsiteDataManagerGetDataStore(context->priv->websiteDataManager.get());
auto& downloadProxy = context->priv->processPool->download(websiteDataStore, nullptr, request);
auto download = webkitDownloadCreate(downloadProxy);
downloadProxy.setDidStartCallback([context = GRefPtr<WebKitWebContext> { context }, download = download.get()](auto* downloadProxy) {
auto downloadProxy = context->priv->processPool->download(websiteDataStore, nullptr, request);
auto download = webkitDownloadCreate(downloadProxy.get());
downloadProxy->setDidStartCallback([context = GRefPtr<WebKitWebContext> { context }, download = download.get()](auto* downloadProxy) {
if (!downloadProxy)
return;

Expand Down
6 changes: 3 additions & 3 deletions Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
Expand Up @@ -4784,12 +4784,12 @@ WebKitDownload* webkit_web_view_download_uri(WebKitWebView* webView, const char*
g_return_val_if_fail(uri, nullptr);

auto& page = getPage(webView);
auto& downloadProxy = page.process().processPool().download(page.websiteDataStore(), &page, ResourceRequest { String::fromUTF8(uri) });
auto downloadProxy = page.process().processPool().download(page.websiteDataStore(), &page, ResourceRequest { String::fromUTF8(uri) });
auto download = webkitDownloadCreate(downloadProxy, webView);
#if ENABLE(2022_GLIB_API)
downloadProxy.setDidStartCallback([session = GRefPtr<WebKitNetworkSession> { webView->priv->networkSession }, download = download.get()](auto* downloadProxy) {
downloadProxy->setDidStartCallback([session = GRefPtr<WebKitNetworkSession> { webView->priv->networkSession }, download = download.get()](auto* downloadProxy) {
#else
downloadProxy.setDidStartCallback([context = GRefPtr<WebKitWebContext> { webView->priv->context }, download = download.get()](auto* downloadProxy) {
downloadProxy->setDidStartCallback([context = GRefPtr<WebKitWebContext> { webView->priv->context }, download = download.get()](auto* downloadProxy) {
#endif
if (!downloadProxy)
return;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp
Expand Up @@ -69,7 +69,7 @@ void DownloadProxyMap::platformDestroy()
}
#endif

DownloadProxy& DownloadProxyMap::createDownloadProxy(WebsiteDataStore& dataStore, Ref<API::DownloadClient>&& client, const WebCore::ResourceRequest& resourceRequest, const FrameInfoData& frameInfo, WebPageProxy* originatingPage)
Ref<DownloadProxy> DownloadProxyMap::createDownloadProxy(WebsiteDataStore& dataStore, Ref<API::DownloadClient>&& client, const WebCore::ResourceRequest& resourceRequest, const FrameInfoData& frameInfo, WebPageProxy* originatingPage)
{
auto downloadProxy = DownloadProxy::create(*this, dataStore, WTFMove(client), resourceRequest, frameInfo, originatingPage);
m_downloads.set(downloadProxy->downloadID(), downloadProxy.copyRef());
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit/UIProcess/Downloads/DownloadProxyMap.h
Expand Up @@ -60,7 +60,7 @@ class DownloadProxyMap : public CanMakeWeakPtr<DownloadProxyMap> {
explicit DownloadProxyMap(NetworkProcessProxy&);
~DownloadProxyMap();

DownloadProxy& createDownloadProxy(WebsiteDataStore&, Ref<API::DownloadClient>&&, const WebCore::ResourceRequest&, const FrameInfoData&, WebPageProxy* originatingPage);
Ref<DownloadProxy> createDownloadProxy(WebsiteDataStore&, Ref<API::DownloadClient>&&, const WebCore::ResourceRequest&, const FrameInfoData&, WebPageProxy* originatingPage);
void downloadFinished(DownloadProxy&);

bool isEmpty() const { return m_downloads.isEmpty(); }
Expand Down
3 changes: 2 additions & 1 deletion Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
Expand Up @@ -35,6 +35,7 @@
#include "AuthenticationChallengeProxy.h"
#include "AuthenticationManager.h"
#include "BackgroundFetchState.h"
#include "DownloadProxy.h"
#include "DownloadProxyMap.h"
#include "DownloadProxyMessages.h"
#include "FrameInfoData.h"
Expand Down Expand Up @@ -336,7 +337,7 @@ void NetworkProcessProxy::synthesizeAppIsBackground(bool background)
applicationWillEnterForeground();
}

DownloadProxy& NetworkProcessProxy::createDownloadProxy(WebsiteDataStore& dataStore, Ref<API::DownloadClient>&& client, const ResourceRequest& resourceRequest, const FrameInfoData& frameInfo, WebPageProxy* originatingPage)
Ref<DownloadProxy> NetworkProcessProxy::createDownloadProxy(WebsiteDataStore& dataStore, Ref<API::DownloadClient>&& client, const ResourceRequest& resourceRequest, const FrameInfoData& frameInfo, WebPageProxy* originatingPage)
{
if (!m_downloadProxyMap)
m_downloadProxyMap = makeUnique<DownloadProxyMap>(*this);
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
Expand Up @@ -127,7 +127,7 @@ class NetworkProcessProxy final : public AuxiliaryProcessProxy, private ProcessT

void getNetworkProcessConnection(WebProcessProxy&, CompletionHandler<void(NetworkProcessConnectionInfo&&)>&&);

DownloadProxy& createDownloadProxy(WebsiteDataStore&, Ref<API::DownloadClient>&&, const WebCore::ResourceRequest&, const FrameInfoData&, WebPageProxy* originatingPage);
Ref<DownloadProxy> createDownloadProxy(WebsiteDataStore&, Ref<API::DownloadClient>&&, const WebCore::ResourceRequest&, const FrameInfoData&, WebPageProxy* originatingPage);
void dataTaskWithRequest(WebPageProxy&, PAL::SessionID, WebCore::ResourceRequest&&, CompletionHandler<void(API::DataTask&)>&&);

void fetchWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, OptionSet<WebsiteDataFetchOption>, CompletionHandler<void(WebsiteData)>&&);
Expand Down
24 changes: 12 additions & 12 deletions Source/WebKit/UIProcess/WebPageProxy.cpp
Expand Up @@ -3760,8 +3760,8 @@ void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation*
std::optional<DownloadID> downloadID;
if (action == PolicyAction::Download) {
// Create a download proxy.
auto& download = m_process->processPool().createDownloadProxy(m_websiteDataStore, m_decidePolicyForResponseRequest, this, navigation ? navigation->originatingFrameInfo() : FrameInfoData { });
download.setDidStartCallback([this, weakThis = WeakPtr { *this }, navigationActionOrResponse = WTFMove(navigationActionOrResponse)] (auto* downloadProxy) {
auto download = m_process->processPool().createDownloadProxy(m_websiteDataStore, m_decidePolicyForResponseRequest, this, navigation ? navigation->originatingFrameInfo() : FrameInfoData { });
download->setDidStartCallback([this, weakThis = WeakPtr { *this }, navigationActionOrResponse = WTFMove(navigationActionOrResponse)] (auto* downloadProxy) {
if (!weakThis || !downloadProxy)
return;
WTF::switchOn(navigationActionOrResponse,
Expand All @@ -3775,11 +3775,11 @@ void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation*
);
});
if (navigation) {
download.setWasUserInitiated(navigation->wasUserInitiated());
download.setRedirectChain(navigation->takeRedirectChain());
download->setWasUserInitiated(navigation->wasUserInitiated());
download->setRedirectChain(navigation->takeRedirectChain());
}

downloadID = download.downloadID();
downloadID = download->downloadID();
m_decidePolicyForResponseRequest = { };
}

Expand Down Expand Up @@ -6879,15 +6879,15 @@ void WebPageProxy::setMayStartMediaWhenInWindow(bool mayStartMedia)

void WebPageProxy::resumeDownload(const API::Data& resumeData, const String& path, CompletionHandler<void(DownloadProxy*)>&& completionHandler)
{
auto& download = process().processPool().resumeDownload(websiteDataStore(), this, resumeData, path, CallDownloadDidStart::Yes);
download.setDestinationFilename(path);
download.setDidStartCallback(WTFMove(completionHandler));
auto download = process().processPool().resumeDownload(websiteDataStore(), this, resumeData, path, CallDownloadDidStart::Yes);
download->setDestinationFilename(path);
download->setDidStartCallback(WTFMove(completionHandler));
}

void WebPageProxy::downloadRequest(WebCore::ResourceRequest&& request, CompletionHandler<void(DownloadProxy*)>&& completionHandler)
{
auto& download = process().processPool().download(websiteDataStore(), this, request, { });
download.setDidStartCallback(WTFMove(completionHandler));
auto download = process().processPool().download(websiteDataStore(), this, request, { });
download->setDidStartCallback(WTFMove(completionHandler));
}

void WebPageProxy::dataTaskWithRequest(WebCore::ResourceRequest&& request, CompletionHandler<void(API::DataTask&)>&& completionHandler)
Expand Down Expand Up @@ -7591,8 +7591,8 @@ void WebPageProxy::contextMenuItemSelected(const WebContextMenuItemData& item)
}

if (downloadInfo) {
auto& download = m_process->processPool().download(m_websiteDataStore, this, URL { downloadInfo->url }, downloadInfo->suggestedFilename);
download.setDidStartCallback([this, weakThis = WeakPtr { *this }] (auto* download) {
auto download = m_process->processPool().download(m_websiteDataStore, this, URL { downloadInfo->url }, downloadInfo->suggestedFilename);
download->setDidStartCallback([this, weakThis = WeakPtr { *this }] (auto* download) {
if (!weakThis || !download)
return;
m_navigationClient->contextMenuDidCreateDownload(*this, *download);
Expand Down
10 changes: 5 additions & 5 deletions Source/WebKit/UIProcess/WebProcessPool.cpp
Expand Up @@ -1189,16 +1189,16 @@ bool WebProcessPool::hasPagesUsingWebsiteDataStore(WebsiteDataStore& dataStore)
return m_sessionToPageIDsMap.contains(dataStore.sessionID());
}

DownloadProxy& WebProcessPool::download(WebsiteDataStore& dataStore, WebPageProxy* initiatingPage, const ResourceRequest& request, const String& suggestedFilename)
Ref<DownloadProxy> WebProcessPool::download(WebsiteDataStore& dataStore, WebPageProxy* initiatingPage, const ResourceRequest& request, const String& suggestedFilename)
{
auto& downloadProxy = createDownloadProxy(dataStore, request, initiatingPage, { });
auto downloadProxy = createDownloadProxy(dataStore, request, initiatingPage, { });
dataStore.download(downloadProxy, suggestedFilename);
return downloadProxy;
}

DownloadProxy& WebProcessPool::resumeDownload(WebsiteDataStore& dataStore, WebPageProxy* initiatingPage, const API::Data& resumeData, const String& path, CallDownloadDidStart callDownloadDidStart)
Ref<DownloadProxy> WebProcessPool::resumeDownload(WebsiteDataStore& dataStore, WebPageProxy* initiatingPage, const API::Data& resumeData, const String& path, CallDownloadDidStart callDownloadDidStart)
{
auto& downloadProxy = createDownloadProxy(dataStore, ResourceRequest(), initiatingPage, { });
auto downloadProxy = createDownloadProxy(dataStore, ResourceRequest(), initiatingPage, { });
dataStore.resumeDownload(downloadProxy, resumeData, path, callDownloadDidStart);
return downloadProxy;
}
Expand Down Expand Up @@ -1411,7 +1411,7 @@ void WebProcessPool::setDefaultRequestTimeoutInterval(double timeoutInterval)
sendToAllProcesses(Messages::WebProcess::SetDefaultRequestTimeoutInterval(timeoutInterval));
}

DownloadProxy& WebProcessPool::createDownloadProxy(WebsiteDataStore& dataStore, const ResourceRequest& request, WebPageProxy* originatingPage, const FrameInfoData& frameInfo)
Ref<DownloadProxy> WebProcessPool::createDownloadProxy(WebsiteDataStore& dataStore, const ResourceRequest& request, WebPageProxy* originatingPage, const FrameInfoData& frameInfo)
{
auto client = m_legacyDownloadClient ? Ref<API::DownloadClient>(*m_legacyDownloadClient) : adoptRef(*new API::DownloadClient);
return dataStore.createDownloadProxy(WTFMove(client), request, originatingPage, frameInfo);
Expand Down
6 changes: 3 additions & 3 deletions Source/WebKit/UIProcess/WebProcessPool.h
Expand Up @@ -219,8 +219,8 @@ class WebProcessPool final

const String& injectedBundlePath() const { return m_configuration->injectedBundlePath(); }

DownloadProxy& download(WebsiteDataStore&, WebPageProxy* initiatingPage, const WebCore::ResourceRequest&, const String& suggestedFilename = { });
DownloadProxy& resumeDownload(WebsiteDataStore&, WebPageProxy* initiatingPage, const API::Data& resumeData, const String& path, CallDownloadDidStart);
Ref<DownloadProxy> download(WebsiteDataStore&, WebPageProxy* initiatingPage, const WebCore::ResourceRequest&, const String& suggestedFilename = { });
Ref<DownloadProxy> resumeDownload(WebsiteDataStore&, WebPageProxy* initiatingPage, const API::Data& resumeData, const String& path, CallDownloadDidStart);

void setInjectedBundleInitializationUserData(RefPtr<API::Object>&& userData) { m_injectedBundleInitializationUserData = WTFMove(userData); }

Expand Down Expand Up @@ -287,7 +287,7 @@ class WebProcessPool final
void setEnhancedAccessibility(bool);

// Downloads.
DownloadProxy& createDownloadProxy(WebsiteDataStore&, const WebCore::ResourceRequest&, WebPageProxy* originatingPage, const FrameInfoData&);
Ref<DownloadProxy> createDownloadProxy(WebsiteDataStore&, const WebCore::ResourceRequest&, WebPageProxy* originatingPage, const FrameInfoData&);

API::LegacyContextHistoryClient& historyClient() { return *m_historyClient; }
WebContextClient& client() { return m_client; }
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
Expand Up @@ -2349,7 +2349,7 @@ void WebsiteDataStore::setEmulatedConditions(std::optional<int64_t>&& bytesPerSe

#endif // ENABLE(INSPECTOR_NETWORK_THROTTLING)

DownloadProxy& WebsiteDataStore::createDownloadProxy(Ref<API::DownloadClient>&& client, const WebCore::ResourceRequest& request, WebPageProxy* originatingPage, const FrameInfoData& frameInfo)
Ref<DownloadProxy> WebsiteDataStore::createDownloadProxy(Ref<API::DownloadClient>&& client, const WebCore::ResourceRequest& request, WebPageProxy* originatingPage, const FrameInfoData& frameInfo)
{
return networkProcess().createDownloadProxy(*this, WTFMove(client), request, frameInfo, originatingPage);
}
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
Expand Up @@ -438,7 +438,7 @@ class WebsiteDataStore : public API::ObjectImpl<API::Object::Type::WebsiteDataSt
void setServiceWorkerOverridePreferences(WebPreferences* preferences) { m_serviceWorkerOverridePreferences = preferences; }
WebPreferences* serviceWorkerOverridePreferences() const { return m_serviceWorkerOverridePreferences.get(); }

DownloadProxy& createDownloadProxy(Ref<API::DownloadClient>&&, const WebCore::ResourceRequest&, WebPageProxy* originatingPage, const FrameInfoData&);
Ref<DownloadProxy> createDownloadProxy(Ref<API::DownloadClient>&&, const WebCore::ResourceRequest&, WebPageProxy* originatingPage, const FrameInfoData&);
void download(const DownloadProxy&, const String& suggestedFilename);
void resumeDownload(const DownloadProxy&, const API::Data&, const String& path, CallDownloadDidStart);

Expand Down

0 comments on commit 6138f16

Please sign in to comment.