| Index: chrome/browser/intents/web_intents_registry.h
|
| diff --git a/chrome/browser/intents/web_intents_registry.h b/chrome/browser/intents/web_intents_registry.h
|
| deleted file mode 100644
|
| index b5a20e21a7b4578ea9e443b885640c86565be285..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/intents/web_intents_registry.h
|
| +++ /dev/null
|
| @@ -1,180 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_INTENTS_WEB_INTENTS_REGISTRY_H_
|
| -#define CHROME_BROWSER_INTENTS_WEB_INTENTS_REGISTRY_H_
|
| -
|
| -#include "base/callback_forward.h"
|
| -#include "base/hash_tables.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "chrome/browser/extensions/extension_service.h"
|
| -#include "chrome/browser/profiles/profile_keyed_service.h"
|
| -#include "chrome/browser/webdata/web_data_service.h"
|
| -#include "webkit/glue/web_intent_service_data.h"
|
| -
|
| -struct DefaultWebIntentService;
|
| -
|
| -namespace extensions {
|
| -class Extension;
|
| -}
|
| -
|
| -namespace web_intents {
|
| -class NativeServiceRegistry;
|
| -}
|
| -
|
| -// Handles storing and retrieving of web intents services in the web database.
|
| -// The registry provides filtering logic to retrieve specific types of services.
|
| -class WebIntentsRegistry : public ProfileKeyedService {
|
| - public:
|
| - typedef std::vector<webkit_glue::WebIntentServiceData> IntentServiceList;
|
| - typedef std::vector<DefaultWebIntentService> DefaultIntentServiceList;
|
| -
|
| - // Callback used by callers to accept results of a query for
|
| - // a list of |WebIntentServiceData|.
|
| - typedef base::Callback<void(const IntentServiceList&)>
|
| - QueryCallback;
|
| -
|
| - // Callback used by callers to accept results of a query for
|
| - // a list of |DefaultWebIntentService|.
|
| - typedef base::Callback<void(const DefaultIntentServiceList&)>
|
| - DefaultIntentServicesCallback;
|
| -
|
| - // Callback used by callers to accept results of a query for
|
| - // a |DefaultWebIntentService|.
|
| - typedef base::Callback<void(const DefaultWebIntentService&)>
|
| - DefaultQueryCallback;
|
| -
|
| - // Initializes, binds to a valid WebDataService.
|
| - void Initialize(scoped_refptr<WebDataService> wds,
|
| - ExtensionServiceInterface* extension_service);
|
| -
|
| - // Registers a service.
|
| - virtual void RegisterIntentService(
|
| - const webkit_glue::WebIntentServiceData& service);
|
| -
|
| - // Removes a service from the registry.
|
| - void UnregisterIntentService(
|
| - const webkit_glue::WebIntentServiceData& service);
|
| -
|
| - // Requests all services matching |action| and |type|.
|
| - // |type| can contain wildcards, i.e. "image/*" or "*".
|
| - // |callback| must not be null.
|
| - void GetIntentServices(const string16& action,
|
| - const string16& type,
|
| - const QueryCallback& callback);
|
| -
|
| - // Requests all services.
|
| - // |callback| must not be null.
|
| - void GetAllIntentServices(const QueryCallback& callback);
|
| -
|
| - // Requests all default services.
|
| - // |callback| must not be null.
|
| - void GetAllDefaultIntentServices(
|
| - const DefaultIntentServicesCallback& callback);
|
| -
|
| - // Tests for the existence of the given |service|. Calls the
|
| - // provided |callback| with true if it exists, false if it does not.
|
| - // Checks for |service| equality with ==.
|
| - // |callback| must not be null.
|
| - void IntentServiceExists(
|
| - const webkit_glue::WebIntentServiceData& service,
|
| - const base::Callback<void(bool)>& callback);
|
| -
|
| - // Requests all extension services matching |action|, |type| and
|
| - // |extension_id|.
|
| - // |type| must conform to definition as outlined for GetIntentServices.
|
| - // |callback| must not be null.
|
| - void GetIntentServicesForExtensionFilter(const string16& action,
|
| - const string16& type,
|
| - const std::string& extension_id,
|
| - IntentServiceList* services);
|
| -
|
| - // Record the given default service entry.
|
| - virtual void RegisterDefaultIntentService(
|
| - const DefaultWebIntentService& default_service);
|
| -
|
| - // Delete the given default service entry. Deletes entries matching
|
| - // the |action|, |type|, and |url_pattern| of |default_service|.
|
| - virtual void UnregisterDefaultIntentService(
|
| - const DefaultWebIntentService& default_service);
|
| -
|
| - // Delete all default service entries associated with |service_url|.
|
| - virtual void UnregisterServiceDefaults(const GURL& service_url);
|
| -
|
| - // Requests the best default intent service for the given invocation
|
| - // parameters.
|
| - // |callback| must not be null.
|
| - void GetDefaultIntentService(const string16& action,
|
| - const string16& type,
|
| - const GURL& invoking_url,
|
| - const DefaultQueryCallback& callback);
|
| -
|
| - protected:
|
| - // Make sure that only WebIntentsRegistryFactory can create an instance of
|
| - // WebIntentsRegistry.
|
| - friend class WebIntentsRegistryFactory;
|
| - friend class WebIntentsRegistryTest;
|
| - FRIEND_TEST_ALL_PREFIXES(WebIntentsRegistryTest, CollapseIntents);
|
| -
|
| - WebIntentsRegistry();
|
| - virtual ~WebIntentsRegistry();
|
| -
|
| - // Collapses a list of IntentServices by joining intents that have identical
|
| - // service URLs, actions, and mime types.
|
| - // |services| is the list of intent services to be collapsed when passed in
|
| - // and will be modified with the new list in-place.
|
| - void CollapseIntents(IntentServiceList* services);
|
| -
|
| - private:
|
| - struct QueryParams;
|
| - class QueryAdapter;
|
| - typedef std::vector<QueryAdapter*> QueryVector;
|
| -
|
| - // Handles services loaded
|
| - void OnWebIntentsResultReceived(
|
| - const QueryParams& params,
|
| - const QueryCallback& callback,
|
| - const WDTypedResult* result);
|
| -
|
| - // Handles default services loaded, supplying an unfiltered list
|
| - // to the callback.
|
| - void OnAllDefaultIntentServicesReceived(
|
| - const DefaultIntentServicesCallback& callback,
|
| - const WDTypedResult* result);
|
| -
|
| - // Handles default services loaded
|
| - void OnWebIntentsDefaultsResultReceived(
|
| - const QueryParams& params,
|
| - const DefaultQueryCallback& callback,
|
| - const WDTypedResult* result);
|
| -
|
| - const extensions::Extension* ExtensionForURL(const std::string& url);
|
| -
|
| - // Adds a query to the list of pending queries.
|
| - void TrackQuery(QueryAdapter* query);
|
| -
|
| - // Takes ownership of a query. This removes a query from the list
|
| - // of pending queries.
|
| - void ReleaseQuery(QueryAdapter* query);
|
| -
|
| - // Map for all in-flight web data requests/intent queries.
|
| - QueryVector pending_queries_;
|
| -
|
| - // Local reference to Web Data Service.
|
| - scoped_refptr<WebDataService> wds_;
|
| -
|
| - // Local reference to the ExtensionService.
|
| - // Shutdown/cleanup is handled by ProfileImpl. We are guaranteed that any
|
| - // ProfileKeyedService will be shut down before data on ProfileImpl is
|
| - // destroyed (i.e. |extension_service_|), so |extension_service_| is valid
|
| - // for the lifetime of the WebIntentsRegistry object.
|
| - ExtensionServiceInterface* extension_service_;
|
| -
|
| - // Registry used to obtain list of supported native services.
|
| - scoped_ptr<web_intents::NativeServiceRegistry> native_services_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WebIntentsRegistry);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_INTENTS_WEB_INTENTS_REGISTRY_H_
|
|
|