Commit 733c9a16 authored by Maria Kazinova's avatar Maria Kazinova Committed by Commit Bot

Using autofill::RendererId types in FormActivityParams.

Making use of available strong FormRendererId and FieldRendererId types
in iOS code.

Change-Id: I9b551f3dd03b9b8239f67606359274d781354967
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2414222Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Reviewed-by: default avatarOlivier Robin <olivierrobin@chromium.org>
Reviewed-by: default avatarJohn Wu <jzw@chromium.org>
Reviewed-by: default avatarMatthias Körber <koerber@google.com>
Commit-Queue: Maria Kazinova <kazinova@google.com>
Cr-Commit-Position: refs/heads/master@{#808046}
parent 4cc7cc84
...@@ -12,6 +12,9 @@ ...@@ -12,6 +12,9 @@
namespace autofill { namespace autofill {
// A value that can be provided by the renderer in cases when the ID is missing.
constexpr int kNotSetRendererID = -1;
namespace internal { namespace internal {
using FormRendererIdType = ::util::IdType<class FormRendererIdMarker, using FormRendererIdType = ::util::IdType<class FormRendererIdMarker,
......
...@@ -12,10 +12,6 @@ ...@@ -12,10 +12,6 @@
@class CRWJSInjectionReceiver; @class CRWJSInjectionReceiver;
class GURL; class GURL;
namespace {
constexpr int kNotSetRendererID = -1;
}
namespace base { namespace base {
class DictionaryValue; class DictionaryValue;
} }
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
#include <string> #include <string>
#include "components/autofill/core/common/renderer_id.h"
namespace autofill { namespace autofill {
// Wraps information about event happening in a form. // Wraps information about event happening in a form.
...@@ -31,10 +33,10 @@ struct FormActivityParams { ...@@ -31,10 +33,10 @@ struct FormActivityParams {
~FormActivityParams(); ~FormActivityParams();
std::string form_name; std::string form_name;
uint32_t unique_form_id; FormRendererId unique_form_id;
// Generated by __gCrWeb.form.getFieldIdentifier in form.js. // Generated by __gCrWeb.form.getFieldIdentifier in form.js.
std::string field_identifier; std::string field_identifier;
uint32_t unique_field_id; FieldRendererId unique_field_id;
std::string field_type; std::string field_type;
std::string type; std::string type;
std::string value; std::string value;
......
...@@ -19,6 +19,9 @@ ...@@ -19,6 +19,9 @@
#error "This file requires ARC support." #error "This file requires ARC support."
#endif #endif
using base::NumberToString;
using base::StringToUint;
namespace autofill { namespace autofill {
namespace { namespace {
...@@ -97,8 +100,15 @@ bool FormActivityTabHelper::HandleFormActivity( ...@@ -97,8 +100,15 @@ bool FormActivityTabHelper::HandleFormActivity(
!message.GetBoolean("hasUserGesture", &params.has_user_gesture)) { !message.GetBoolean("hasUserGesture", &params.has_user_gesture)) {
params.input_missing = true; params.input_missing = true;
} }
base::StringToUint(unique_form_id, &params.unique_form_id); if (unique_form_id != NumberToString(kNotSetRendererID))
base::StringToUint(unique_field_id, &params.unique_field_id); StringToUint(unique_form_id, &params.unique_form_id.value());
else
params.unique_form_id = FormRendererId();
if (unique_field_id != NumberToString(kNotSetRendererID))
StringToUint(unique_field_id, &params.unique_field_id.value());
else
params.unique_field_id = FieldRendererId();
params.is_main_frame = form_in_main_frame; params.is_main_frame = form_in_main_frame;
if (!sender_frame) { if (!sender_frame) {
......
...@@ -20,6 +20,7 @@ using autofill::CreateBoolCallback; ...@@ -20,6 +20,7 @@ using autofill::CreateBoolCallback;
using autofill::CreateStringCallback; using autofill::CreateStringCallback;
using autofill::FormRendererId; using autofill::FormRendererId;
using autofill::FieldRendererId; using autofill::FieldRendererId;
using autofill::kNotSetRendererID;
using base::SysNSStringToUTF8; using base::SysNSStringToUTF8;
namespace password_manager { namespace password_manager {
......
...@@ -648,7 +648,7 @@ NSString* const kSuggestionSuffix = @" ••••••••"; ...@@ -648,7 +648,7 @@ NSString* const kSuggestionSuffix = @" ••••••••";
if (params.type == "password_form_removed") { if (params.type == "password_form_removed") {
_passwordManager->OnPasswordFormRemoved( _passwordManager->OnPasswordFormRemoved(
_delegate.passwordManagerDriver, self.formHelper.fieldDataManager.get(), _delegate.passwordManagerDriver, self.formHelper.fieldDataManager.get(),
FormRendererId(params.unique_form_id)); params.unique_form_id);
} }
} }
......
...@@ -194,9 +194,9 @@ AutofillSuggestionState::AutofillSuggestionState( ...@@ -194,9 +194,9 @@ AutofillSuggestionState::AutofillSuggestionState(
FormSuggestionProviderQuery* formQuery = [[FormSuggestionProviderQuery alloc] FormSuggestionProviderQuery* formQuery = [[FormSuggestionProviderQuery alloc]
initWithFormName:base::SysUTF8ToNSString(params.form_name) initWithFormName:base::SysUTF8ToNSString(params.form_name)
uniqueFormID:FormRendererId(params.unique_form_id) uniqueFormID:params.unique_form_id
fieldIdentifier:base::SysUTF8ToNSString(params.field_identifier) fieldIdentifier:base::SysUTF8ToNSString(params.field_identifier)
uniqueFieldID:FieldRendererId(params.unique_field_id) uniqueFieldID:params.unique_field_id
fieldType:base::SysUTF8ToNSString(params.field_type) fieldType:base::SysUTF8ToNSString(params.field_type)
type:base::SysUTF8ToNSString(params.type) type:base::SysUTF8ToNSString(params.type)
typedValue:base::SysUTF8ToNSString( typedValue:base::SysUTF8ToNSString(
...@@ -346,9 +346,8 @@ AutofillSuggestionState::AutofillSuggestionState( ...@@ -346,9 +346,8 @@ AutofillSuggestionState::AutofillSuggestionState(
(FormSuggestionsReadyCompletion)accessoryViewUpdateBlock { (FormSuggestionsReadyCompletion)accessoryViewUpdateBlock {
[self processPage:webState]; [self processPage:webState];
_suggestionState.reset(new AutofillSuggestionState( _suggestionState.reset(new AutofillSuggestionState(
params.form_name, FormRendererId(params.unique_form_id), params.form_name, params.unique_form_id, params.field_identifier,
params.field_identifier, FieldRendererId(params.unique_field_id), params.unique_field_id, params.frame_id, params.value));
params.frame_id, params.value));
_accessoryViewUpdateBlock = [accessoryViewUpdateBlock copy]; _accessoryViewUpdateBlock = [accessoryViewUpdateBlock copy];
[self retrieveSuggestionsForForm:params webState:webState]; [self retrieveSuggestionsForForm:params webState:webState];
} }
......
...@@ -1964,7 +1964,7 @@ TEST_F(PasswordControllerTest, DetectSubmissionOnRemovedForm) { ...@@ -1964,7 +1964,7 @@ TEST_F(PasswordControllerTest, DetectSubmissionOnRemovedForm) {
WebFrame* frame = web::GetWebFrameWithId(web_state(), mainFrameID); WebFrame* frame = web::GetWebFrameWithId(web_state(), mainFrameID);
FormActivityParams params; FormActivityParams params;
params.type = "password_form_removed"; params.type = "password_form_removed";
params.unique_form_id = 0; params.unique_form_id = FormRendererId(0);
params.frame_id = mainFrameID; params.frame_id = mainFrameID;
[passwordController_.sharedPasswordController webState:web_state() [passwordController_.sharedPasswordController webState:web_state()
...@@ -2003,7 +2003,7 @@ TEST_F(PasswordControllerTest, ...@@ -2003,7 +2003,7 @@ TEST_F(PasswordControllerTest,
WebFrame* frame = web::GetWebFrameWithId(web_state(), mainFrameID); WebFrame* frame = web::GetWebFrameWithId(web_state(), mainFrameID);
FormActivityParams params; FormActivityParams params;
params.type = "password_form_removed"; params.type = "password_form_removed";
params.unique_form_id = 0; params.unique_form_id = FormRendererId(0);
params.frame_id = mainFrameID; params.frame_id = mainFrameID;
[passwordController_.sharedPasswordController webState:web_state() [passwordController_.sharedPasswordController webState:web_state()
......
...@@ -477,10 +477,10 @@ showUnmaskPromptForCard:(const autofill::CreditCard&)creditCard ...@@ -477,10 +477,10 @@ showUnmaskPromptForCard:(const autofill::CreditCard&)creditCard
DCHECK_EQ(_webState, webState); DCHECK_EQ(_webState, webState);
NSString* nsFormName = base::SysUTF8ToNSString(params.form_name); NSString* nsFormName = base::SysUTF8ToNSString(params.form_name);
_lastFormActivityUniqueFormID = FormRendererId(params.unique_form_id); _lastFormActivityUniqueFormID = params.unique_form_id;
NSString* nsFieldIdentifier = NSString* nsFieldIdentifier =
base::SysUTF8ToNSString(params.field_identifier); base::SysUTF8ToNSString(params.field_identifier);
_lastFormActivityUniqueFieldID = FieldRendererId(params.unique_field_id); _lastFormActivityUniqueFieldID = params.unique_field_id;
NSString* nsFieldType = base::SysUTF8ToNSString(params.field_type); NSString* nsFieldType = base::SysUTF8ToNSString(params.field_type);
NSString* nsFrameID = base::SysUTF8ToNSString(GetWebFrameId(frame)); NSString* nsFrameID = base::SysUTF8ToNSString(GetWebFrameId(frame));
NSString* nsValue = base::SysUTF8ToNSString(params.value); NSString* nsValue = base::SysUTF8ToNSString(params.value);
......
...@@ -55,6 +55,8 @@ ...@@ -55,6 +55,8 @@
#error "This file requires ARC support." #error "This file requires ARC support."
#endif #endif
using autofill::FormRendererId;
using autofill::FieldRendererId;
using base::test::ios::kWaitForActionTimeout; using base::test::ios::kWaitForActionTimeout;
using base::test::ios::WaitUntilConditionOrTimeout; using base::test::ios::WaitUntilConditionOrTimeout;
...@@ -64,9 +66,9 @@ namespace { ...@@ -64,9 +66,9 @@ namespace {
const char kApplicationLocale[] = "en-US"; const char kApplicationLocale[] = "en-US";
NSString* const kTestFormName = @"FormName"; NSString* const kTestFormName = @"FormName";
uint32_t kTestUniqueFormID = 0; FormRendererId kTestUniqueFormID = FormRendererId(0);
NSString* const kTestFieldIdentifier = @"FieldIdentifier"; NSString* const kTestFieldIdentifier = @"FieldIdentifier";
uint32_t kTestUniqueFieldID = 1; FieldRendererId kTestUniqueFieldID = FieldRendererId(1);
NSString* const kTestFieldValue = @"FieldValue"; NSString* const kTestFieldValue = @"FieldValue";
NSString* const kTestDisplayDescription = @"DisplayDescription"; NSString* const kTestDisplayDescription = @"DisplayDescription";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment