Skip to content

Commit 4b50559

Browse files
author
Yi Su
committed
Cast find_in_page.js return value from id to NSString.
Currently JsFindinpageManager passes the result of find_in_page.js to base::SysNSStringToUTF8 with "id" type. This CL casts it to NSString to prevent it from crashing the APP when the result is not NSString. Bug: 924441 Change-Id: Ib02e80c09ef8c3af9f877f0c70cf1361fc019dd5 Reviewed-on: https://chromium-review.googlesource.com/c/1433754 Commit-Queue: Yi Su <[email protected]> Reviewed-by: Mike Dougherty <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#626028}(cherry picked from commit 831dfd6) Reviewed-on: https://chromium-review.googlesource.com/c/1445038 Reviewed-by: Yi Su <[email protected]> Cr-Commit-Position: refs/branch-heads/3683@{#61} Cr-Branched-From: e510299-refs/heads/master@{#625896}
1 parent ac16eeb commit 4b50559

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

ios/chrome/browser/find_in_page/js_findinpage_manager.mm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,12 @@ - (void)disableWithCompletionHandler:(ProceduralBlock)completionHandler {
169169
#pragma mark FindInPageEntry
170170

171171
- (BOOL)processFindInPageResult:(id)result scrollPosition:(CGPoint*)point {
172-
if (!result)
172+
NSString* result_str = base::mac::ObjCCastStrict<NSString>(result);
173+
if (!result_str)
173174
return NO;
174175

175176
// Parse JSONs.
176-
std::string json = base::SysNSStringToUTF8(result);
177+
std::string json = base::SysNSStringToUTF8(result_str);
177178
std::unique_ptr<base::Value> root(base::JSONReader::Read(json, false));
178179
if (!root.get())
179180
return YES;

0 commit comments

Comments
 (0)