Add API to allow WK2 clients to query the list of installed plug-ins.
Created attachment 191107 [details] Patch
<rdar://problem/13329717>
Comment on attachment 191107 [details] Patch r=me
From past experience, loading plugins is known to be a very expensive operation. Shouldn't this API be asynchronous, returning the answer in a callback?
The handling of this call occurs entirely within the UIProcess. Unless we wanted to marshal the request on another thread, what would the point of a callback be?
Comment on attachment 191107 [details] Patch Indeed. PluginInfoStore::plugins() potentially does all sorts of heavy handed i/o. I'm going to go so far as to change this to an r- until Jer can convince us it's okay to be synchronous.
(In reply to comment #5) > The handling of this call occurs entirely within the UIProcess. Unless we wanted to marshal the request on another thread, what would the point of a callback be? When will this new API be called? Have you explored marshaling to another thread?
Created attachment 191283 [details] Patch
Comment on attachment 191283 [details] Patch Attachment 191283 [details] did not pass gtk-ews (gtk): Output: http://webkit-commit-queue.appspot.com/results/16967063
Comment on attachment 191283 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=191283&action=review > Source/WebKit2/UIProcess/API/C/WKContext.h:52 > WKContextPlugInAutoStartOriginHashesChangedCallback plugInAutoStartOriginHashesChanged; > WKContextNetworkProcessDidCrashCallback networkProcessDidCrash; > + WKContextPlugInInformationAvailableCallback plugInInformationAvailable; Please add a // Version 1 comment before the new callback. See WKPage.h for the loaderclient and uiclient for examples.
Created attachment 191289 [details] Patch
Comment on attachment 191289 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=191289&action=review > Source/WebKit2/UIProcess/API/C/WKContext.h:56 > + WKContextPlugInInformationAvailableCallback plugInInformationAvailable; Maybe plugInInformationBecameAvailable or plugInInformationLoaded? > Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h:41 > +class PluginInfoStoreClient { It would be nice to put this in a separate file. PluginInfoStore.h has data and includes a client is unlikely to ever care about, yet it currently has to include the whole thing to implement PluginInfoStoreClient interface. Not such a big deal, since there is only one client that's already huge.
Committed r144672: <http://trac.webkit.org/changeset/144672>