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

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

Issue 273703008: aw: Refactor hardware init (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more refactoring Created 6 years, 7 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 #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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698