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:
parent
837ac2143c
commit
6292ccf5c3
5 changed files with 61 additions and 0 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue