| Index: base/i18n/rtl.cc | 
| diff --git a/base/i18n/rtl.cc b/base/i18n/rtl.cc | 
| index d9818e800e2559307efa181432fb039337ce24e5..851b03642defb3ce43742b1a74405e8f05362cd5 100644 | 
| --- a/base/i18n/rtl.cc | 
| +++ b/base/i18n/rtl.cc | 
| @@ -163,6 +163,21 @@ TextDirection GetFirstStrongCharacterDirection(const string16& text) { | 
| return LEFT_TO_RIGHT; | 
| } | 
|  | 
| +TextDirection GetLastStrongCharacterDirection(const string16& text) { | 
| +  const UChar* string = text.c_str(); | 
| +  size_t position = text.length(); | 
| +  while (position > 0) { | 
| +    UChar32 character; | 
| +    size_t prev_position = position; | 
| +    U16_PREV(string, 0, prev_position, character); | 
| +    TextDirection direction = GetCharacterDirection(character); | 
| +    if (direction != UNKNOWN_DIRECTION) | 
| +      return direction; | 
| +    position = prev_position; | 
| +  } | 
| +  return LEFT_TO_RIGHT; | 
| +} | 
| + | 
| TextDirection GetStringDirection(const string16& text) { | 
| const UChar* string = text.c_str(); | 
| size_t length = text.length(); | 
|  |