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

Side by Side Diff: components/autofill/ios/browser/js_autofill_manager.mm

Issue 1234193005: iOS full-form Autofill: Handle partially filled forms correctly. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make comment clearer. Created 5 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "components/autofill/ios/browser/js_autofill_manager.h" 5 #import "components/autofill/ios/browser/js_autofill_manager.h"
6 6
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/json/string_escape.h" 8 #include "base/json/string_escape.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 10
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 completionHandler(); 71 completionHandler();
72 }; 72 };
73 73
74 NSString* js = 74 NSString* js =
75 [NSString stringWithFormat:@"__gCrWeb.autofill.fillActiveFormField(%@);", 75 [NSString stringWithFormat:@"__gCrWeb.autofill.fillActiveFormField(%@);",
76 dataString]; 76 dataString];
77 [self evaluate:js stringResultHandler:resultHandler]; 77 [self evaluate:js stringResultHandler:resultHandler];
78 } 78 }
79 79
80 - (void)fillForm:(NSString*)dataString 80 - (void)fillForm:(NSString*)dataString
81 styleElements:(BOOL)styleElements 81 onlyFillEmpty:(BOOL)onlyFillEmpty
82 completionHandler:(ProceduralBlock)completionHandler { 82 forceFillFieldName:(NSString*)forceFillFieldName
83 styleElements:(BOOL)styleElements
84 completionHandler:(ProceduralBlock)completionHandler {
83 DCHECK(completionHandler); 85 DCHECK(completionHandler);
84 NSString* fillFormJS = 86 std::string fieldName =
85 [NSString stringWithFormat:@"__gCrWeb.autofill.fillForm(%@, %s);", 87 forceFillFieldName
86 dataString, styleElements ? "true" : "false"]; 88 ? base::GetQuotedJSONString([forceFillFieldName UTF8String])
89 : "null";
90 NSString* fillFormJS = [NSString
91 stringWithFormat:@"__gCrWeb.autofill.fillForm(%@, %s, %s, %s);",
92 dataString, onlyFillEmpty ? "true" : "false",
93 fieldName.c_str(), styleElements ? "true" : "false"];
87 id stringResultHandler = ^(NSString*, NSError*) { 94 id stringResultHandler = ^(NSString*, NSError*) {
88 completionHandler(); 95 completionHandler();
89 }; 96 };
90 return [self evaluate:fillFormJS stringResultHandler:stringResultHandler]; 97 return [self evaluate:fillFormJS stringResultHandler:stringResultHandler];
91 } 98 }
92 99
93 - (void)dispatchAutocompleteEvent:(NSString*)formName { 100 - (void)dispatchAutocompleteEvent:(NSString*)formName {
94 NSString* dispatchAutocompleteEventJS = [NSString 101 NSString* dispatchAutocompleteEventJS = [NSString
95 stringWithFormat:@"__gCrWeb.autofill.dispatchAutocompleteEvent(%s);", 102 stringWithFormat:@"__gCrWeb.autofill.dispatchAutocompleteEvent(%s);",
96 base::GetQuotedJSONString([formName UTF8String]) 103 base::GetQuotedJSONString([formName UTF8String])
(...skipping 12 matching lines...) Expand all
109 } 116 }
110 117
111 - (void)fillPredictionData:(NSString*)dataString { 118 - (void)fillPredictionData:(NSString*)dataString {
112 [self deferredEvaluate: 119 [self deferredEvaluate:
113 [NSString 120 [NSString
114 stringWithFormat:@"__gCrWeb.autofill.fillPredictionData(%@);", 121 stringWithFormat:@"__gCrWeb.autofill.fillPredictionData(%@);",
115 dataString]]; 122 dataString]];
116 } 123 }
117 124
118 @end 125 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698