[mq]: meta_viewport_query

This commit is contained in:
Brad Lassey
2012-02-18 18:32:50 -05:00
parent 398a513fd1
commit 0db634c763
5 changed files with 84 additions and 6 deletions

View File

@@ -76,6 +76,8 @@ jfieldID AndroidGeckoEvent::jLocationField = 0;
jfieldID AndroidGeckoEvent::jAddressField = 0;
jfieldID AndroidGeckoEvent::jBandwidthField = 0;
jfieldID AndroidGeckoEvent::jCanBeMeteredField = 0;
jfieldID AndroidGeckoEvent::jTabIdField = 0;
jmethodID AndroidGeckoEvent::jDoCallbackMethod = 0;
jclass AndroidPoint::jPointClass = 0;
jfieldID AndroidPoint::jXField = 0;
@@ -208,6 +210,9 @@ AndroidGeckoEvent::InitGeckoEventClass(JNIEnv *jEnv)
jAddressField = getField("mAddress", "Landroid/location/Address;");
jBandwidthField = getField("mBandwidth", "D");
jCanBeMeteredField = getField("mCanBeMetered", "Z");
jTabIdField = getField("mTabId", "I");
jDoCallbackMethod = getMethod("doCallback", "(Ljava/lang/String;)V");
}
void
@@ -585,6 +590,10 @@ AndroidGeckoEvent::Init(JNIEnv *jenv, jobject jobj)
break;
}
case META_VIEWPORT_QUERY:
mTabId = jenv->GetIntField(jobj, jTabIdField);
break;
case VIEWPORT:
case BROADCAST: {
ReadCharactersField(jenv);
@@ -616,11 +625,6 @@ AndroidGeckoEvent::Init(JNIEnv *jenv, jobject jobj)
break;
}
case SCREENSHOT: {
mMetaState = jenv->GetIntField(jobj, jMetaStateField);
ReadPointArray(mPoints, jenv, jPoints, 2);
}
default:
break;
}
@@ -665,6 +669,15 @@ AndroidPoint::Init(JNIEnv *jenv, jobject jobj)
}
}
void
AndroidGeckoEvent::DoCallback(const nsAString& data) {
JNIEnv* env = AndroidBridge::GetJNIEnv();
if (!env)
return;
jstring jData = env->NewString(nsPromiseFlatString(data).get(), data.Length());
env->CallVoidMethod(wrapped_obj, jDoCallbackMethod, jData);
}
void
AndroidGeckoGLLayerClient::Init(jobject jobj)
{