OLD | NEW |
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_NATIVE_AW_CONTENTS_H_ | 5 #ifndef ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ |
6 #define ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ | 6 #define ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ |
7 | 7 |
8 #include <jni.h> | 8 #include <jni.h> |
9 #include <list> | 9 #include <list> |
10 #include <string> | 10 #include <string> |
11 #include <utility> | 11 #include <utility> |
12 | 12 |
13 #include "android_webview/browser/browser_view_renderer.h" | 13 #include "android_webview/browser/browser_view_renderer.h" |
14 #include "android_webview/browser/browser_view_renderer_client.h" | 14 #include "android_webview/browser/browser_view_renderer_client.h" |
15 #include "android_webview/browser/find_helper.h" | 15 #include "android_webview/browser/find_helper.h" |
| 16 #include "android_webview/browser/gl_view_renderer_manager.h" |
16 #include "android_webview/browser/icon_helper.h" | 17 #include "android_webview/browser/icon_helper.h" |
17 #include "android_webview/browser/renderer_host/aw_render_view_host_ext.h" | 18 #include "android_webview/browser/renderer_host/aw_render_view_host_ext.h" |
18 #include "android_webview/browser/shared_renderer_state.h" | 19 #include "android_webview/browser/shared_renderer_state.h" |
19 #include "android_webview/native/permission/permission_request_handler_client.h" | 20 #include "android_webview/native/permission/permission_request_handler_client.h" |
20 #include "base/android/jni_weak_ref.h" | 21 #include "base/android/jni_weak_ref.h" |
21 #include "base/android/scoped_java_ref.h" | 22 #include "base/android/scoped_java_ref.h" |
22 #include "base/callback_forward.h" | 23 #include "base/callback_forward.h" |
23 #include "base/memory/scoped_ptr.h" | 24 #include "base/memory/scoped_ptr.h" |
24 | 25 |
25 class SkBitmap; | 26 class SkBitmap; |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 void SetAwAutofillManagerDelegate(jobject delegate); | 206 void SetAwAutofillManagerDelegate(jobject delegate); |
206 | 207 |
207 void SetJsOnlineProperty(JNIEnv* env, jobject obj, jboolean network_up); | 208 void SetJsOnlineProperty(JNIEnv* env, jobject obj, jboolean network_up); |
208 void TrimMemory(JNIEnv* env, jobject obj, jint level, jboolean visible); | 209 void TrimMemory(JNIEnv* env, jobject obj, jint level, jboolean visible); |
209 | 210 |
210 private: | 211 private: |
211 void InitDataReductionProxyIfNecessary(); | 212 void InitDataReductionProxyIfNecessary(); |
212 void InitAutofillIfNecessary(bool enabled); | 213 void InitAutofillIfNecessary(bool enabled); |
213 void DidDrawGL(const DrawGLResult& result); | 214 void DidDrawGL(const DrawGLResult& result); |
214 | 215 |
| 216 void InitializeHardwareDrawIfNeeded(); |
215 void InitializeHardwareDrawOnRenderThread(); | 217 void InitializeHardwareDrawOnRenderThread(); |
216 void ReleaseHardwareDrawOnRenderThread(); | 218 void ReleaseHardwareDrawOnRenderThread(); |
217 | 219 |
218 base::WeakPtrFactory<AwContents> weak_factory_on_ui_thread_; | 220 base::WeakPtrFactory<AwContents> weak_factory_on_ui_thread_; |
219 base::WeakPtr<AwContents> ui_thread_weak_ptr_; | 221 base::WeakPtr<AwContents> ui_thread_weak_ptr_; |
220 | 222 |
221 JavaObjectWeakGlobalRef java_ref_; | 223 JavaObjectWeakGlobalRef java_ref_; |
222 scoped_ptr<content::WebContents> web_contents_; | 224 scoped_ptr<content::WebContents> web_contents_; |
223 scoped_ptr<AwWebContentsDelegate> web_contents_delegate_; | 225 scoped_ptr<AwWebContentsDelegate> web_contents_delegate_; |
224 scoped_ptr<AwContentsClientBridge> contents_client_bridge_; | 226 scoped_ptr<AwContentsClientBridge> contents_client_bridge_; |
225 scoped_ptr<AwRenderViewHostExt> render_view_host_ext_; | 227 scoped_ptr<AwRenderViewHostExt> render_view_host_ext_; |
226 scoped_ptr<FindHelper> find_helper_; | 228 scoped_ptr<FindHelper> find_helper_; |
227 scoped_ptr<IconHelper> icon_helper_; | 229 scoped_ptr<IconHelper> icon_helper_; |
228 scoped_ptr<AwContents> pending_contents_; | 230 scoped_ptr<AwContents> pending_contents_; |
229 SharedRendererState shared_renderer_state_; | 231 SharedRendererState shared_renderer_state_; |
230 BrowserViewRenderer browser_view_renderer_; | 232 BrowserViewRenderer browser_view_renderer_; |
231 scoped_ptr<HardwareRenderer> hardware_renderer_; | 233 scoped_ptr<HardwareRenderer> hardware_renderer_; |
232 scoped_ptr<AwPdfExporter> pdf_exporter_; | 234 scoped_ptr<AwPdfExporter> pdf_exporter_; |
233 scoped_ptr<PermissionRequestHandler> permission_request_handler_; | 235 scoped_ptr<PermissionRequestHandler> permission_request_handler_; |
234 | 236 |
235 // GURL is supplied by the content layer as requesting frame. | 237 // GURL is supplied by the content layer as requesting frame. |
236 // Callback is supplied by the content layer, and is invoked with the result | 238 // Callback is supplied by the content layer, and is invoked with the result |
237 // from the permission prompt. | 239 // from the permission prompt. |
238 typedef std::pair<const GURL, base::Callback<void(bool)> > OriginCallback; | 240 typedef std::pair<const GURL, base::Callback<void(bool)> > OriginCallback; |
239 // The first element in the list is always the currently pending request. | 241 // The first element in the list is always the currently pending request. |
240 std::list<OriginCallback> pending_geolocation_prompts_; | 242 std::list<OriginCallback> pending_geolocation_prompts_; |
241 | 243 |
| 244 GLViewRendererManager::Key renderer_manager_key_; |
| 245 |
242 DISALLOW_COPY_AND_ASSIGN(AwContents); | 246 DISALLOW_COPY_AND_ASSIGN(AwContents); |
243 }; | 247 }; |
244 | 248 |
245 bool RegisterAwContents(JNIEnv* env); | 249 bool RegisterAwContents(JNIEnv* env); |
246 | 250 |
247 } // namespace android_webview | 251 } // namespace android_webview |
248 | 252 |
249 #endif // ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ | 253 #endif // ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ |
OLD | NEW |