Changeset 218259 in webkit
- Timestamp:
- Jun 14, 2017 9:13:19 AM (7 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r218251 r218259 1 2017-06-14 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 API clients should not be passed by value to the setters 4 https://bugs.webkit.org/show_bug.cgi?id=173266 5 6 Reviewed by Alex Christensen. 7 8 By using a rvalue reference we make it more explicit that the ownership is transferred and we avoid the 9 parameter construction. 10 11 * UIProcess/Automation/WebAutomationSession.cpp: 12 (WebKit::WebAutomationSession::setClient): 13 * UIProcess/Automation/WebAutomationSession.h: 14 * UIProcess/WebGeolocationManagerProxy.cpp: 15 (WebKit::WebGeolocationManagerProxy::setProvider): 16 * UIProcess/WebGeolocationManagerProxy.h: 17 * UIProcess/WebIconDatabase.cpp: 18 (WebKit::WebIconDatabase::setClient): 19 * UIProcess/WebIconDatabase.h: 20 * UIProcess/WebPageProxy.cpp: 21 (WebKit::WebPageProxy::WebPageProxy): 22 (WebKit::WebPageProxy::setHistoryClient): 23 (WebKit::WebPageProxy::setNavigationClient): 24 (WebKit::WebPageProxy::setLoaderClient): 25 (WebKit::WebPageProxy::setPolicyClient): 26 (WebKit::WebPageProxy::setFormClient): 27 (WebKit::WebPageProxy::setUIClient): 28 (WebKit::WebPageProxy::setIconLoadingClient): 29 (WebKit::WebPageProxy::setFindClient): 30 (WebKit::WebPageProxy::setFindMatchesClient): 31 (WebKit::WebPageProxy::setDiagnosticLoggingClient): 32 (WebKit::WebPageProxy::setContextMenuClient): 33 (WebKit::WebPageProxy::close): 34 (WebKit::WebPageProxy::setFullscreenClient): 35 (WebKit::WebPageProxy::getLoadDecisionForIcon): 36 * UIProcess/WebPageProxy.h: 37 * UIProcess/WebProcessPool.cpp: 38 (WebKit::WebProcessPool::setHistoryClient): 39 (WebKit::WebProcessPool::setDownloadClient): 40 (WebKit::WebProcessPool::setAutomationClient): 41 * UIProcess/WebProcessPool.h: 42 * WebProcess/WebPage/WebPage.cpp: 43 (WebKit::WebPage::setInjectedBundleContextMenuClient): 44 (WebKit::WebPage::setInjectedBundleEditorClient): 45 (WebKit::WebPage::setInjectedBundleFormClient): 46 (WebKit::WebPage::setInjectedBundlePageLoaderClient): 47 (WebKit::WebPage::setInjectedBundleUIClient): 48 * WebProcess/WebPage/WebPage.h: 49 1 50 2017-06-14 Carlos Garcia Campos <cgarcia@igalia.com> 2 51 -
trunk/Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp
r217509 r218259 64 64 } 65 65 66 void WebAutomationSession::setClient(std::unique_ptr<API::AutomationSessionClient> client)66 void WebAutomationSession::setClient(std::unique_ptr<API::AutomationSessionClient>&& client) 67 67 { 68 68 m_client = WTFMove(client); -
trunk/Source/WebKit2/UIProcess/Automation/WebAutomationSession.h
r217509 r218259 79 79 ~WebAutomationSession(); 80 80 81 void setClient(std::unique_ptr<API::AutomationSessionClient> );81 void setClient(std::unique_ptr<API::AutomationSessionClient>&&); 82 82 83 83 void setSessionIdentifier(const String& sessionIdentifier) { m_sessionIdentifier = sessionIdentifier; } -
trunk/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.cpp
r218165 r218259 51 51 } 52 52 53 void WebGeolocationManagerProxy::setProvider(std::unique_ptr<API::GeolocationProvider> provider)53 void WebGeolocationManagerProxy::setProvider(std::unique_ptr<API::GeolocationProvider>&& provider) 54 54 { 55 55 if (!provider) -
trunk/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h
r218165 r218259 48 48 static Ref<WebGeolocationManagerProxy> create(WebProcessPool*); 49 49 50 void setProvider(std::unique_ptr<API::GeolocationProvider> );50 void setProvider(std::unique_ptr<API::GeolocationProvider>&&); 51 51 52 52 void providerDidChangePosition(WebGeolocationPosition*); -
trunk/Source/WebKit2/UIProcess/WebIconDatabase.cpp
r218107 r218259 236 236 } 237 237 238 void WebIconDatabase::setClient(std::unique_ptr<API::IconDatabaseClient> client)238 void WebIconDatabase::setClient(std::unique_ptr<API::IconDatabaseClient>&& client) 239 239 { 240 240 if (!client) -
trunk/Source/WebKit2/UIProcess/WebIconDatabase.h
r218107 r218259 82 82 void close(); 83 83 84 void setClient(std::unique_ptr<API::IconDatabaseClient> );84 void setClient(std::unique_ptr<API::IconDatabaseClient>&&); 85 85 86 86 void setPrivateBrowsingEnabled(bool); -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r217971 r218259 327 327 , m_loaderClient(std::make_unique<API::LoaderClient>()) 328 328 , m_policyClient(std::make_unique<API::PolicyClient>()) 329 , m_iconLoadingClient(std::make_unique<API::IconLoadingClient>()) 329 330 , m_formClient(std::make_unique<API::FormClient>()) 330 331 , m_uiClient(std::make_unique<API::UIClient>()) … … 470 471 } 471 472 472 void WebPageProxy::setHistoryClient(std::unique_ptr<API::HistoryClient> historyClient)473 void WebPageProxy::setHistoryClient(std::unique_ptr<API::HistoryClient>&& historyClient) 473 474 { 474 475 m_historyClient = WTFMove(historyClient); 475 476 } 476 477 477 void WebPageProxy::setNavigationClient(std::unique_ptr<API::NavigationClient> navigationClient)478 void WebPageProxy::setNavigationClient(std::unique_ptr<API::NavigationClient>&& navigationClient) 478 479 { 479 480 m_navigationClient = WTFMove(navigationClient); 480 481 } 481 482 482 void WebPageProxy::setLoaderClient(std::unique_ptr<API::LoaderClient> loaderClient)483 void WebPageProxy::setLoaderClient(std::unique_ptr<API::LoaderClient>&& loaderClient) 483 484 { 484 485 if (!loaderClient) { … … 490 491 } 491 492 492 void WebPageProxy::setPolicyClient(std::unique_ptr<API::PolicyClient> policyClient)493 void WebPageProxy::setPolicyClient(std::unique_ptr<API::PolicyClient>&& policyClient) 493 494 { 494 495 if (!policyClient) { … … 500 501 } 501 502 502 void WebPageProxy::setFormClient(std::unique_ptr<API::FormClient> formClient)503 void WebPageProxy::setFormClient(std::unique_ptr<API::FormClient>&& formClient) 503 504 { 504 505 if (!formClient) { … … 510 511 } 511 512 512 void WebPageProxy::setUIClient(std::unique_ptr<API::UIClient> uiClient)513 void WebPageProxy::setUIClient(std::unique_ptr<API::UIClient>&& uiClient) 513 514 { 514 515 if (!uiClient) { … … 526 527 } 527 528 528 void WebPageProxy::setIconLoadingClient(std::unique_ptr<API::IconLoadingClient> iconLoadingClient)529 void WebPageProxy::setIconLoadingClient(std::unique_ptr<API::IconLoadingClient>&& iconLoadingClient) 529 530 { 530 531 bool hasClient = iconLoadingClient.get(); … … 540 541 } 541 542 542 void WebPageProxy::setFindClient(std::unique_ptr<API::FindClient> findClient)543 void WebPageProxy::setFindClient(std::unique_ptr<API::FindClient>&& findClient) 543 544 { 544 545 if (!findClient) { … … 550 551 } 551 552 552 void WebPageProxy::setFindMatchesClient(std::unique_ptr<API::FindMatchesClient> findMatchesClient)553 void WebPageProxy::setFindMatchesClient(std::unique_ptr<API::FindMatchesClient>&& findMatchesClient) 553 554 { 554 555 if (!findMatchesClient) { … … 560 561 } 561 562 562 void WebPageProxy::setDiagnosticLoggingClient(std::unique_ptr<API::DiagnosticLoggingClient> diagnosticLoggingClient)563 void WebPageProxy::setDiagnosticLoggingClient(std::unique_ptr<API::DiagnosticLoggingClient>&& diagnosticLoggingClient) 563 564 { 564 565 if (!diagnosticLoggingClient) { … … 571 572 572 573 #if ENABLE(CONTEXT_MENUS) 573 void WebPageProxy::setContextMenuClient(std::unique_ptr<API::ContextMenuClient> contextMenuClient)574 void WebPageProxy::setContextMenuClient(std::unique_ptr<API::ContextMenuClient>&& contextMenuClient) 574 575 { 575 576 if (!contextMenuClient) { … … 759 760 m_navigationClient = nullptr; 760 761 m_policyClient = std::make_unique<API::PolicyClient>(); 762 m_iconLoadingClient = std::make_unique<API::IconLoadingClient>(); 761 763 m_formClient = std::make_unique<API::FormClient>(); 762 764 m_uiClient = std::make_unique<API::UIClient>(); … … 766 768 #if ENABLE(CONTEXT_MENUS) 767 769 m_contextMenuClient = std::make_unique<API::ContextMenuClient>(); 770 #endif 771 #if ENABLE(FULLSCREEN_API) 772 m_fullscreenClient = std::make_unique<API::FullscreenClient>(); 768 773 #endif 769 774 … … 4271 4276 } 4272 4277 4273 void WebPageProxy::setFullscreenClient(std::unique_ptr<API::FullscreenClient> client) 4274 { 4278 void WebPageProxy::setFullscreenClient(std::unique_ptr<API::FullscreenClient>&& client) 4279 { 4280 if (!client) { 4281 m_fullscreenClient = std::make_unique<API::FullscreenClient>(); 4282 return; 4283 } 4284 4275 4285 m_fullscreenClient = WTFMove(client); 4276 4286 } … … 6742 6752 void WebPageProxy::getLoadDecisionForIcon(const WebCore::LinkIcon& icon, uint64_t loadIdentifier) 6743 6753 { 6744 if (!m_iconLoadingClient)6745 return;6746 6747 6754 m_iconLoadingClient->getLoadDecisionForIcon(icon, [this, protectedThis = RefPtr<WebPageProxy>(this), loadIdentifier](std::function<void (API::Data*, CallbackBase::Error)> callbackFunction) { 6748 6755 if (!isValid()) { -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r217971 r218259 335 335 336 336 API::FullscreenClient& fullscreenClient() const { return *m_fullscreenClient; } 337 void setFullscreenClient(std::unique_ptr<API::FullscreenClient> );337 void setFullscreenClient(std::unique_ptr<API::FullscreenClient>&&); 338 338 #endif 339 339 #if (PLATFORM(IOS) && HAVE(AVKIT)) || (PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE)) … … 349 349 #if ENABLE(CONTEXT_MENUS) 350 350 API::ContextMenuClient& contextMenuClient() { return *m_contextMenuClient; } 351 void setContextMenuClient(std::unique_ptr<API::ContextMenuClient> );351 void setContextMenuClient(std::unique_ptr<API::ContextMenuClient>&&); 352 352 #endif 353 353 API::FindClient& findClient() { return *m_findClient; } 354 void setFindClient(std::unique_ptr<API::FindClient> );354 void setFindClient(std::unique_ptr<API::FindClient>&&); 355 355 API::FindMatchesClient& findMatchesClient() { return *m_findMatchesClient; } 356 void setFindMatchesClient(std::unique_ptr<API::FindMatchesClient> );356 void setFindMatchesClient(std::unique_ptr<API::FindMatchesClient>&&); 357 357 API::DiagnosticLoggingClient& diagnosticLoggingClient() { return *m_diagnosticLoggingClient; } 358 void setDiagnosticLoggingClient(std::unique_ptr<API::DiagnosticLoggingClient> );359 void setFormClient(std::unique_ptr<API::FormClient> );360 void setNavigationClient(std::unique_ptr<API::NavigationClient> );361 void setHistoryClient(std::unique_ptr<API::HistoryClient> );362 void setLoaderClient(std::unique_ptr<API::LoaderClient> );363 void setPolicyClient(std::unique_ptr<API::PolicyClient> );358 void setDiagnosticLoggingClient(std::unique_ptr<API::DiagnosticLoggingClient>&&); 359 void setFormClient(std::unique_ptr<API::FormClient>&&); 360 void setNavigationClient(std::unique_ptr<API::NavigationClient>&&); 361 void setHistoryClient(std::unique_ptr<API::HistoryClient>&&); 362 void setLoaderClient(std::unique_ptr<API::LoaderClient>&&); 363 void setPolicyClient(std::unique_ptr<API::PolicyClient>&&); 364 364 void setInjectedBundleClient(const WKPageInjectedBundleClientBase*); 365 365 WebPageInjectedBundleClient* injectedBundleClient() { return m_injectedBundleClient.get(); } 366 366 367 367 API::UIClient& uiClient() { return *m_uiClient; } 368 void setUIClient(std::unique_ptr<API::UIClient> );368 void setUIClient(std::unique_ptr<API::UIClient>&&); 369 369 370 370 API::IconLoadingClient& iconLoadingClient() { return *m_iconLoadingClient; } 371 void setIconLoadingClient(std::unique_ptr<API::IconLoadingClient> );371 void setIconLoadingClient(std::unique_ptr<API::IconLoadingClient>&&); 372 372 373 373 void initializeWebPage(); -
trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp
r218138 r218259 341 341 } 342 342 343 void WebProcessPool::setHistoryClient(std::unique_ptr<API::LegacyContextHistoryClient> historyClient)343 void WebProcessPool::setHistoryClient(std::unique_ptr<API::LegacyContextHistoryClient>&& historyClient) 344 344 { 345 345 if (!historyClient) … … 349 349 } 350 350 351 void WebProcessPool::setDownloadClient(std::unique_ptr<API::DownloadClient> downloadClient)351 void WebProcessPool::setDownloadClient(std::unique_ptr<API::DownloadClient>&& downloadClient) 352 352 { 353 353 if (!downloadClient) … … 357 357 } 358 358 359 void WebProcessPool::setAutomationClient(std::unique_ptr<API::AutomationClient> automationClient)359 void WebProcessPool::setAutomationClient(std::unique_ptr<API::AutomationClient>&& automationClient) 360 360 { 361 361 if (!automationClient) -
trunk/Source/WebKit2/UIProcess/WebProcessPool.h
r216794 r218259 143 143 void initializeInjectedBundleClient(const WKContextInjectedBundleClientBase*); 144 144 void initializeConnectionClient(const WKContextConnectionClientBase*); 145 void setHistoryClient(std::unique_ptr<API::LegacyContextHistoryClient> );146 void setDownloadClient(std::unique_ptr<API::DownloadClient> );147 void setAutomationClient(std::unique_ptr<API::AutomationClient> );145 void setHistoryClient(std::unique_ptr<API::LegacyContextHistoryClient>&&); 146 void setDownloadClient(std::unique_ptr<API::DownloadClient>&&); 147 void setAutomationClient(std::unique_ptr<API::AutomationClient>&&); 148 148 void setLegacyCustomProtocolManagerClient(std::unique_ptr<API::CustomProtocolManagerClient>&&); 149 149 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r218229 r218259 696 696 697 697 #if ENABLE(CONTEXT_MENUS) 698 void WebPage::setInjectedBundleContextMenuClient(std::unique_ptr<API::InjectedBundle::PageContextMenuClient> contextMenuClient)698 void WebPage::setInjectedBundleContextMenuClient(std::unique_ptr<API::InjectedBundle::PageContextMenuClient>&& contextMenuClient) 699 699 { 700 700 if (!contextMenuClient) { … … 707 707 #endif 708 708 709 void WebPage::setInjectedBundleEditorClient(std::unique_ptr<API::InjectedBundle::EditorClient> editorClient)709 void WebPage::setInjectedBundleEditorClient(std::unique_ptr<API::InjectedBundle::EditorClient>&& editorClient) 710 710 { 711 711 if (!editorClient) { … … 717 717 } 718 718 719 void WebPage::setInjectedBundleFormClient(std::unique_ptr<API::InjectedBundle::FormClient> formClient)719 void WebPage::setInjectedBundleFormClient(std::unique_ptr<API::InjectedBundle::FormClient>&& formClient) 720 720 { 721 721 if (!formClient) { … … 727 727 } 728 728 729 void WebPage::setInjectedBundlePageLoaderClient(std::unique_ptr<API::InjectedBundle::PageLoaderClient> loaderClient)729 void WebPage::setInjectedBundlePageLoaderClient(std::unique_ptr<API::InjectedBundle::PageLoaderClient>&& loaderClient) 730 730 { 731 731 if (!loaderClient) { … … 753 753 } 754 754 755 void WebPage::setInjectedBundleUIClient(std::unique_ptr<API::InjectedBundle::PageUIClient> uiClient)755 void WebPage::setInjectedBundleUIClient(std::unique_ptr<API::InjectedBundle::PageUIClient>&& uiClient) 756 756 { 757 757 if (!uiClient) { -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
r218164 r218259 327 327 // -- InjectedBundle methods 328 328 #if ENABLE(CONTEXT_MENUS) 329 void setInjectedBundleContextMenuClient(std::unique_ptr<API::InjectedBundle::PageContextMenuClient> );330 #endif 331 void setInjectedBundleEditorClient(std::unique_ptr<API::InjectedBundle::EditorClient> );332 void setInjectedBundleFormClient(std::unique_ptr<API::InjectedBundle::FormClient> );333 void setInjectedBundlePageLoaderClient(std::unique_ptr<API::InjectedBundle::PageLoaderClient> );329 void setInjectedBundleContextMenuClient(std::unique_ptr<API::InjectedBundle::PageContextMenuClient>&&); 330 #endif 331 void setInjectedBundleEditorClient(std::unique_ptr<API::InjectedBundle::EditorClient>&&); 332 void setInjectedBundleFormClient(std::unique_ptr<API::InjectedBundle::FormClient>&&); 333 void setInjectedBundlePageLoaderClient(std::unique_ptr<API::InjectedBundle::PageLoaderClient>&&); 334 334 void initializeInjectedBundlePolicyClient(WKBundlePagePolicyClientBase*); 335 335 void initializeInjectedBundleResourceLoadClient(WKBundlePageResourceLoadClientBase*); 336 void setInjectedBundleUIClient(std::unique_ptr<API::InjectedBundle::PageUIClient> );336 void setInjectedBundleUIClient(std::unique_ptr<API::InjectedBundle::PageUIClient>&&); 337 337 #if ENABLE(FULLSCREEN_API) 338 338 void initializeInjectedBundleFullScreenClient(WKBundlePageFullScreenClientBase*);
Note: See TracChangeset
for help on using the changeset viewer.