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 "components/autofill/content/renderer/form_autofill_util.h" | 5 #include "components/autofill/content/renderer/form_autofill_util.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
560 | 560 |
561 // If we didn't find a label, check for table row case. | 561 // If we didn't find a label, check for table row case. |
562 inferred_label = InferLabelFromTableRow(element); | 562 inferred_label = InferLabelFromTableRow(element); |
563 if (!inferred_label.empty()) | 563 if (!inferred_label.empty()) |
564 return inferred_label; | 564 return inferred_label; |
565 | 565 |
566 if (!check_div_first) { | 566 if (!check_div_first) { |
567 // If we didn't find a label from the table, check for div table case if we | 567 // If we didn't find a label from the table, check for div table case if we |
568 // haven't already. | 568 // haven't already. |
569 inferred_label = InferLabelFromDivTable(element); | 569 inferred_label = InferLabelFromDivTable(element); |
570 if (!inferred_label.empty()) | |
571 return inferred_label; | |
572 } | 570 } |
573 | |
574 // Not all web pages put useful info in the title attribute, thus use this as | |
575 // a last resort. | |
576 CR_DEFINE_STATIC_LOCAL(WebString, kTitle, ("title")); | |
577 if (element.hasAttribute(kTitle)) | |
578 inferred_label = element.getAttribute(kTitle); | |
579 return inferred_label; | 571 return inferred_label; |
580 } | 572 } |
581 | 573 |
582 // Fills |option_strings| with the values of the <option> elements present in | 574 // Fills |option_strings| with the values of the <option> elements present in |
583 // |select_element|. | 575 // |select_element|. |
584 void GetOptionStringsFromElement(const WebSelectElement& select_element, | 576 void GetOptionStringsFromElement(const WebSelectElement& select_element, |
585 std::vector<base::string16>* option_values, | 577 std::vector<base::string16>* option_values, |
586 std::vector<base::string16>* option_contents) { | 578 std::vector<base::string16>* option_contents) { |
587 DCHECK(!select_element.isNull()); | 579 DCHECK(!select_element.isNull()); |
588 | 580 |
(...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1425 | 1417 |
1426 gfx::RectF GetScaledBoundingBox(float scale, WebElement* element) { | 1418 gfx::RectF GetScaledBoundingBox(float scale, WebElement* element) { |
1427 gfx::Rect bounding_box(element->boundsInViewportSpace()); | 1419 gfx::Rect bounding_box(element->boundsInViewportSpace()); |
1428 return gfx::RectF(bounding_box.x() * scale, | 1420 return gfx::RectF(bounding_box.x() * scale, |
1429 bounding_box.y() * scale, | 1421 bounding_box.y() * scale, |
1430 bounding_box.width() * scale, | 1422 bounding_box.width() * scale, |
1431 bounding_box.height() * scale); | 1423 bounding_box.height() * scale); |
1432 } | 1424 } |
1433 | 1425 |
1434 } // namespace autofill | 1426 } // namespace autofill |
OLD | NEW |