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

Unified Diff: content/browser/android/content_view_core_impl.cc

Issue 26753005: Adding compositor callbacks to RenderWidgetHostViewAndroid (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Plumb compositor provider through instead of compositor Created 7 years, 1 month 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: content/browser/android/content_view_core_impl.cc
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
index fb4b8cee25a2bca139467d15cfeed8705933a526..391d25d38b7d4701f3fd95cc39ab2d389caf7bb6 100644
--- a/content/browser/android/content_view_core_impl.cc
+++ b/content/browser/android/content_view_core_impl.cc
@@ -155,11 +155,14 @@ ContentViewCore* ContentViewCore::GetNativeContentViewCore(JNIEnv* env,
Java_ContentViewCore_getNativeContentViewCore(env, obj));
}
-ContentViewCoreImpl::ContentViewCoreImpl(JNIEnv* env, jobject obj,
- bool hardware_accelerated,
- WebContents* web_contents,
- ui::ViewAndroid* view_android,
- ui::WindowAndroid* window_android)
+ContentViewCoreImpl::ContentViewCoreImpl(
+ JNIEnv* env,
+ jobject obj,
+ bool hardware_accelerated,
+ WebContents* web_contents,
+ ui::ViewAndroid* view_android,
+ ui::WindowAndroid* window_android,
+ CompositorProvider* compositor_provider)
: WebContentsObserver(web_contents),
java_ref_(env, obj),
web_contents_(static_cast<WebContentsImpl*>(web_contents)),
@@ -170,7 +173,8 @@ ContentViewCoreImpl::ContentViewCoreImpl(JNIEnv* env, jobject obj,
kDefaultVSyncIntervalMicros * kDefaultBrowserCompositeVSyncFraction)),
view_android_(view_android),
window_android_(window_android),
- device_orientation_(0) {
+ device_orientation_(0),
+ compositor_provider_(compositor_provider) {
CHECK(web_contents) <<
"A ContentViewCoreImpl should be created with a valid WebContents.";
@@ -226,6 +230,10 @@ void ContentViewCoreImpl::InitWebContents() {
static_cast<WebContentsViewAndroid*>(web_contents_->GetView())->
SetContentViewCore(this);
+
+ static_cast<WebContentsViewAndroid*>(web_contents_->GetView())->
+ SetCompositorProvider(compositor_provider_);
+
DCHECK(!web_contents_->GetUserData(kContentViewUserDataKey));
web_contents_->SetUserData(kContentViewUserDataKey,
new ContentViewUserData(this));
@@ -1633,12 +1641,14 @@ jint Init(JNIEnv* env, jobject obj,
jboolean hardware_accelerated,
jint native_web_contents,
jint view_android,
- jint window_android) {
+ jint window_android,
+ jint compositor_provider) {
ContentViewCoreImpl* view = new ContentViewCoreImpl(
env, obj, hardware_accelerated,
reinterpret_cast<WebContents*>(native_web_contents),
reinterpret_cast<ui::ViewAndroid*>(view_android),
- reinterpret_cast<ui::WindowAndroid*>(window_android));
+ reinterpret_cast<ui::WindowAndroid*>(window_android),
+ reinterpret_cast<CompositorProvider*>(compositor_provider));
return reinterpret_cast<jint>(view);
}

Powered by Google App Engine
This is Rietveld 408576698