Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(671)

Side by Side Diff: android_webview/native/aw_browser_dependency_factory.h

Issue 10913074: Add WebView implementation for CookieManager. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebased Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ANDROID_WEBVIEW_AW_BROWSER_DELEGATE_H_ 5 #ifndef ANDROID_WEBVIEW_AW_BROWSER_DELEGATE_H_
6 #define ANDROID_WEBVIEW_AW_BROWSER_DELEGATE_H_ 6 #define ANDROID_WEBVIEW_AW_BROWSER_DELEGATE_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 9
10 namespace content { 10 namespace content {
11 class BrowserContext;
11 class JavaScriptDialogCreator; 12 class JavaScriptDialogCreator;
12 class WebContents; 13 class WebContents;
13 } 14 }
14 15
15 namespace android_webview { 16 namespace android_webview {
16 17
17 class AwContentsContainer; 18 class AwContentsContainer;
18 19
19 // The concrete class implementing this interface is the responsible for 20 // The concrete class implementing this interface is the responsible for
20 // creating he browser component objects that the Android WebView depends on. 21 // creating he browser component objects that the Android WebView depends on.
21 // The motivation for this abstraction is to keep code under 22 // The motivation for this abstraction is to keep code under
22 // android_webview/native from holding direct chrome/ layer dependencies. 23 // android_webview/native from holding direct chrome/ layer dependencies.
23 // Note this is a distinct role to the Webview embedder proper: this class is 24 // Note this is a distinct role to the Webview embedder proper: this class is
24 // about 'static' environmental decoupling, allowing dependency injection by the 25 // about 'static' environmental decoupling, allowing dependency injection by the
25 // top-level lib, whereas runtime behavior is controlled by propagated back to 26 // top-level lib, whereas runtime behavior is controlled by propagated back to
26 // the embedding application code via WebContentsDelegate and the like. 27 // the embedding application code via WebContentsDelegate and the like.
27 class AwBrowserDependencyFactory { 28 class AwBrowserDependencyFactory {
28 public: 29 public:
29 virtual ~AwBrowserDependencyFactory(); 30 virtual ~AwBrowserDependencyFactory();
30 31
31 // Allows the lib executive to inject the delegate instance. Ownership of 32 // Allows the lib executive to inject the delegate instance. Ownership of
32 // |delegate| is NOT transferred, but the object must be long-lived. 33 // |delegate| is NOT transferred, but the object must be long-lived.
33 static void SetInstance(AwBrowserDependencyFactory* delegate); 34 static void SetInstance(AwBrowserDependencyFactory* delegate);
34 35
35 // Returns the singleton instance. |SetInstance| must have been called. 36 // Returns the singleton instance. |SetInstance| must have been called.
36 static AwBrowserDependencyFactory* GetInstance(); 37 static AwBrowserDependencyFactory* GetInstance();
37 38
39 // Returns the current browser context based on the specified mode.
40 virtual content::BrowserContext* GetBrowserContext(bool incognito) = 0;
41
38 // Constructs and returns ownership of a WebContents instance. 42 // Constructs and returns ownership of a WebContents instance.
39 virtual content::WebContents* CreateWebContents(bool incognito) = 0; 43 virtual content::WebContents* CreateWebContents(bool incognito) = 0;
40 44
41 // Creates and returns ownership of a new content container instance. That 45 // Creates and returns ownership of a new content container instance. That
42 // instance will take ownership of the passed |contents|. 46 // instance will take ownership of the passed |contents|.
43 virtual AwContentsContainer* CreateContentsContainer( 47 virtual AwContentsContainer* CreateContentsContainer(
44 content::WebContents* contents) = 0; 48 content::WebContents* contents) = 0;
45 49
46 // As per the WebContentsDelegate method of the same name. Ownership is NOT 50 // As per the WebContentsDelegate method of the same name. Ownership is NOT
47 // returned; the instance must be long-lived. 51 // returned; the instance must be long-lived.
48 virtual content::JavaScriptDialogCreator* GetJavaScriptDialogCreator() = 0; 52 virtual content::JavaScriptDialogCreator* GetJavaScriptDialogCreator() = 0;
49 53
50 protected: 54 protected:
51 AwBrowserDependencyFactory(); 55 AwBrowserDependencyFactory();
52 56
53 private: 57 private:
54 DISALLOW_COPY_AND_ASSIGN(AwBrowserDependencyFactory); 58 DISALLOW_COPY_AND_ASSIGN(AwBrowserDependencyFactory);
55 }; 59 };
56 60
57 } // namespace android_webview 61 } // namespace android_webview
58 62
59 #endif // ANDROID_WEBVIEW_AW_BROWSER_DELEGATE_H_ 63 #endif // ANDROID_WEBVIEW_AW_BROWSER_DELEGATE_H_
60 64
OLDNEW
« no previous file with comments | « android_webview/native/android_webview_jni_registrar.cc ('k') | android_webview/native/cookie_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698