Small BlobResourceHandle cleanup
https://bugs.webkit.org/show_bug.cgi?id=111352

Reviewed by Sam Weinig.

1. Don't use PassRefPtr<BlobStorageData> when ownership is not being passed.
2. Added OVERRIDE to some functions.
3. Added const to ResourceHandle::firstRequest().

* platform/network/BlobRegistryImpl.cpp:
(WebCore::loadResourceSynchronously):
(WebCore::BlobRegistryImpl::createResourceHandle):
(WebCore::BlobRegistryImpl::getBlobDataFromURL):
* platform/network/BlobRegistryImpl.h:
(BlobRegistryImpl):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::createAsync):
(WebCore::BlobResourceHandle::loadResourceSynchronously):
* platform/network/BlobResourceHandle.h:
(BlobResourceHandle):
* platform/network/FormData.cpp:
(WebCore::appendBlobResolved):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::firstRequest):
* platform/network/ResourceHandle.h:
(ResourceHandle):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add API to allow WK2 clients to query the list of installed plug-ins.
https://bugs.webkit.org/show_bug.cgi?id=111245

Reviewed by Alexey Proskuryakov.

Add API in WKContext, implemented by WebContext, that allows callers to register a callback
retrieve an array containing installed plugin information. This API is exposed through WebContext
because it owns the PluginInfoStore used to fulfill the request.

Bump the WKContextClient API by 1:
* Shared/APIClientTraits.cpp:
* Shared/APIClientTraits.h:
* UIProcess/API/C/WKContext.h:

Add a client protocol to PluginInfoStore to notify the client when plugIn information has been
successfully loaded:
* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::PluginInfoStore): Initialize m_client to 0.
(WebKit::PluginInfoStore::loadPluginsIfNecessary): If the client is present, notify after loading the plugin store.
* UIProcess/Plugins/PluginInfoStore.h:
(WebKit::PluginInfoStoreClient::~PluginInfoStoreClient): Default destructor.
(WebKit::PluginInfoStoreClient::PluginInfoStoreClient): Default constructor.
(WebKit::PluginInfoStore::setClient): Simple setter.
(WebKit::PluginInfoStore::client): Simple getter.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Set self as the client of PluginInfoStore.
(WebKit::WebContext::~WebContext): Clear the client of PluginInfoStore.
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins): Pass the callback to own client.
* UIProcess/WebContext.h:
* UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::plugInInformationBecameAvailable): Pass the callback to the registered WK callback, if present.
* UIProcess/WebContextClient.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144672 268f45cc-cd09-0410-ab3c-d52691b4dbfc