1a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon/* 2a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * Copyright (C) 2012 The Android Open Source Project 3a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * 4a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * Licensed under the Apache License, Version 2.0 (the "License"); 5a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * you may not use this file except in compliance with the License. 6a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * You may obtain a copy of the License at 7a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * 8a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * http://www.apache.org/licenses/LICENSE-2.0 9a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * 10a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * Unless required by applicable law or agreed to in writing, software 11a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * distributed under the License is distributed on an "AS IS" BASIS, 12a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * See the License for the specific language governing permissions and 14a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon * limitations under the License. 15a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon */ 16a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon 17a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon#define LOG_TAG "webviewchromium_plat_support" 18a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon 19a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon#include <jni.h> 20a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon#include <utils/Log.h> 21a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon 22a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixonnamespace android { 23a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon 24a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixonvoid RegisterDrawGLFunctor(JNIEnv* env); 25991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixonvoid RegisterGraphicsUtils(JNIEnv* env); 26a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon 27a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon} // namespace android 28a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon 29a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan DixonJNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) { 30a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon JNIEnv* env = NULL; 31a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon jint ret = vm->AttachCurrentThread(&env, NULL); 32a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon LOG_ALWAYS_FATAL_IF(ret != JNI_OK, "AttachCurrentThread failed"); 33a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon android::RegisterDrawGLFunctor(env); 34991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon android::RegisterGraphicsUtils(env); 35a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon 36a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon return JNI_VERSION_1_4; 37a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon} 38