Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(571)

Unified Diff: ios/web/web_state/ui/web_view_js_utils.mm

Issue 2327783002: Fix domdistiller for new JS execution (Closed)
Patch Set: comments test Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/web/web_state/ui/web_view_js_utils.mm
diff --git a/ios/web/web_state/ui/web_view_js_utils.mm b/ios/web/web_state/ui/web_view_js_utils.mm
index 8ab4867e6224bd0f00479d07d99df1b22c38565b..e617ce10d44e7854c46fd443120f21e2e5b8c6b0 100644
--- a/ios/web/web_state/ui/web_view_js_utils.mm
+++ b/ios/web/web_state/ui/web_view_js_utils.mm
@@ -50,13 +50,19 @@ std::unique_ptr<base::Value> ValueResultFromWKResult(id wk_result,
for (id key in wk_result) {
NSString* obj_c_string = base::mac::ObjCCast<NSString>(key);
const std::string path = base::SysNSStringToUTF8(obj_c_string);
- std::unique_ptr<base::Value> value = ValueResultFromWKResult(
- [wk_result objectForKey:obj_c_string], max_depth - 1);
+ std::unique_ptr<base::Value> value =
+ ValueResultFromWKResult(wk_result[obj_c_string], max_depth - 1);
if (value) {
dictionary->Set(path, std::move(value));
}
}
result = std::move(dictionary);
+ } else if (result_type == CFArrayGetTypeID()) {
+ std::unique_ptr<base::ListValue> list = base::MakeUnique<base::ListValue>();
+ for (id value in wk_result) {
+ list->Append(ValueResultFromWKResult(value, max_depth - 1));
+ }
+ result = std::move(list);
} else {
NOTREACHED(); // Convert other types as needed.
}

Powered by Google App Engine
This is Rietveld 408576698