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
Jeremy Jones
Comment 1 2017-10-26 16:26:25 PDT
Note You need to log in before you can comment on or make changes to this bug.