#include "chrome/browser/extensions/api/chrome_extensions_api_client.h"
#include "base/files/file_path.h"
+#include "chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.h"
#include "chrome/browser/extensions/api/storage/sync_value_store_cache.h"
-#include "chrome/browser/guest_view/app_view/app_view_guest.h"
-#include "chrome/browser/guest_view/extension_options/extension_options_guest.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
+#include "chrome/browser/extensions/api/web_request/chrome_extension_web_request_event_router_delegate.h"
+#include "chrome/browser/guest_view/app_view/chrome_app_view_guest_delegate.h"
+#include "chrome/browser/guest_view/extension_options/chrome_extension_options_guest_delegate.h"
+#include "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h"
+#include "chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h"
+#include "chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
-#include "device/hid/hid_service.h"
+#include "extensions/browser/api/declarative/rules_registry_service.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
#if defined(ENABLE_CONFIGURATION_POLICY)
#include "chrome/browser/extensions/api/storage/managed_value_store_cache.h"
#endif
}
-bool ChromeExtensionsAPIClient::AppViewInternalAttachFrame(
- content::BrowserContext* browser_context,
- const GURL& url,
- int guest_instance_id,
- const std::string& guest_extension_id) {
- return AppViewGuest::CompletePendingRequest(browser_context,
- url,
- guest_instance_id,
- guest_extension_id);
+AppViewGuestDelegate* ChromeExtensionsAPIClient::CreateAppViewGuestDelegate()
+ const {
+ return new ChromeAppViewGuestDelegate();
+}
+
+ExtensionOptionsGuestDelegate*
+ChromeExtensionsAPIClient::CreateExtensionOptionsGuestDelegate(
+ ExtensionOptionsGuest* guest) const {
+ return new ChromeExtensionOptionsGuestDelegate(guest);
+}
+
+scoped_ptr<MimeHandlerViewGuestDelegate>
+ChromeExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate(
+ MimeHandlerViewGuest* guest) const {
+ return scoped_ptr<ChromeMimeHandlerViewGuestDelegate>(
+ new ChromeMimeHandlerViewGuestDelegate(guest))
+ .PassAs<MimeHandlerViewGuestDelegate>();
}
-bool ChromeExtensionsAPIClient::AppViewInternalDenyRequest(
+WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate(
+ WebViewGuest* web_view_guest) const {
+ return new ChromeWebViewGuestDelegate(web_view_guest);
+}
+
+WebViewPermissionHelperDelegate* ChromeExtensionsAPIClient::
+ CreateWebViewPermissionHelperDelegate(
+ WebViewPermissionHelper* web_view_permission_helper) const {
+ return new ChromeWebViewPermissionHelperDelegate(web_view_permission_helper);
+}
+
+scoped_refptr<RulesRegistry> ChromeExtensionsAPIClient::GetRulesRegistry(
content::BrowserContext* browser_context,
- int guest_instance_id,
- const std::string& guest_extension_id) {
- return AppViewGuest::CompletePendingRequest(browser_context,
- GURL(),
- guest_instance_id,
- guest_extension_id);
+ const RulesRegistry::WebViewKey& webview_key,
+ const std::string& event_name) {
+ return RulesRegistryService::Get(browser_context)->
+ GetRulesRegistry(webview_key, event_name);
}
-device::HidService* ChromeExtensionsAPIClient::GetHidService() {
- if (!hid_service_) {
- hid_service_.reset(device::HidService::Create(
- content::BrowserThread::GetMessageLoopProxyForThread(
- content::BrowserThread::UI)));
- }
- return hid_service_.get();
+WebRequestEventRouterDelegate*
+ChromeExtensionsAPIClient::CreateWebRequestEventRouterDelegate() const {
+ return new ChromeExtensionWebRequestEventRouterDelegate();
}
-void ChromeExtensionsAPIClient::RegisterGuestViewTypes() {
- AppViewGuest::Register();
- ExtensionOptionsGuest::Register();
- WebViewGuest::Register();
+scoped_refptr<ContentRulesRegistry>
+ChromeExtensionsAPIClient::CreateContentRulesRegistry(
+ content::BrowserContext* browser_context,
+ RulesCacheDelegate* cache_delegate) const {
+ return scoped_refptr<ContentRulesRegistry>(
+ new ChromeContentRulesRegistry(browser_context, cache_delegate));
}
} // namespace extensions