Bug 725095 - Merge off-main-thread compositor from Maple. IGNORE BAD COMMIT MESSAGES

This commit is contained in:
Kartikaya Gupta
2012-03-14 11:18:15 -04:00
240 changed files with 3620 additions and 10691 deletions

View File

@@ -49,9 +49,6 @@ jfieldID AndroidGeckoEvent::jPointIndicies = 0;
jfieldID AndroidGeckoEvent::jPressures = 0;
jfieldID AndroidGeckoEvent::jPointRadii = 0;
jfieldID AndroidGeckoEvent::jOrientations = 0;
jfieldID AndroidGeckoEvent::jAlphaField = 0;
jfieldID AndroidGeckoEvent::jBetaField = 0;
jfieldID AndroidGeckoEvent::jGammaField = 0;
jfieldID AndroidGeckoEvent::jXField = 0;
jfieldID AndroidGeckoEvent::jYField = 0;
jfieldID AndroidGeckoEvent::jZField = 0;
@@ -73,7 +70,6 @@ jfieldID AndroidGeckoEvent::jRangeStylesField = 0;
jfieldID AndroidGeckoEvent::jRangeForeColorField = 0;
jfieldID AndroidGeckoEvent::jRangeBackColorField = 0;
jfieldID AndroidGeckoEvent::jLocationField = 0;
jfieldID AndroidGeckoEvent::jAddressField = 0;
jfieldID AndroidGeckoEvent::jBandwidthField = 0;
jfieldID AndroidGeckoEvent::jCanBeMeteredField = 0;
@@ -96,19 +92,6 @@ jmethodID AndroidLocation::jGetBearingMethod = 0;
jmethodID AndroidLocation::jGetSpeedMethod = 0;
jmethodID AndroidLocation::jGetTimeMethod = 0;
jclass AndroidAddress::jAddressClass = 0;
jmethodID AndroidAddress::jGetAddressLineMethod;
jmethodID AndroidAddress::jGetAdminAreaMethod;
jmethodID AndroidAddress::jGetCountryNameMethod;
jmethodID AndroidAddress::jGetFeatureNameMethod;
jmethodID AndroidAddress::jGetLocalityMethod;
jmethodID AndroidAddress::jGetPostalCodeMethod;
jmethodID AndroidAddress::jGetPremisesMethod;
jmethodID AndroidAddress::jGetSubAdminAreaMethod;
jmethodID AndroidAddress::jGetSubLocalityMethod;
jmethodID AndroidAddress::jGetSubThoroughfareMethod;
jmethodID AndroidAddress::jGetThoroughfareMethod;
jclass AndroidGeckoLayerClient::jGeckoLayerClientClass = 0;
jmethodID AndroidGeckoLayerClient::jBeginDrawingMethod = 0;
jmethodID AndroidGeckoLayerClient::jEndDrawingMethod = 0;
@@ -158,7 +141,6 @@ mozilla::InitAndroidJavaWrappers(JNIEnv *jEnv)
AndroidGeckoEvent::InitGeckoEventClass(jEnv);
AndroidPoint::InitPointClass(jEnv);
AndroidLocation::InitLocationClass(jEnv);
AndroidAddress::InitAddressClass(jEnv);
AndroidRect::InitRectClass(jEnv);
AndroidGeckoLayerClient::InitGeckoLayerClientClass(jEnv);
AndroidLayerRendererFrame::InitLayerRendererFrameClass(jEnv);
@@ -181,9 +163,6 @@ AndroidGeckoEvent::InitGeckoEventClass(JNIEnv *jEnv)
jOrientations = getField("mOrientations", "[F");
jPressures = getField("mPressures", "[F");
jPointRadii = getField("mPointRadii", "[Landroid/graphics/Point;");
jAlphaField = getField("mAlpha", "D");
jBetaField = getField("mBeta", "D");
jGammaField = getField("mGamma", "D");
jXField = getField("mX", "D");
jYField = getField("mY", "D");
jZField = getField("mZ", "D");
@@ -204,7 +183,6 @@ AndroidGeckoEvent::InitGeckoEventClass(JNIEnv *jEnv)
jRangeForeColorField = getField("mRangeForeColor", "I");
jRangeBackColorField = getField("mRangeBackColor", "I");
jLocationField = getField("mLocation", "Landroid/location/Location;");
jAddressField = getField("mAddress", "Landroid/location/Address;");
jBandwidthField = getField("mBandwidth", "D");
jCanBeMeteredField = getField("mCanBeMetered", "Z");
}
@@ -243,60 +221,6 @@ AndroidLocation::InitLocationClass(JNIEnv *jEnv)
jGetTimeMethod = getMethod("getTime", "()J");
}
void
AndroidAddress::InitAddressClass(JNIEnv *jEnv)
{
initInit();
jAddressClass = getClassGlobalRef("android/location/Address");
jGetAddressLineMethod = getMethod("getAddressLine", "(I)Ljava/lang/String;");
jGetAdminAreaMethod = getMethod("getAdminArea", "()Ljava/lang/String;");
jGetCountryNameMethod = getMethod("getCountryName", "()Ljava/lang/String;");
jGetFeatureNameMethod = getMethod("getFeatureName", "()Ljava/lang/String;");
jGetLocalityMethod = getMethod("getLocality", "()Ljava/lang/String;");
jGetPostalCodeMethod = getMethod("getPostalCode", "()Ljava/lang/String;");
jGetPremisesMethod = getMethod("getPremises", "()Ljava/lang/String;");
jGetSubAdminAreaMethod = getMethod("getSubAdminArea", "()Ljava/lang/String;");
jGetSubLocalityMethod = getMethod("getSubLocality", "()Ljava/lang/String;");
jGetSubThoroughfareMethod = getMethod("getSubThoroughfare", "()Ljava/lang/String;");
jGetThoroughfareMethod = getMethod("getThoroughfare", "()Ljava/lang/String;");
}
nsGeoPositionAddress*
AndroidAddress::CreateGeoPositionAddress(JNIEnv *jenv, jobject jobj)
{
nsJNIString streetNumber(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetSubThoroughfareMethod)), jenv);
nsJNIString street(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetThoroughfareMethod)), jenv);
nsJNIString city(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetLocalityMethod)), jenv);
nsJNIString county(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetSubAdminAreaMethod)), jenv);
nsJNIString country(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetCountryNameMethod)), jenv);
nsJNIString premises(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetPremisesMethod)), jenv);
nsJNIString postalCode(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetPostalCodeMethod)), jenv);
nsJNIString region(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetAdminAreaMethod, 0)), jenv);
#ifdef DEBUG
printf_stderr("!!!!!!!!!!!!!! AndroidAddress::CreateGeoPositionAddress:\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n",
NS_LossyConvertUTF16toASCII(streetNumber).get(),
NS_LossyConvertUTF16toASCII(street).get(),
NS_LossyConvertUTF16toASCII(premises).get(),
NS_LossyConvertUTF16toASCII(city).get(),
NS_LossyConvertUTF16toASCII(county).get(),
NS_LossyConvertUTF16toASCII(region).get(),
NS_LossyConvertUTF16toASCII(country).get(),
NS_LossyConvertUTF16toASCII(postalCode).get());
#endif
return new nsGeoPositionAddress(streetNumber,
street,
premises,
city,
county,
region,
country,
postalCode);
}
nsGeoPosition*
AndroidLocation::CreateGeoPosition(JNIEnv *jenv, jobject jobj)
{
@@ -548,25 +472,16 @@ AndroidGeckoEvent::Init(JNIEnv *jenv, jobject jobj)
ReadRectField(jenv);
break;
case ORIENTATION_EVENT:
mAlpha = jenv->GetDoubleField(jobj, jAlphaField);
mBeta = jenv->GetDoubleField(jobj, jBetaField);
mGamma = jenv->GetDoubleField(jobj, jGammaField);
break;
case ACCELERATION_EVENT:
mX = jenv->GetDoubleField(jobj, jXField);
mY = jenv->GetDoubleField(jobj, jYField);
mZ = jenv->GetDoubleField(jobj, jZField);
break;
case SENSOR_EVENT:
mX = jenv->GetDoubleField(jobj, jXField);
mY = jenv->GetDoubleField(jobj, jYField);
mZ = jenv->GetDoubleField(jobj, jZField);
mFlags = jenv->GetIntField(jobj, jFlagsField);
break;
case LOCATION_EVENT: {
jobject location = jenv->GetObjectField(jobj, jLocationField);
jobject address = jenv->GetObjectField(jobj, jAddressField);
mGeoPosition = AndroidLocation::CreateGeoPosition(jenv, location);
if (address)
mGeoAddress = AndroidAddress::CreateGeoPositionAddress(jenv, address);
break;
}
@@ -598,6 +513,7 @@ AndroidGeckoEvent::Init(JNIEnv *jenv, jobject jobj)
break;
}
case SENSOR_ACCURACY:
case ACTIVITY_STOPPING:
case ACTIVITY_START:
case ACTIVITY_PAUSING: