|
8 | 8 | #include <NativeScriptAssert.h> |
9 | 9 | #include <fstream> |
10 | 10 | #include <iostream> |
| 11 | +#include <JniLocalRef.h> |
11 | 12 | #include "base64.h" |
12 | 13 | #include "v8_inspector/src/inspector/utils/v8-page-resources.h" |
13 | 14 | #include "JEnv.h" |
@@ -40,27 +41,21 @@ std::map<std::string, v8_inspector::utils::PageResource> PageResource::getPageRe |
40 | 41 |
|
41 | 42 | jmethodID getResourcesMethod = env.GetStaticMethodID(inspectorClass, "getPageResources", "()[Landroid/util/Pair;"); |
42 | 43 | jobject arrayOfPairs = env.CallStaticObjectMethod(inspectorClass, getResourcesMethod); |
43 | | - jobjectArray pairs = static_cast<jobjectArray>(arrayOfPairs); |
| 44 | + tns::JniLocalRef pairs(static_cast<jobjectArray>(arrayOfPairs)); |
44 | 45 | int arrSize = env.GetArrayLength(pairs); |
45 | 46 |
|
46 | 47 | for (int i = 0; i < arrSize; ++i) { |
47 | | - auto pair = env.GetObjectArrayElement(pairs, i); |
48 | | - auto pairFilePath = (jstring) env.GetObjectField(pair, pairFirst); |
49 | | - auto pairMimeType = (jstring) env.GetObjectField(pair, pairSecond); |
| 48 | + tns::JniLocalRef pair(env.GetObjectArrayElement(pairs, i)); |
| 49 | + tns::JniLocalRef pairFilePath((jstring) env.GetObjectField(pair, pairFirst)); |
| 50 | + tns::JniLocalRef pairMimeType((jstring) env.GetObjectField(pair, pairSecond)); |
50 | 51 |
|
51 | 52 | auto filePath = tns::ArgConverter::jstringToString(pairFilePath); |
52 | 53 | auto mimeType = tns::ArgConverter::jstringToString(pairMimeType); |
53 | 54 |
|
54 | 55 | utils::PageResource pageResource(filePath, mimeType); |
55 | 56 | result.insert(std::make_pair(filePath, pageResource)); |
56 | | - |
57 | | - env.DeleteLocalRef(pairFilePath); |
58 | | - env.DeleteLocalRef(pairMimeType); |
59 | | - env.DeleteLocalRef(pair); |
60 | 57 | } |
61 | 58 |
|
62 | | - env.DeleteLocalRef(pairs); |
63 | | - |
64 | 59 | s_cachedPageResources = result; |
65 | 60 |
|
66 | 61 | return result; |
|
0 commit comments