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