WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
178893
Revisit WebKit api pattern where Page owns the client.
https://bugs.webkit.org/show_bug.cgi?id=178893
Summary
Revisit WebKit api pattern where Page owns the client.
Jeremy Jones
Reported
2017-10-26 16:26:07 PDT
> This API seems a bit weird. Normally you don't pass ownership of a client to > the thing that it's a client of. You hold ownership, and the client > relationship is weak.
Search for '_page->set[a-zA-Z]*Client\(' shows this pattern in lots of places: _page->setFindClient(std::make_unique<WebKit::FindClient>(self)); _page->setDiagnosticLoggingClient(std::make_unique<WebKit::DiagnosticLoggingClient>(self)); _page->setNavigationClient(_navigationState->createNavigationClient()); _page->setContextMenuClient(_uiDelegate->createContextMenuClient()); _page->setUIClient(_uiDelegate->createUIClient()); _page->setIconLoadingClient(_iconLoadingDelegate->createIconLoadingClient()); _page->setHistoryClient(_navigationState->createHistoryClient()); _page->setFormClient(std::make_unique<FormClient>(self)); m_page->setFullscreenClient(std::make_unique<WebKit::FullscreenClient>(view)); _page->setFindMatchesClient(std::make_unique<TextFinderFindClient>(self)); Maybe this should be revisited
Attachments
Add attachment
proposed patch, testcase, etc.
Jeremy Jones
Comment 1
2017-10-26 16:26:25 PDT
From comments on
https://bugs.webkit.org/show_bug.cgi?id=178089
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug