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

Unified Diff: blimp/client/app/android/blimp_view.cc

Issue 2241623002: blimp: Move compositing, input and render widget feature to client/core. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments from #7 Created 4 years, 4 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: blimp/client/app/android/blimp_view.cc
diff --git a/blimp/client/app/android/blimp_view.cc b/blimp/client/app/android/blimp_view.cc
index 27f20612ace74c8e5278ed1c8649f4f1fc8d5ec6..dc16f0ee6c5b96b25fe13c6038787f57589301ce 100644
--- a/blimp/client/app/android/blimp_view.cc
+++ b/blimp/client/app/android/blimp_view.cc
@@ -7,6 +7,8 @@
#include <android/native_window_jni.h>
#include "blimp/client/app/android/blimp_client_session_android.h"
+#include "blimp/client/core/contents/blimp_contents_impl.h"
+#include "blimp/client/core/render_widget/blimp_render_widget.h"
#include "blimp/net/blimp_stats.h"
#include "jni/BlimpView_jni.h"
#include "ui/events/android/motion_event_android.h"
@@ -50,14 +52,16 @@ BlimpView::BlimpView(JNIEnv* env,
float dp_to_px,
RenderWidgetFeature* render_widget_feature)
: device_scale_factor_(dp_to_px),
- compositor_manager_(
- BlimpCompositorManagerAndroid::Create(real_size,
- size,
- render_widget_feature,
- this)),
+ blimp_contents_manager_(render_widget_feature),
current_surface_format_(0),
- window_(gfx::kNullAcceleratedWidget) {
+ window_(gfx::kNullAcceleratedWidget),
+ weak_ptr_factory_(this) {
java_obj_.Reset(env, jobj);
+
+ blimp_contents_ = blimp_contents_manager_.CreateBlimpContents();
+
+ blimp_contents_->set_did_complete_swap_buffers_callback(base::Bind(
+ &BlimpView::OnSwapBuffersCompleted, weak_ptr_factory_.GetWeakPtr()));
}
BlimpView::~BlimpView() {
@@ -84,8 +88,8 @@ void BlimpView::OnSurfaceChanged(JNIEnv* env,
if (jsurface) {
base::android::ScopedJavaLocalFrame scoped_local_reference_frame(env);
window_ = ANativeWindow_fromSurface(env, jsurface);
- compositor_manager_->SetAcceleratedWidget(window_);
- compositor_manager_->SetVisible(true);
+ blimp_contents_->SetAcceleratedWidget(window_);
+ blimp_contents_->SetVisible(true);
}
}
}
@@ -104,14 +108,14 @@ void BlimpView::OnSurfaceDestroyed(JNIEnv* env,
void BlimpView::SetVisibility(JNIEnv* env,
const JavaParamRef<jobject>& jobj,
jboolean visible) {
- compositor_manager_->SetVisible(visible);
+ blimp_contents_->SetVisible(visible);
}
void BlimpView::ReleaseAcceleratedWidget() {
if (window_ == gfx::kNullAcceleratedWidget)
return;
- compositor_manager_->ReleaseAcceleratedWidget();
+ blimp_contents_->SetAcceleratedWidget(gfx::kNullAcceleratedWidget);
ANativeWindow_release(window_);
window_ = gfx::kNullAcceleratedWidget;
}
@@ -175,7 +179,11 @@ jboolean BlimpView::OnTouchEvent(JNIEnv* env,
pointer0,
pointer1);
- return compositor_manager_->OnTouchEvent(event);
+ if (blimp_contents_->GetActiveWidget()) {
+ return blimp_contents_->GetActiveWidget()->OnTouchEvent(event);
+ }
+
+ return false;
}
void BlimpView::OnSwapBuffersCompleted() {
@@ -183,9 +191,5 @@ void BlimpView::OnSwapBuffersCompleted() {
Java_BlimpView_onSwapBuffersCompleted(env, java_obj_);
}
-void BlimpView::DidCommitAndDrawFrame() {
- BlimpStats::GetInstance()->Add(BlimpStats::COMMIT, 1);
-}
-
} // namespace client
} // namespace blimp

Powered by Google App Engine
This is Rietveld 408576698