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

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

Issue 2493333002: Move Java Blimp shell code to app subpackage (Closed)
Patch Set: Merge branch 'refs/heads/master' into blimp-shell-integration Created 4 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
« no previous file with comments | « blimp/client/app/android/blimp_view.h ('k') | blimp/client/app/android/java/res/layout/blimp_main.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
deleted file mode 100644
index 5e447f2e10f5c1548ff843ffb9e4f3c3050db380..0000000000000000000000000000000000000000
--- a/blimp/client/app/android/blimp_view.cc
+++ /dev/null
@@ -1,222 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "blimp/client/app/android/blimp_view.h"
-
-#include <android/native_window_jni.h>
-
-#include "base/memory/ptr_util.h"
-#include "blimp/client/app/android/blimp_client_session_android.h"
-#include "blimp/client/app/compositor/browser_compositor.h"
-#include "blimp/client/core/compositor/blimp_compositor_dependencies.h"
-#include "blimp/client/core/render_widget/blimp_document_manager.h"
-#include "blimp/client/core/render_widget/render_widget_feature.h"
-#include "blimp/client/support/compositor/compositor_dependencies_impl.h"
-#include "jni/BlimpView_jni.h"
-#include "ui/events/android/motion_event_android.h"
-#include "ui/gfx/geometry/size.h"
-
-namespace {
-const int kDummyBlimpContentsId = 0;
-} // namespace
-
-namespace blimp {
-namespace client {
-namespace app {
-
-static jlong Init(
- JNIEnv* env,
- const base::android::JavaParamRef<jobject>& jobj,
- const base::android::JavaParamRef<jobject>& blimp_client_session,
- jint real_width,
- jint real_height,
- jint width,
- jint height,
- jfloat dp_to_px) {
- BlimpClientSession* client_session =
- BlimpClientSessionAndroid::FromJavaObject(env, blimp_client_session);
-
- // TODO(dtrainor): Pull the feature object from the BlimpClientSession and
- // pass it through to the BlimpCompositor.
- ALLOW_UNUSED_LOCAL(client_session);
-
- return reinterpret_cast<intptr_t>(new BlimpView(
- env, jobj, gfx::Size(real_width, real_height), gfx::Size(width, height),
- dp_to_px, client_session->GetRenderWidgetFeature()));
-}
-
-// static
-bool BlimpView::RegisterJni(JNIEnv* env) {
- return RegisterNativesImpl(env);
-}
-
-BlimpView::BlimpView(JNIEnv* env,
- const base::android::JavaParamRef<jobject>& jobj,
- const gfx::Size& real_size,
- const gfx::Size& size,
- float dp_to_px,
- blimp::client::RenderWidgetFeature* render_widget_feature)
- : device_scale_factor_(dp_to_px),
- current_surface_format_(0),
- window_(gfx::kNullAcceleratedWidget),
- weak_ptr_factory_(this) {
- compositor_dependencies_ = base::MakeUnique<BlimpCompositorDependencies>(
- base::MakeUnique<CompositorDependenciesImpl>());
-
- compositor_ = base::MakeUnique<BrowserCompositor>(
- compositor_dependencies_->GetEmbedderDependencies());
- compositor_->set_did_complete_swap_buffers_callback(base::Bind(
- &BlimpView::OnSwapBuffersCompleted, weak_ptr_factory_.GetWeakPtr()));
-
- document_manager_ = base::MakeUnique<BlimpDocumentManager>(
- kDummyBlimpContentsId, render_widget_feature,
- compositor_dependencies_.get());
- compositor_->SetContentLayer(document_manager_->layer());
-
- java_obj_.Reset(env, jobj);
-}
-
-BlimpView::~BlimpView() {
- SetSurface(nullptr);
-
- // Destroy the BrowserCompositor and the BlimpCompositorManager before the
- // BlimpCompositorDependencies.
- compositor_.reset();
- document_manager_.reset();
- compositor_dependencies_.reset();
-}
-
-void BlimpView::Destroy(JNIEnv* env,
- const base::android::JavaParamRef<jobject>& jobj) {
- delete this;
-}
-
-void BlimpView::OnContentAreaSizeChanged(
- JNIEnv* env,
- const base::android::JavaParamRef<jobject>& jobj,
- jint width,
- jint height,
- jfloat dpToPx) {
- compositor_->SetSize(gfx::Size(width, height));
-}
-
-void BlimpView::OnSurfaceChanged(
- JNIEnv* env,
- const base::android::JavaParamRef<jobject>& jobj,
- jint format,
- jint width,
- jint height,
- const base::android::JavaParamRef<jobject>& jsurface) {
- if (current_surface_format_ != format) {
- current_surface_format_ = format;
- SetSurface(nullptr);
-
- if (jsurface) {
- SetSurface(jsurface);
- }
- }
-}
-
-void BlimpView::OnSurfaceCreated(
- JNIEnv* env,
- const base::android::JavaParamRef<jobject>& jobj) {
- current_surface_format_ = 0 /** PixelFormat.UNKNOWN */;
-}
-
-void BlimpView::OnSurfaceDestroyed(
- JNIEnv* env,
- const base::android::JavaParamRef<jobject>& jobj) {
- current_surface_format_ = 0 /** PixelFormat.UNKNOWN */;
- SetSurface(nullptr);
-}
-
-void BlimpView::SetSurface(jobject surface) {
- JNIEnv* env = base::android::AttachCurrentThread();
- // Release all references to the old surface.
- if (window_ != gfx::kNullAcceleratedWidget) {
- compositor_->SetAcceleratedWidget(gfx::kNullAcceleratedWidget);
- document_manager_->SetVisible(false);
- ANativeWindow_release(window_);
- window_ = gfx::kNullAcceleratedWidget;
- }
-
- if (surface) {
- base::android::ScopedJavaLocalFrame scoped_local_reference_frame(env);
- window_ = ANativeWindow_fromSurface(env, surface);
- compositor_->SetAcceleratedWidget(window_);
- document_manager_->SetVisible(true);
- }
-}
-
-jboolean BlimpView::OnTouchEvent(
- JNIEnv* env,
- const base::android::JavaParamRef<jobject>& obj,
- const base::android::JavaParamRef<jobject>& motion_event,
- jlong time_ms,
- jint android_action,
- jint pointer_count,
- jint history_size,
- jint action_index,
- jfloat pos_x_0,
- jfloat pos_y_0,
- jfloat pos_x_1,
- jfloat pos_y_1,
- jint pointer_id_0,
- jint pointer_id_1,
- jfloat touch_major_0,
- jfloat touch_major_1,
- jfloat touch_minor_0,
- jfloat touch_minor_1,
- jfloat orientation_0,
- jfloat orientation_1,
- jfloat tilt_0,
- jfloat tilt_1,
- jfloat raw_pos_x,
- jfloat raw_pos_y,
- jint android_tool_type_0,
- jint android_tool_type_1,
- jint android_button_state,
- jint android_meta_state) {
- ui::MotionEventAndroid::Pointer pointer0(pointer_id_0,
- pos_x_0,
- pos_y_0,
- touch_major_0,
- touch_minor_0,
- orientation_0,
- tilt_0,
- android_tool_type_0);
- ui::MotionEventAndroid::Pointer pointer1(pointer_id_1,
- pos_x_1,
- pos_y_1,
- touch_major_1,
- touch_minor_1,
- orientation_1,
- tilt_1,
- android_tool_type_1);
- ui::MotionEventAndroid event(1.f / device_scale_factor_,
- env,
- motion_event,
- time_ms,
- android_action,
- pointer_count,
- history_size,
- action_index,
- android_button_state,
- android_meta_state,
- raw_pos_x - pos_x_0,
- raw_pos_y - pos_y_0,
- &pointer0,
- &pointer1);
-
- return document_manager_->OnTouchEvent(event);
-}
-
-void BlimpView::OnSwapBuffersCompleted() {
- JNIEnv* env = base::android::AttachCurrentThread();
- Java_BlimpView_onSwapBuffersCompleted(env, java_obj_);
-}
-
-} // namespace app
-} // namespace client
-} // namespace blimp
« no previous file with comments | « blimp/client/app/android/blimp_view.h ('k') | blimp/client/app/android/java/res/layout/blimp_main.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698