On Sat, 5 Feb 2022 14:57:50 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

>> modules/javafx.web/src/main/native/Source/WebCore/page/DOMWindow.cpp line 
>> 857:
>> 
>>> 855:             return m_localStorage.get();
>>> 856:     }
>>> 857: 
>> 
>> This will change the behavior for the case where page is null or where the 
>> page is valid, but not closing. I think you should partially revert this 
>> part of the fix, restoring it as follows:
>> 
>> 
>>     if (m_localStorage)
>>         return m_localStorage.get();
>
> I still think you need to restore this block, but without the check for 
> `isClosing`.

Kindly look code 👍
ExceptionOr<Storage*> DOMWindow::localStorage()
{
if (!isCurrentlyDisplayedInFrame())
return nullptr;

RefPtr document = this->document();
if (!document)
    return nullptr;

if (!document->securityOrigin().canAccessLocalStorage(nullptr))
    return Exception { SecurityError };

// FIXME: We should consider supporting access/modification to local storage
// after calling window.close(). See 
<https://bugs.webkit.org/show_bug.cgi?id=135330>.
if (m_localStorage)
    return m_localStorage.get();

auto* page = document->page();
if (!page)
    return nullptr;

// Check if localstorage setting is disabled, then return nullptr
if (!page->settings().localStorageEnabled())
    return nullptr;

auto storageArea = page->storageNamespaceProvider().localStorageArea(*document);
m_localStorage = Storage::create(*this, WTFMove(storageArea));
return m_localStorage.get();

}
is it now ok?

-------------

PR: https://git.openjdk.java.net/jfx/pull/703

Reply via email to