// Copyright (c) 2013 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 ANDROID_WEBVIEW_BROWSER_JNI_DEPENDENCY_FACTORY_H_
#define ANDROID_WEBVIEW_BROWSER_JNI_DEPENDENCY_FACTORY_H_

#include "base/memory/ref_counted.h"

namespace content {
class GeolocationPermissionContext;
class WebContents;
class WebContentsViewDelegate;
}  // namespace content

namespace android_webview {

class AwBrowserContext;
class AwQuotaManagerBridge;
class AwWebPreferencesPopulater;

// Used to create instances of objects under native that are used in browser.
class JniDependencyFactory {
 public:
  virtual ~JniDependencyFactory() {}

  virtual scoped_refptr<AwQuotaManagerBridge> CreateAwQuotaManagerBridge(
      AwBrowserContext* browser_context) = 0;
  virtual content::GeolocationPermissionContext* CreateGeolocationPermission(
      AwBrowserContext* browser_context) = 0;
  virtual content::WebContentsViewDelegate* CreateViewDelegate(
      content::WebContents* web_contents) = 0;
  virtual AwWebPreferencesPopulater* CreateWebPreferencesPopulater() = 0;
};

}  // namespace android_webview

#endif  // ANDROID_WEBVIEW_BROWSER_JNI_DEPENDENCY_FACTORY_H_
