We will use this instead of the C API in GTK+.
Created attachment 312423 [details] Patch
Comment on attachment 312423 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=312423&action=review > Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h:84 > + std::unique_ptr<API::GeolocationProvider> m_provider; I think this is wrong. Usually we have the API object own the WebKit namespace object.
Created attachment 312677 [details] Rebased patch It should apply now
Comment on attachment 312677 [details] Rebased patch View in context: https://bugs.webkit.org/attachment.cgi?id=312677&action=review > Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h:50 > + void setProvider(std::unique_ptr<API::GeolocationProvider>); && > Source/WebKit2/UIProcess/WebGeolocationProvider.h:44 > +class WebGeolocationProvider : public API::GeolocationProvider, API::Client<WKGeolocationProviderBase> { extra space
(In reply to Alex Christensen from comment #4) > Comment on attachment 312677 [details] > Rebased patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=312677&action=review > > > Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h:50 > > + void setProvider(std::unique_ptr<API::GeolocationProvider>); > > && That was also my idea at first, but then again I followed what we do for all other clients. In this particular case, I think that what we have is equivalent to && because we always pass a std::make_unique<> (or nullptr) to the function, so there aren't copies anyway. > > Source/WebKit2/UIProcess/WebGeolocationProvider.h:44 > > +class WebGeolocationProvider : public API::GeolocationProvider, API::Client<WKGeolocationProviderBase> { > > extra space Good catch!
(In reply to Carlos Garcia Campos from comment #5) > (In reply to Alex Christensen from comment #4) > > > Source/WebKit2/UIProcess/WebGeolocationManagerProxy.h:50 > > > + void setProvider(std::unique_ptr<API::GeolocationProvider>); > > > > && > > That was also my idea at first, but then again I followed what we do for all > other clients. In this particular case, I think that what we have is > equivalent to && because we always pass a std::make_unique<> (or nullptr) to > the function, so there aren't copies anyway. I don’t know if we ever resolved this. Here is what Scott Meyers has to say: http://scottmeyers.blogspot.com/2014/07/should-move-only-types-ever-be-passed.html
Created attachment 312751 [details] Patch for landing
Committed r218165: <http://trac.webkit.org/changeset/218165>