Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 #include <algorithm> | 5 #include <algorithm> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 137 return false; | 137 return false; |
| 138 Tuple1<std::vector<FormDataPredictions> > autofill_param; | 138 Tuple1<std::vector<FormDataPredictions> > autofill_param; |
| 139 AutofillMsg_FieldTypePredictionsAvailable::Read(message, &autofill_param); | 139 AutofillMsg_FieldTypePredictionsAvailable::Read(message, &autofill_param); |
| 140 if (predictions) | 140 if (predictions) |
| 141 *predictions = autofill_param.a; | 141 *predictions = autofill_param.a; |
| 142 | 142 |
| 143 process()->sink().ClearMessages(); | 143 process()->sink().ClearMessages(); |
| 144 return true; | 144 return true; |
| 145 } | 145 } |
| 146 | 146 |
| 147 // Searches for an |AutofillMsg_SetNodeText| message in the queue of sent IPC | |
| 148 // messages. If none is present, returns false. Otherwise, extracts the first | |
| 149 // |AutofillMsg_SetNodeText| message, fills the output parameter with the | |
| 150 // value of the message's parameter, and clears the queue of sent messages. | |
| 151 bool GetSetNodeText(base::string16* value) { | |
|
jif-google
2013/11/13 08:24:45
GetSetNodeText could be factored with GetAcceptDat
blundell
2013/11/13 11:55:45
I think it would be worth doing a |GetValueFromMes
jif-google
2013/11/13 14:20:25
Done.
| |
| 152 const uint32 kMsgID = AutofillMsg_SetNodeText::ID; | |
| 153 const IPC::Message* message = | |
| 154 process()->sink().GetFirstMessageMatching(kMsgID); | |
| 155 if (!message) | |
| 156 return false; | |
| 157 Tuple1<base::string16> autofill_param; | |
| 158 AutofillMsg_SetNodeText::Read(message, &autofill_param); | |
| 159 if (value) | |
| 160 *value = autofill_param.a; | |
| 161 process()->sink().ClearMessages(); | |
| 162 return true; | |
| 163 } | |
| 164 | |
| 147 // Searches for a message matching |messageID| in the queue of sent IPC | 165 // Searches for a message matching |messageID| in the queue of sent IPC |
| 148 // messages. If none is present, returns false. Otherwise, clears the queue | 166 // messages. If none is present, returns false. Otherwise, clears the queue |
| 149 // of sent messages and returns true. | 167 // of sent messages and returns true. |
| 150 bool HasMessageMatchingID(uint32 messageID) { | 168 bool HasMessageMatchingID(uint32 messageID) { |
| 151 const IPC::Message* message = | 169 const IPC::Message* message = |
| 152 process()->sink().GetFirstMessageMatching(messageID); | 170 process()->sink().GetFirstMessageMatching(messageID); |
| 153 if (!message) | 171 if (!message) |
| 154 return false; | 172 return false; |
| 155 process()->sink().ClearMessages(); | 173 process()->sink().ClearMessages(); |
| 156 return true; | 174 return true; |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 242 TEST_F(AutofillDriverImplTest, ClearFilledFormSentToRenderer) { | 260 TEST_F(AutofillDriverImplTest, ClearFilledFormSentToRenderer) { |
| 243 driver_->RendererShouldClearFilledForm(); | 261 driver_->RendererShouldClearFilledForm(); |
| 244 EXPECT_TRUE(HasMessageMatchingID(AutofillMsg_ClearForm::ID)); | 262 EXPECT_TRUE(HasMessageMatchingID(AutofillMsg_ClearForm::ID)); |
| 245 } | 263 } |
| 246 | 264 |
| 247 TEST_F(AutofillDriverImplTest, ClearPreviewedFormSentToRenderer) { | 265 TEST_F(AutofillDriverImplTest, ClearPreviewedFormSentToRenderer) { |
| 248 driver_->RendererShouldClearPreviewedForm(); | 266 driver_->RendererShouldClearPreviewedForm(); |
| 249 EXPECT_TRUE(HasMessageMatchingID(AutofillMsg_ClearPreviewedForm::ID)); | 267 EXPECT_TRUE(HasMessageMatchingID(AutofillMsg_ClearPreviewedForm::ID)); |
| 250 } | 268 } |
| 251 | 269 |
| 270 TEST_F(AutofillDriverImplTest, SetNodeText) { | |
| 271 base::string16 inputValue(UTF8ToUTF16("barqux")); | |
| 272 base::string16 outputValue; | |
| 273 driver_->RendererShouldSetNodeText(inputValue); | |
| 274 EXPECT_TRUE(GetSetNodeText(&outputValue)); | |
| 275 EXPECT_EQ(inputValue, outputValue); | |
| 276 } | |
| 277 | |
| 252 } // namespace autofill | 278 } // namespace autofill |
| OLD | NEW |