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

Side by Side Diff: android_webview/browser/aw_browser_context.cc

Issue 12253057: Implement WebStorage API methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address nits Created 7 years, 10 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 | Annotate | Revision Log
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 #include "android_webview/browser/aw_browser_context.h" 5 #include "android_webview/browser/aw_browser_context.h"
6 6
7 #include "android_webview/browser/aw_quota_manager_bridge.h"
8 #include "android_webview/browser/jni_dependency_factory.h"
7 #include "android_webview/browser/net/aw_url_request_context_getter.h" 9 #include "android_webview/browser/net/aw_url_request_context_getter.h"
8 #include "components/visitedlink/browser/visitedlink_master.h" 10 #include "components/visitedlink/browser/visitedlink_master.h"
9 #include "content/public/browser/browser_thread.h" 11 #include "content/public/browser/browser_thread.h"
10 #include "content/public/browser/resource_context.h" 12 #include "content/public/browser/resource_context.h"
11 #include "content/public/browser/storage_partition.h" 13 #include "content/public/browser/storage_partition.h"
12 #include "content/public/browser/web_contents.h" 14 #include "content/public/browser/web_contents.h"
13 #include "net/url_request/url_request_context.h" 15 #include "net/url_request/url_request_context.h"
14 16
15 namespace android_webview { 17 namespace android_webview {
16 18
(...skipping 18 matching lines...) Expand all
35 private: 37 private:
36 net::URLRequestContextGetter* getter_; 38 net::URLRequestContextGetter* getter_;
37 39
38 DISALLOW_COPY_AND_ASSIGN(AwResourceContext); 40 DISALLOW_COPY_AND_ASSIGN(AwResourceContext);
39 }; 41 };
40 42
41 } // namespace 43 } // namespace
42 44
43 AwBrowserContext::AwBrowserContext( 45 AwBrowserContext::AwBrowserContext(
44 const base::FilePath path, 46 const base::FilePath path,
45 GeolocationPermissionFactoryFn* geolocation_permission_factory) 47 JniDependencyFactory* native_factory)
46 : context_storage_path_(path), 48 : context_storage_path_(path),
47 geolocation_permission_factory_(geolocation_permission_factory) { 49 native_factory_(native_factory) {
48 } 50 }
49 51
50 AwBrowserContext::~AwBrowserContext() { 52 AwBrowserContext::~AwBrowserContext() {
51 } 53 }
52 54
53 // static 55 // static
54 AwBrowserContext* AwBrowserContext::FromWebContents( 56 AwBrowserContext* AwBrowserContext::FromWebContents(
55 content::WebContents* web_contents) { 57 content::WebContents* web_contents) {
56 // This is safe; this is the only implementation of the browser context. 58 // This is safe; this is the only implementation of the browser context.
57 return static_cast<AwBrowserContext*>(web_contents->GetBrowserContext()); 59 return static_cast<AwBrowserContext*>(web_contents->GetBrowserContext());
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler> 105 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
104 developer_protocol_handler, 106 developer_protocol_handler,
105 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler> 107 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
106 chrome_protocol_handler, 108 chrome_protocol_handler,
107 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler> 109 scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
108 chrome_devtools_protocol_handler) { 110 chrome_devtools_protocol_handler) {
109 CHECK(url_request_context_getter_); 111 CHECK(url_request_context_getter_);
110 return url_request_context_getter_.get(); 112 return url_request_context_getter_.get();
111 } 113 }
112 114
115 AwQuotaManagerBridge* AwBrowserContext::GetQuotaManagerBridge() {
116 if (!quota_manager_bridge_) {
117 quota_manager_bridge_.reset(
118 native_factory_->CreateAwQuotaManagerBridge(this));
119 }
120 return quota_manager_bridge_.get();
121 }
122
113 base::FilePath AwBrowserContext::GetPath() { 123 base::FilePath AwBrowserContext::GetPath() {
114 return context_storage_path_; 124 return context_storage_path_;
115 } 125 }
116 126
117 bool AwBrowserContext::IsOffTheRecord() const { 127 bool AwBrowserContext::IsOffTheRecord() const {
118 // Android WebView does not support off the record profile yet. 128 // Android WebView does not support off the record profile yet.
119 return false; 129 return false;
120 } 130 }
121 131
122 net::URLRequestContextGetter* AwBrowserContext::GetRequestContext() { 132 net::URLRequestContextGetter* AwBrowserContext::GetRequestContext() {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 } 166 }
157 167
158 content::DownloadManagerDelegate* 168 content::DownloadManagerDelegate*
159 AwBrowserContext::GetDownloadManagerDelegate() { 169 AwBrowserContext::GetDownloadManagerDelegate() {
160 return &download_manager_delegate_; 170 return &download_manager_delegate_;
161 } 171 }
162 172
163 content::GeolocationPermissionContext* 173 content::GeolocationPermissionContext*
164 AwBrowserContext::GetGeolocationPermissionContext() { 174 AwBrowserContext::GetGeolocationPermissionContext() {
165 if (!geolocation_permission_context_) { 175 if (!geolocation_permission_context_) {
166 geolocation_permission_context_ = (*geolocation_permission_factory_)(); 176 geolocation_permission_context_ =
177 native_factory_->CreateGeolocationPermission(this);
167 } 178 }
168 return geolocation_permission_context_; 179 return geolocation_permission_context_;
169 } 180 }
170 181
171 content::SpeechRecognitionPreferences* 182 content::SpeechRecognitionPreferences*
172 AwBrowserContext::GetSpeechRecognitionPreferences() { 183 AwBrowserContext::GetSpeechRecognitionPreferences() {
173 // By default allows profanities in speech recognition if return NULL. 184 // By default allows profanities in speech recognition if return NULL.
174 return NULL; 185 return NULL;
175 } 186 }
176 187
177 quota::SpecialStoragePolicy* AwBrowserContext::GetSpecialStoragePolicy() { 188 quota::SpecialStoragePolicy* AwBrowserContext::GetSpecialStoragePolicy() {
178 // TODO(boliu): Implement this so we are not relying on default behavior. 189 // TODO(boliu): Implement this so we are not relying on default behavior.
179 NOTIMPLEMENTED(); 190 NOTIMPLEMENTED();
180 return NULL; 191 return NULL;
181 } 192 }
182 193
183 void AwBrowserContext::RebuildTable( 194 void AwBrowserContext::RebuildTable(
184 const scoped_refptr<URLEnumerator>& enumerator) { 195 const scoped_refptr<URLEnumerator>& enumerator) {
185 // Android WebView rebuilds from WebChromeClient.getVisitedHistory. The client 196 // Android WebView rebuilds from WebChromeClient.getVisitedHistory. The client
186 // can change in the lifetime of this WebView and may not yet be set here. 197 // can change in the lifetime of this WebView and may not yet be set here.
187 // Therefore this initialization path is not used. 198 // Therefore this initialization path is not used.
188 enumerator->OnComplete(true); 199 enumerator->OnComplete(true);
189 } 200 }
190 201
191 } // namespace android_webview 202 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/aw_browser_context.h ('k') | android_webview/browser/aw_content_browser_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698