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

Unified Diff: components/autofill/ios/browser/js_autofill_manager.mm

Issue 2247973002: [ios] Use new JS execution API for Autofill. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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: components/autofill/ios/browser/js_autofill_manager.mm
diff --git a/components/autofill/ios/browser/js_autofill_manager.mm b/components/autofill/ios/browser/js_autofill_manager.mm
index e6c8ba793c83c5d5bc21885c20528c11e6b74d5a..96e15c907344a01abfb1da2f16bf10086780765d 100644
--- a/components/autofill/ios/browser/js_autofill_manager.mm
+++ b/components/autofill/ios/browser/js_autofill_manager.mm
@@ -7,6 +7,7 @@
#include "base/format_macros.h"
#include "base/json/string_escape.h"
#include "base/logging.h"
+#include "base/mac/foundation_util.h"
@implementation JsAutofillManager
@@ -17,10 +18,10 @@
NSString* extractFormsJS = [NSString
stringWithFormat:@"__gCrWeb.autofill.extractForms(%" PRIuNS ");",
requiredFieldsCount];
- [self evaluate:extractFormsJS
- stringResultHandler:^(NSString* result, NSError*) {
- completionHandler(result);
- }];
+ [self executeJavaScript:extractFormsJS
+ completionHandler:^(id result, NSError*) {
+ completionHandler(base::mac::ObjCCastStrict<NSString>(result));
+ }];
}
#pragma mark -
@@ -32,14 +33,12 @@
- (void)fillActiveFormField:(NSString*)dataString
completionHandler:(ProceduralBlock)completionHandler {
- web::JavaScriptCompletion resultHandler = ^void(NSString*, NSError*) {
- completionHandler();
- };
-
- NSString* js =
+ NSString* script =
[NSString stringWithFormat:@"__gCrWeb.autofill.fillActiveFormField(%@);",
dataString];
- [self evaluate:js stringResultHandler:resultHandler];
+ [self executeJavaScript:script completionHandler:^(id, NSError*) {
+ completionHandler();
+ }];
}
- (void)fillForm:(NSString*)dataString
@@ -53,24 +52,21 @@
NSString* fillFormJS =
[NSString stringWithFormat:@"__gCrWeb.autofill.fillForm(%@, %s);",
dataString, fieldName.c_str()];
- id stringResultHandler = ^(NSString*, NSError*) {
+ [self executeJavaScript:fillFormJS completionHandler:^(id, NSError*) {
completionHandler();
- };
- return [self evaluate:fillFormJS stringResultHandler:stringResultHandler];
+ }];
}
- (void)clearAutofilledFieldsForFormNamed:(NSString*)formName
completionHandler:(ProceduralBlock)completionHandler {
DCHECK(completionHandler);
- web::JavaScriptCompletion resultHandler = ^void(NSString*, NSError*) {
- completionHandler();
- };
-
- NSString* js =
+ NSString* script =
[NSString stringWithFormat:
@"__gCrWeb.autofill.clearAutofilledFields(%s);",
base::GetQuotedJSONString([formName UTF8String]).c_str()];
- [self evaluate:js stringResultHandler:resultHandler];
+ [self executeJavaScript:script completionHandler:^(id, NSError*) {
+ completionHandler();
+ }];
}
- (void)fillPredictionData:(NSString*)dataString {

Powered by Google App Engine
This is Rietveld 408576698