| 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..5036d489eb371de273863e7c89db989c77bab6ca 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,23 @@ 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 list_item in wk_result) {
|
| + std::unique_ptr<base::Value> value =
|
| + ValueResultFromWKResult(list_item, max_depth - 1);
|
| + if (value) {
|
| + list->Append(std::move(value));
|
| + }
|
| + }
|
| + result = std::move(list);
|
| } else {
|
| NOTREACHED(); // Convert other types as needed.
|
| }
|
|
|