Skip to content

Commit 8a68a06

Browse files
committed
devtools resource's content will be empty if file path resolution fails
1 parent 7b00397 commit 8a68a06

3 files changed

Lines changed: 7 additions & 12 deletions

File tree

runtime/src/main/java/com/tns/AndroidJsV8Inspector.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ private static List<Pair<String, String>> traverseResources(File dir) {
140140
private static String getMimeType(String url) {
141141
String type = null;
142142
String extension = MimeTypeMap.getFileExtensionFromUrl(url);
143-
if (extension != null) {
143+
if (!extension.isEmpty()) {
144144
type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
145145

146146
// getMimeType may sometime return incorrect results in the context of NativeScript

runtime/src/main/jni/v8_inspector/src/inspector/utils/v8-page-resources.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <NativeScriptAssert.h>
99
#include <fstream>
1010
#include <iostream>
11+
#include <JniLocalRef.h>
1112
#include "base64.h"
1213
#include "v8_inspector/src/inspector/utils/v8-page-resources.h"
1314
#include "JEnv.h"
@@ -40,27 +41,21 @@ std::map<std::string, v8_inspector::utils::PageResource> PageResource::getPageRe
4041

4142
jmethodID getResourcesMethod = env.GetStaticMethodID(inspectorClass, "getPageResources", "()[Landroid/util/Pair;");
4243
jobject arrayOfPairs = env.CallStaticObjectMethod(inspectorClass, getResourcesMethod);
43-
jobjectArray pairs = static_cast<jobjectArray>(arrayOfPairs);
44+
tns::JniLocalRef pairs(static_cast<jobjectArray>(arrayOfPairs));
4445
int arrSize = env.GetArrayLength(pairs);
4546

4647
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));
5051

5152
auto filePath = tns::ArgConverter::jstringToString(pairFilePath);
5253
auto mimeType = tns::ArgConverter::jstringToString(pairMimeType);
5354

5455
utils::PageResource pageResource(filePath, mimeType);
5556
result.insert(std::make_pair(filePath, pageResource));
56-
57-
env.DeleteLocalRef(pairFilePath);
58-
env.DeleteLocalRef(pairMimeType);
59-
env.DeleteLocalRef(pair);
6057
}
6158

62-
env.DeleteLocalRef(pairs);
63-
6459
s_cachedPageResources = result;
6560

6661
return result;

runtime/src/main/jni/v8_inspector/src/inspector/v8-page-agent-impl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ void V8PageAgentImpl::getResourceContent(ErrorString* errorString, const String&
103103
auto it = cachedPageResources.find(in_url.utf8());
104104
if (it == cachedPageResources.end()) {
105105
*errorString = "Resource not found.";
106-
106+
*out_content = "";
107107
return;
108108
}
109109

0 commit comments

Comments
 (0)