[webkit-reviews] review denied: [Bug 197463] Reuse existing WebPageProxy quota handler for NetworkProcessProxy quota requests : [Attachment 369591] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 13 15:05:57 PDT 2019

Alex Christensen <achristensen at apple.com> has denied youenn fablet
<youennf at gmail.com>'s request for review:
Bug 197463: Reuse existing WebPageProxy quota handler for NetworkProcessProxy
quota requests

Attachment 369591: Patch


--- Comment #9 from Alex Christensen <achristensen at apple.com> ---
Comment on attachment 369591
  --> https://bugs.webkit.org/attachment.cgi?id=369591

View in context: https://bugs.webkit.org/attachment.cgi?id=369591&action=review

Seems ok, but needs some refinement.

> Source/WebKit/UIProcess/WebPageProxy.cpp:365
> +void WebPageProxy::forMostVisibleWebPageIfAny(PAL::SessionID sessionID,
const SecurityOriginData& origin, CompletionHandler<void(WebPageProxy*)>&&

This seems kind of hacky.  It assumes that there is one dominant WKWebView,
which I don't think is a good assumption in some apps.

> Source/WebKit/UIProcess/WebPageProxy.cpp:4385
> +    m_isQuotaIncreaseDenied = false;

Is this called during fragment navigations?  If it is, we might want to put
this elsewhere, or keep track of this some other way.  Otherwise, a website
could just do a quick hash navigation then ask again.  Please add a test that
tries this.

> Source/WebKit/UIProcess/WebProcessProxy.cpp:125
> +void WebProcessProxy::forWebPages(PAL::SessionID sessionID, const
SecurityOriginData& origin, const WTF::Function<void(WebPageProxy&)>& callback)

WTF:: unnecessary here and in header.  Same with WTF::CompletionHandler in

> Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreClient.h:41
> +    virtual bool implementsRequestStorageSpaceHandler() const { return
false; }
>      virtual void requestStorageSpace(const WebCore::SecurityOriginData&
topOrigin, const WebCore::SecurityOriginData& frameOrigin, uint64_t quota,
uint64_t currentSize, uint64_t spaceRequired,
CompletionHandler<void(Optional<uint64_t>)>&& completionHandler)

I think we prefer to just pass in a CompletionHandler& and if it's null
afterwards then it was used otherwise do something else with it.  That keeps
our client interfaces a bit cleaner than adding a separate function to do the

> Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:2
> + * Copyright (C) 2016 Apple Inc. All rights reserved.


> Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:215
> +    [webView1.get().window setIsVisible:YES];
> +#else
> +    webView1.get().window.hidden = NO;
> +#endif

This is used 3 times here.  Maybe a good utility function.

More information about the webkit-reviews mailing list