| Index: content/browser/android/jni_helper.cc
|
| diff --git a/content/browser/android/jni_helper.cc b/content/browser/android/jni_helper.cc
|
| deleted file mode 100644
|
| index bd7bce6686ec2f1d184707596f1262b51c379e1b..0000000000000000000000000000000000000000
|
| --- a/content/browser/android/jni_helper.cc
|
| +++ /dev/null
|
| @@ -1,158 +0,0 @@
|
| -// Copyright (c) 2012 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 "content/browser/android/jni_helper.h"
|
| -
|
| -#include <android/bitmap.h>
|
| -#include <vector>
|
| -
|
| -#include "base/android/jni_android.h"
|
| -#include "base/android/jni_helper.h"
|
| -#include "base/android/jni_string.h"
|
| -#include "base/debug/trace_event.h"
|
| -#include "base/logging.h"
|
| -#include "jni/jni_helper_jni.h"
|
| -#include "third_party/skia/include/core/SkBitmap.h"
|
| -
|
| -using base::android::AttachCurrentThread;
|
| -using base::android::CheckException;
|
| -using base::android::GetStaticMethodID;
|
| -using base::android::GetClass;
|
| -using base::android::GetMethodID;
|
| -using base::android::ScopedJavaLocalRef;
|
| -
|
| -AutoLocalFrame::AutoLocalFrame(int capacity) {
|
| - AttachCurrentThread()->PushLocalFrame(capacity);
|
| -}
|
| -
|
| -AutoLocalFrame::~AutoLocalFrame() {
|
| - AttachCurrentThread()->PopLocalFrame(NULL);
|
| -}
|
| -
|
| -AutoLockJavaBitmap::AutoLockJavaBitmap(jobject bitmap) :
|
| - bitmap_(bitmap),
|
| - pixels_(NULL) {
|
| - int err = AndroidBitmap_lockPixels(AttachCurrentThread(), bitmap_, &pixels_);
|
| - DCHECK(!err);
|
| - DCHECK(pixels_);
|
| -}
|
| -
|
| -AutoLockJavaBitmap::~AutoLockJavaBitmap() {
|
| - // TODO(aelias): Add AndroidBitmap_notifyPixelsChanged() call here
|
| - // once it's added to the NDK. Using hardware bitmaps will
|
| - // be broken until this is fixed.
|
| - int err = AndroidBitmap_unlockPixels(AttachCurrentThread(), bitmap_);
|
| - DCHECK(!err);
|
| -}
|
| -
|
| -gfx::Size AutoLockJavaBitmap::size() const {
|
| - AndroidBitmapInfo info;
|
| - int err = AndroidBitmap_getInfo(AttachCurrentThread(), bitmap_, &info);
|
| - DCHECK(!err);
|
| - return gfx::Size(info.width, info.height);
|
| -}
|
| -
|
| -int AutoLockJavaBitmap::format() const {
|
| - AndroidBitmapInfo info;
|
| - int err = AndroidBitmap_getInfo(AttachCurrentThread(), bitmap_, &info);
|
| - DCHECK(!err);
|
| - return info.format;
|
| -}
|
| -
|
| -uint32_t AutoLockJavaBitmap::stride() const {
|
| - AndroidBitmapInfo info;
|
| - int err = AndroidBitmap_getInfo(AttachCurrentThread(), bitmap_, &info);
|
| - DCHECK(!err);
|
| - return info.stride;
|
| -}
|
| -
|
| -void PrintJavaStackTrace() {
|
| - JNIEnv* env = AttachCurrentThread();
|
| -
|
| - ScopedJavaLocalRef<jclass> throwable_clazz =
|
| - GetClass(env, "java/lang/Throwable");
|
| - jmethodID throwable_constructor =
|
| - GetMethodID(env, throwable_clazz, "<init>", "()V");
|
| -
|
| - ScopedJavaLocalRef<jobject> throwable_object(env,
|
| - env->NewObject(throwable_clazz.obj(), throwable_constructor));
|
| - DCHECK(!throwable_object.is_null());
|
| - jmethodID printstacktrace =
|
| - GetMethodID(env, throwable_clazz, "printStackTrace", "()V");
|
| -
|
| - env->CallVoidMethod(throwable_object.obj(), printstacktrace);
|
| - CheckException(env);
|
| -}
|
| -
|
| -void ConvertJavaArrayOfStringsToVectorOfStrings(
|
| - JNIEnv* env,
|
| - jobjectArray jstrings,
|
| - std::vector<std::string>* vec) {
|
| - vec->clear();
|
| - jsize length = env->GetArrayLength(jstrings);
|
| - for (jsize i = 0; i < length; ++i) {
|
| - jstring item = static_cast<jstring>(
|
| - env->GetObjectArrayElement(jstrings, i));
|
| - vec->push_back(base::android::ConvertJavaStringToUTF8(env, item));
|
| - env->DeleteLocalRef(item);
|
| - }
|
| -}
|
| -
|
| -ScopedJavaLocalRef<jobject> CreateJavaBitmap(const gfx::Size& size, bool keep) {
|
| - JNIEnv* env = AttachCurrentThread();
|
| - ScopedJavaLocalRef<jobject> bitmap =
|
| - Java_JNIHelper_createJavaBitmap(env, size.width(), size.height(), keep);
|
| - CheckException(env);
|
| - return bitmap;
|
| -}
|
| -
|
| -void DeleteJavaBitmap(jobject bitmap) {
|
| - JNIEnv* env = AttachCurrentThread();
|
| - Java_JNIHelper_deleteJavaBitmap(env, bitmap);
|
| - CheckException(env);
|
| -}
|
| -
|
| -void PaintJavaBitmapToJavaBitmap(jobject source_bitmap,
|
| - const gfx::Rect& source_rect,
|
| - jobject dest_bitmap,
|
| - const gfx::Rect& dest_rect) {
|
| - TRACE_EVENT0("jni", "PaintJavaBitmapToJavaBitmap");
|
| - JNIEnv* env = AttachCurrentThread();
|
| -
|
| - Java_JNIHelper_paintJavaBitmapToJavaBitmap(env,
|
| - source_bitmap,
|
| - source_rect.x(),
|
| - source_rect.y(),
|
| - source_rect.right(),
|
| - source_rect.bottom(),
|
| - dest_bitmap,
|
| - dest_rect.x(),
|
| - dest_rect.y(),
|
| - dest_rect.right(),
|
| - dest_rect.bottom());
|
| - CheckException(env);
|
| -}
|
| -
|
| -ScopedJavaLocalRef<jobject> ConvertToJavaBitmap(const SkBitmap* skbitmap) {
|
| - TRACE_EVENT0("jni", "ConvertToJavaBitmap");
|
| - DCHECK(skbitmap);
|
| - DCHECK_EQ(skbitmap->bytesPerPixel(), 4);
|
| -
|
| - // Create a temporary java bitmap.
|
| - ScopedJavaLocalRef<jobject> jbitmap =
|
| - CreateJavaBitmap(gfx::Size(skbitmap->width(), skbitmap->height()), false);
|
| -
|
| - // Lock and copy the pixels from the skbitmap.
|
| - SkAutoLockPixels src_lock(*skbitmap);
|
| - AutoLockJavaBitmap dst_lock(jbitmap.obj());
|
| - void* src_pixels = skbitmap->getPixels();
|
| - void* dst_pixels = dst_lock.pixels();
|
| - memcpy(dst_pixels, src_pixels, skbitmap->getSize());
|
| -
|
| - return jbitmap;
|
| -}
|
| -
|
| -bool RegisterJniHelper(JNIEnv* env) {
|
| - return RegisterNativesImpl(env);
|
| -}
|
|
|