| Index: android_webview/native/aw_contents.h
|
| diff --git a/android_webview/native/aw_contents.h b/android_webview/native/aw_contents.h
|
| index 78ababc8ab1c25a1a663de88a846141714e26579..889aaa875b6e9571450f267a12680dc115ba1ca2 100644
|
| --- a/android_webview/native/aw_contents.h
|
| +++ b/android_webview/native/aw_contents.h
|
| @@ -10,29 +10,20 @@
|
| #include <string>
|
| #include <utility>
|
|
|
| +#include "android_webview/browser/browser_view_renderer.h"
|
| #include "android_webview/browser/find_helper.h"
|
| #include "android_webview/browser/icon_helper.h"
|
| #include "android_webview/browser/renderer_host/aw_render_view_host_ext.h"
|
| -#include "android_webview/public/browser/draw_gl.h"
|
| #include "base/android/scoped_java_ref.h"
|
| #include "base/android/jni_helper.h"
|
| #include "base/callback_forward.h"
|
| #include "base/memory/scoped_ptr.h"
|
| -#include "content/public/browser/android/compositor.h"
|
| #include "content/public/browser/javascript_dialog_manager.h"
|
| -#include "skia/ext/refptr.h"
|
| -#include "third_party/skia/include/core/SkPicture.h"
|
|
|
| -typedef void* EGLContext;
|
| class SkBitmap;
|
| class TabContents;
|
|
|
| -namespace cc {
|
| -class Layer;
|
| -}
|
| -
|
| namespace content {
|
| -class Compositor;
|
| class WebContents;
|
| }
|
|
|
| @@ -47,8 +38,7 @@ class AwWebContentsDelegate;
|
| // level of indirection provided by the AwContentsContainer abstraction.
|
| class AwContents : public FindHelper::Listener,
|
| public IconHelper::Listener,
|
| - public content::Compositor::Client,
|
| - public AwRenderViewHostExt::Client {
|
| + public BrowserViewRenderer::Client {
|
| public:
|
| enum OnNewPictureMode {
|
| kOnNewPictureDisabled = 0,
|
| @@ -72,15 +62,6 @@ class AwContents : public FindHelper::Listener,
|
| return render_view_host_ext_.get();
|
| }
|
|
|
| - void DrawGL(AwDrawGLInfo* draw_info);
|
| - bool DrawSW(JNIEnv* env,
|
| - jobject obj,
|
| - jobject canvas,
|
| - jint clip_x,
|
| - jint clip_y,
|
| - jint clip_w,
|
| - jint clip_h);
|
| -
|
| void RunJavaScriptDialog(
|
| content::JavaScriptMessageType message_type,
|
| const GURL& origin_url,
|
| @@ -127,9 +108,17 @@ class AwContents : public FindHelper::Listener,
|
| base::android::ScopedJavaLocalRef<jbyteArray> GetOpaqueState(
|
| JNIEnv* env, jobject obj);
|
| jboolean RestoreFromOpaqueState(JNIEnv* env, jobject obj, jbyteArray state);
|
| + void FocusFirstNode(JNIEnv* env, jobject obj);
|
| + bool DrawSW(JNIEnv* env,
|
| + jobject obj,
|
| + jobject canvas,
|
| + jint clip_x,
|
| + jint clip_y,
|
| + jint clip_w,
|
| + jint clip_h);
|
| void SetScrollForHWFrame(JNIEnv* env, jobject obj,
|
| int scroll_x, int scroll_y);
|
| - void FocusFirstNode(JNIEnv* env, jobject obj);
|
| + jint GetAwDrawGLViewContext(JNIEnv* env, jobject obj);
|
| base::android::ScopedJavaLocalRef<jobject> CapturePicture(JNIEnv* env,
|
| jobject obj);
|
| void EnableOnNewPicture(JNIEnv* env,
|
| @@ -150,8 +139,6 @@ class AwContents : public FindHelper::Listener,
|
| void FindAllAsync(JNIEnv* env, jobject obj, jstring search_string);
|
| void FindNext(JNIEnv* env, jobject obj, jboolean forward);
|
| void ClearMatches(JNIEnv* env, jobject obj);
|
| - void ClearCache(JNIEnv* env, jobject obj, jboolean include_disk_files);
|
| -
|
| FindHelper* GetFindHelper();
|
|
|
| // FindHelper::Listener implementation.
|
| @@ -163,29 +150,17 @@ class AwContents : public FindHelper::Listener,
|
| virtual void OnReceivedTouchIconUrl(const std::string& url,
|
| const bool precomposed) OVERRIDE;
|
|
|
| - // content::Compositor::Client implementation.
|
| - virtual void ScheduleComposite() OVERRIDE;
|
| - virtual void OnSwapBuffersCompleted() OVERRIDE;
|
| + // BrowserViewRenderer::Client implementation.
|
| + virtual void Invalidate() OVERRIDE;
|
| + virtual void OnNewPicture(
|
| + const base::android::JavaRef<jobject>& picture) OVERRIDE;
|
|
|
| + void ClearCache(JNIEnv* env, jobject obj, jboolean include_disk_files);
|
| void SetPendingWebContentsForPopup(scoped_ptr<content::WebContents> pending);
|
| jint ReleasePopupWebContents(JNIEnv* env, jobject obj);
|
|
|
| - // AwRenderViewHostExt::Client implementation.
|
| - virtual void OnPictureUpdated(int process_id, int render_view_id) OVERRIDE;
|
| -
|
| - // Returns the latest locally available picture if any.
|
| - // If none is available will synchronously request the latest one
|
| - // and block until the result is received.
|
| - skia::RefPtr<SkPicture> GetLastCapturedPicture();
|
| -
|
| private:
|
| - void Invalidate();
|
| void SetWebContents(content::WebContents* web_contents);
|
| - void SetCompositorVisibility(bool visible);
|
| - void ResetCompositor();
|
| - void AttachLayerTree();
|
| - bool RenderSW(SkCanvas* canvas);
|
| - bool RenderPicture(SkCanvas* canvas);
|
|
|
| JavaObjectWeakGlobalRef java_ref_;
|
| scoped_ptr<content::WebContents> web_contents_;
|
| @@ -194,6 +169,7 @@ class AwContents : public FindHelper::Listener,
|
| scoped_ptr<FindHelper> find_helper_;
|
| scoped_ptr<IconHelper> icon_helper_;
|
| scoped_ptr<content::WebContents> pending_contents_;
|
| + scoped_ptr<BrowserViewRenderer> browser_view_renderer_;
|
|
|
| // GURL is supplied by the content layer as requesting frame.
|
| // Callback is supplied by the content layer, and is invoked with the result
|
| @@ -202,23 +178,6 @@ class AwContents : public FindHelper::Listener,
|
| // The first element in the list is always the currently pending request.
|
| std::list<OriginCallback> pending_geolocation_prompts_;
|
|
|
| - // Compositor-specific state.
|
| - scoped_ptr<content::Compositor> compositor_;
|
| - scoped_refptr<cc::Layer> scissor_clip_layer_;
|
| - scoped_refptr<cc::Layer> transform_layer_;
|
| - scoped_refptr<cc::Layer> view_clip_layer_;
|
| - gfx::Point hw_rendering_scroll_;
|
| - gfx::Size view_size_;
|
| - bool view_visible_;
|
| - bool compositor_visible_;
|
| - bool is_composite_pending_;
|
| - float dpi_scale_;
|
| - OnNewPictureMode on_new_picture_mode_;
|
| -
|
| - // Used only for detecting Android View System context changes.
|
| - // Not to be used between draw calls.
|
| - EGLContext last_frame_context_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(AwContents);
|
| };
|
|
|
|
|