| Index: content/browser/accessibility/browser_accessibility_android.cc
 | 
| diff --git a/content/browser/accessibility/browser_accessibility_android.cc b/content/browser/accessibility/browser_accessibility_android.cc
 | 
| index c16eb8d7a1345da9450cd45af1bd77c72705231b..96411cb30f37d18a6f043eb10d3726dd954ab7c7 100644
 | 
| --- a/content/browser/accessibility/browser_accessibility_android.cc
 | 
| +++ b/content/browser/accessibility/browser_accessibility_android.cc
 | 
| @@ -315,9 +315,8 @@ base::string16 BrowserAccessibilityAndroid::GetText() const {
 | 
|      return base::string16();
 | 
|    }
 | 
|  
 | 
| -  // See comment in browser_accessibility_win.cc for details.
 | 
| -  // The difference here is that we can only expose one accessible
 | 
| -  // name on Android, not 2 or 3 like on Windows or Mac.
 | 
| +  // We can only expose one accessible name on Android,
 | 
| +  // not 2 or 3 like on Windows or Mac.
 | 
|  
 | 
|    // First, always return the |value| attribute if this is an
 | 
|    // input field.
 | 
| @@ -345,57 +344,17 @@ base::string16 BrowserAccessibilityAndroid::GetText() const {
 | 
|          base::StringPrintf("#%02X%02X%02X", red, green, blue));
 | 
|    }
 | 
|  
 | 
| -  // Always prefer visible text if this is a link. Sites sometimes add
 | 
| -  // a "title" attribute to a link with more information, but we can't
 | 
| -  // lose the link text.
 | 
| -  base::string16 name = GetString16Attribute(ui::AX_ATTR_NAME);
 | 
| -  if (!name.empty() && GetRole() == ui::AX_ROLE_LINK)
 | 
| -    return name;
 | 
| -
 | 
| -  // If there's no text value, the basic rule is: prefer description
 | 
| -  // (aria-labelledby or aria-label), then help (title), then name
 | 
| -  // (inner text), then value (control value).  However, if
 | 
| -  // title_elem_id is set, that means there's a label element
 | 
| -  // supplying the name and then name takes precedence over help.
 | 
| -  // TODO(dmazzoni): clean this up by providing more granular labels in
 | 
| -  // Blink, making the platform-specific mapping to accessible text simpler.
 | 
| +  base::string16 text = GetString16Attribute(ui::AX_ATTR_NAME);
 | 
|    base::string16 description = GetString16Attribute(ui::AX_ATTR_DESCRIPTION);
 | 
| -  base::string16 help = GetString16Attribute(ui::AX_ATTR_HELP);
 | 
| -
 | 
| -  base::string16 placeholder;
 | 
| -  switch (GetRole()) {
 | 
| -    case ui::AX_ROLE_DATE:
 | 
| -    case ui::AX_ROLE_INPUT_TIME:
 | 
| -    case ui::AX_ROLE_TEXT_FIELD:
 | 
| -      GetHtmlAttribute("placeholder", &placeholder);
 | 
| -  }
 | 
| -
 | 
| -  int title_elem_id = GetIntAttribute(
 | 
| -      ui::AX_ATTR_TITLE_UI_ELEMENT);
 | 
| -  base::string16 text;
 | 
| -  if (!description.empty())
 | 
| -    text = description;
 | 
| -  else if (!name.empty()) {
 | 
| -    text = name;
 | 
| -    if (!help.empty()) {
 | 
| -      // TODO(vkuzkokov): This is not the best way to pass 2 texts but this is
 | 
| -      // how Blink seems to be doing it.
 | 
| +  if (!description.empty()) {
 | 
| +    if (!text.empty())
 | 
|        text += base::ASCIIToUTF16(" ");
 | 
| -      text += help;
 | 
| -    }
 | 
| -  } else if (!help.empty())
 | 
| -    text = help;
 | 
| -  else if (!placeholder.empty())
 | 
| -    text = placeholder;
 | 
| -  else if (!value.empty())
 | 
| -    text = value;
 | 
| -  else if (title_elem_id) {
 | 
| -    BrowserAccessibility* title_elem =
 | 
| -          manager()->GetFromID(title_elem_id);
 | 
| -    if (title_elem)
 | 
| -      text = static_cast<BrowserAccessibilityAndroid*>(title_elem)->GetText();
 | 
| +    text += description;
 | 
|    }
 | 
|  
 | 
| +  if (text.empty())
 | 
| +    text = value;
 | 
| +
 | 
|    // This is called from PlatformIsLeaf, so don't call PlatformChildCount
 | 
|    // from within this!
 | 
|    if (text.empty() &&
 | 
| @@ -410,7 +369,7 @@ base::string16 BrowserAccessibilityAndroid::GetText() const {
 | 
|    if (text.empty() && (IsLink() || GetRole() == ui::AX_ROLE_IMAGE)) {
 | 
|      base::string16 url = GetString16Attribute(ui::AX_ATTR_URL);
 | 
|      // Given a url like http://foo.com/bar/baz.png, just return the
 | 
| -    // base name, e.g., "baz".
 | 
| +    // base text, e.g., "baz".
 | 
|      int trailing_slashes = 0;
 | 
|      while (url.size() - trailing_slashes > 0 &&
 | 
|             url[url.size() - trailing_slashes - 1] == '/') {
 | 
| 
 |