1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-02-07 04:10:08 +00:00

Added a clearCookies method to WebBrowserComponent to clear any stored cookies

This commit is contained in:
hogliux 2017-04-18 18:03:53 +01:00
parent 837ac2143c
commit 6292ccf5c3
5 changed files with 61 additions and 0 deletions

View file

@ -364,3 +364,35 @@ void WebBrowserComponent::focusGained (FocusChangeType)
oleObject->Release();
}
}
void WebBrowserComponent::clearCookies()
{
HeapBlock<::INTERNET_CACHE_ENTRY_INFO> entry;
::DWORD entrySize = sizeof (::INTERNET_CACHE_ENTRY_INFO);
::HANDLE urlCacheHandle = ::FindFirstUrlCacheEntry (TEXT ("cookie:"), entry.getData(), &entrySize);
if (urlCacheHandle == nullptr && GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
entry.realloc (1, entrySize);
urlCacheHandle = ::FindFirstUrlCacheEntry (TEXT ("cookie:"), entry.getData(), &entrySize);
}
if (urlCacheHandle != nullptr)
{
while (true)
{
::DeleteUrlCacheEntry (entry.getData()->lpszSourceUrlName);
if (::FindNextUrlCacheEntry (urlCacheHandle, entry.getData(), &entrySize) == 0
&& GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
entry.realloc (1, entrySize);
if (::FindNextUrlCacheEntry (urlCacheHandle, entry.getData(), &entrySize) == 0)
break;
}
}
FindCloseUrlCache (urlCacheHandle);
}
}