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

Unified Diff: android_webview/native/aw_contents.h

Issue 1816283005: Move SharedRendererState ownership to AwContents (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: All tests passing Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: android_webview/native/aw_contents.h
diff --git a/android_webview/native/aw_contents.h b/android_webview/native/aw_contents.h
index 1ab42eba61d13c19799553ae3acb20165d7ac6e0..bcac6c1994a1fcb223619654ea105730539ea9ac 100644
--- a/android_webview/native/aw_contents.h
+++ b/android_webview/native/aw_contents.h
@@ -18,6 +18,8 @@
#include "android_webview/browser/gl_view_renderer_manager.h"
#include "android_webview/browser/icon_helper.h"
#include "android_webview/browser/renderer_host/aw_render_view_host_ext.h"
+#include "android_webview/browser/shared_renderer_state.h"
+#include "android_webview/browser/shared_renderer_state_client.h"
#include "android_webview/native/permission/permission_request_handler_client.h"
#include "base/android/jni_weak_ref.h"
#include "base/android/scoped_java_ref.h"
@@ -60,7 +62,8 @@ class AwContents : public FindHelper::Listener,
public AwRenderViewHostExtClient,
public BrowserViewRendererClient,
public PermissionRequestHandlerClient,
- public AwBrowserPermissionRequestDelegate {
+ public AwBrowserPermissionRequestDelegate,
+ public SharedRendererStateClient {
public:
// Returns the AwContents instance associated with |web_contents|, or NULL.
static AwContents* FromWebContents(content::WebContents* web_contents);
@@ -230,6 +233,11 @@ class AwContents : public FindHelper::Listener,
const base::Callback<void(bool)>& callback) override;
void CancelMIDISysexPermissionRequests(const GURL& origin) override;
+ // SharedRendererStateClient implementation.
+ void UpdateParentDrawConstraints() override;
+ bool RequestDrawGL(bool wait_for_completion) override;
+ void DetachFunctorFromView() override;
+
// Find-in-page API and related methods.
void FindAllAsync(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
@@ -259,9 +267,7 @@ class AwContents : public FindHelper::Listener,
void OnWebLayoutContentsSizeChanged(const gfx::Size& contents_size) override;
// BrowserViewRendererClient implementation.
- bool RequestDrawGL(bool wait_for_completion) override;
void PostInvalidate() override;
- void DetachFunctorFromView() override;
void OnNewPicture() override;
gfx::Point GetLocationOnScreen() override;
void ScrollContainerViewTo(const gfx::Vector2d& new_value) override;
@@ -330,6 +336,13 @@ class AwContents : public FindHelper::Listener,
const base::android::JavaParamRef<jobject>& obj);
private:
+ void CleanUpUncommittedFrame();
+ void CleanUpReturnedResources();
+
+ bool OnDrawHardware(const gfx::Vector2d& scroll);
+ bool OnDrawSoftware(const base::android::JavaRef<jobject>& canvas,
+ const gfx::Vector2d& scroll);
boliu 2016/03/30 16:12:13 these new methods don't exist anymore
Tobias Sargeant 2016/03/30 17:17:17 Done.
+
void InitAutofillIfNecessary(bool enabled);
// Geolocation API support
@@ -339,6 +352,7 @@ class AwContents : public FindHelper::Listener,
void SetDipScaleInternal(float dip_scale);
JavaObjectWeakGlobalRef java_ref_;
+ SharedRendererState shared_renderer_state_;
BrowserViewRenderer browser_view_renderer_; // Must outlive |web_contents_|.
scoped_ptr<AwWebContentsDelegate> web_contents_delegate_;
scoped_ptr<AwContentsClientBridge> contents_client_bridge_;

Powered by Google App Engine
This is Rietveld 408576698