author | Alexander Surkov <surkov.alexander@gmail.com> |
Fri, 03 May 2013 23:10:05 +0900 | |
changeset 130736 | 3b2020da6f66a78fc17fc56fcf8539b96039a3cc |
parent 130735 | 42ced245b6f8ff0462a4122ca7befe3d01fa5d0a |
child 130737 | 02fb8ac3f108be3bcc48a3783ccaa0a43cf79de2 |
push id | 24630 |
push user | philringnalda@gmail.com |
push date | Sat, 04 May 2013 02:33:32 +0000 |
treeherder | mozilla-central@1e00967c5786 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | tbsaunde |
bugs | 860013 |
milestone | 23.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/accessible/src/generic/HyperTextAccessible.cpp +++ b/accessible/src/generic/HyperTextAccessible.cpp @@ -1073,38 +1073,25 @@ HyperTextAccessible::GetTextAtOffset(int EWordMovementType wordMovementType = eDefaultBehavior; bool moveForwardThenBack = true; switch (aBoundaryType) { case BOUNDARY_CHAR: return GetCharAt(aOffset, eGetAt, aText, aStartOffset, aEndOffset) ? NS_OK : NS_ERROR_INVALID_ARG; - case BOUNDARY_WORD_START: { - uint32_t textLen = CharacterCount(); - if (offset == textLen) { - *aStartOffset = *aEndOffset = textLen; - return NS_OK; - } - + case BOUNDARY_WORD_START: *aEndOffset = FindWordBoundary(offset, eDirNext, eStartWord); *aStartOffset = FindWordBoundary(*aEndOffset, eDirPrevious, eStartWord); return GetText(*aStartOffset, *aEndOffset, aText); - } - case BOUNDARY_WORD_END: { - if (offset == 0) { - *aStartOffset = *aEndOffset = 0; - return NS_OK; - } - + case BOUNDARY_WORD_END: *aStartOffset = FindWordBoundary(offset, eDirPrevious, eEndWord); *aEndOffset = FindWordBoundary(*aStartOffset, eDirNext, eEndWord); return GetText(*aStartOffset, *aEndOffset, aText); - } case BOUNDARY_LINE_START: case BOUNDARY_LINE_END: case BOUNDARY_ATTRIBUTE_RANGE: return GetTextHelper(eGetAt, aBoundaryType, aOffset, aStartOffset, aEndOffset, aText); default:
--- a/accessible/tests/mochitest/text/test_multiline.html +++ b/accessible/tests/mochitest/text/test_multiline.html @@ -330,22 +330,17 @@ "divbr", kTodo, kTodo, kTodo, "editable", kOk, kOk, kOk, "editablebr", kTodo, kTodo, kTodo, "textarea", kOk, kOk, kOk); testTextAtOffset(9, BOUNDARY_WORD_START, "two ", 9, 13, IDs); testTextAtOffset(13, BOUNDARY_WORD_START, "words\n", 13, 19, IDs); // BOUNDARY_WORD_END - testTextAtOffset(0, BOUNDARY_WORD_END, "oneword", 0, 7, - "div", kTodo, kOk, kTodo, - "divbr", kTodo, kOk, kTodo, - "editable", kTodo, kOk, kTodo, - "editablebr", kTodo, kOk, kTodo, - "textarea", kTodo, kOk, kTodo); + testTextAtOffset(0, BOUNDARY_WORD_END, "oneword", 0, 7, IDs); testTextAtOffset(8, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, "div", kOk, kOk, kOk, "divbr", kTodo, kTodo, kTodo, "editable", kOk, kOk, kOk, "editablebr", kTodo, kTodo, kTodo, "textarea", kOk, kOk, kOk); testTextAtOffset(9, BOUNDARY_WORD_END, "\n\ntwo", 7, 12, "div", kOk, kOk, kOk,
--- a/accessible/tests/mochitest/text/test_singleline.html +++ b/accessible/tests/mochitest/text/test_singleline.html @@ -305,24 +305,20 @@ testTextAtOffset(1, BOUNDARY_WORD_START, "hello ", 0, 6, IDs); testTextAtOffset(5, BOUNDARY_WORD_START, "hello ", 0, 6, IDs); testTextAtOffset(6, BOUNDARY_WORD_START, "my ", 6, 9, IDs); testTextAtOffset(7, BOUNDARY_WORD_START, "my ", 6, 9, IDs); testTextAtOffset(8, BOUNDARY_WORD_START, "my ", 6, 9, IDs); testTextAtOffset(9, BOUNDARY_WORD_START, "friend", 9, 15, IDs); testTextAtOffset(10, BOUNDARY_WORD_START, "friend", 9, 15, IDs); testTextAtOffset(14, BOUNDARY_WORD_START, "friend", 9, 15, IDs); - testTextAtOffset(15, BOUNDARY_WORD_START, "", 15, 15, - "input", kOk, kOk, kOk, - "div", kOk, kOk, kOk, - "editable", kOk, kOk, kOk, - "textarea", kTodo, kTodo, kOk); + testTextAtOffset(15, BOUNDARY_WORD_START, "friend", 9, 15, IDs); // BOUNDARY_WORD_END - testTextAtOffset(0, BOUNDARY_WORD_END, "", 0, 0, IDs); + testTextAtOffset(0, BOUNDARY_WORD_END, "hello", 0, 5, IDs); testTextAtOffset(1, BOUNDARY_WORD_END, "hello", 0, 5, IDs); testTextAtOffset(5, BOUNDARY_WORD_END, "hello", 0, 5, IDs); testTextAtOffset(6, BOUNDARY_WORD_END, " my", 5, 8, IDs); testTextAtOffset(7, BOUNDARY_WORD_END, " my", 5, 8, IDs); testTextAtOffset(8, BOUNDARY_WORD_END, " my", 5, 8, IDs); testTextAtOffset(9, BOUNDARY_WORD_END, " friend", 8, 15, IDs); testTextAtOffset(10, BOUNDARY_WORD_END, " friend", 8, 15, IDs); testTextAtOffset(14, BOUNDARY_WORD_END, " friend", 8, 15, IDs);
--- a/accessible/tests/mochitest/text/test_whitespaces.html +++ b/accessible/tests/mochitest/text/test_whitespaces.html @@ -328,24 +328,24 @@ "div", kOk, kOk, kOk, "editable", kOk, kOk, kOk, "textarea", kTodo, kOk, kTodo); testTextAtOffset(21, BOUNDARY_WORD_START, "ran", 19, 22, "input", kOk, kOk, kOk, "div", kOk, kOk, kOk, "editable", kOk, kOk, kOk, "textarea", kTodo, kOk, kTodo); - testTextAtOffset(22, BOUNDARY_WORD_START, "", 22, 22, + testTextAtOffset(22, BOUNDARY_WORD_START, "ran", 19, 22, "input", kOk, kOk, kOk, "div", kOk, kOk, kOk, "editable", kOk, kOk, kOk, - "textarea", kTodo, kTodo, kTodo); + "textarea", kTodo, kOk, kTodo); // BOUNDARY_WORD_END - testTextAtOffset(0, BOUNDARY_WORD_END, "", 0, 0, IDs); + testTextAtOffset(0, BOUNDARY_WORD_END, "Brave", 0, 5, IDs); testTextAtOffset(4, BOUNDARY_WORD_END, "Brave", 0, 5, IDs); testTextAtOffset(5, BOUNDARY_WORD_END, "Brave", 0, 5, IDs); testTextAtOffset(6, BOUNDARY_WORD_END, " Sir", 5, 9, IDs); testTextAtOffset(8, BOUNDARY_WORD_END, " Sir", 5, 9, IDs); testTextAtOffset(9, BOUNDARY_WORD_END, " Sir", 5, 9, IDs); testTextAtOffset(10, BOUNDARY_WORD_END, " Robin", 9, 16, IDs); testTextAtOffset(11, BOUNDARY_WORD_END, " Robin", 9, 16, IDs); testTextAtOffset(15, BOUNDARY_WORD_END, " Robin", 9, 16, IDs);