OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 /** | 5 /** |
6 * @fileoverview A class representing a DOM selection conveyed through | 6 * @fileoverview A class representing a DOM selection conveyed through |
7 * CursorSelection idioms. | 7 * CursorSelection idioms. |
8 * A PageSelection is just a DOM selection. The class itself manages a single | 8 * A PageSelection is just a DOM selection. The class itself manages a single |
9 * CursorSelection that surrounds a fragment on the page. It also provides an | 9 * CursorSelection that surrounds a fragment on the page. It also provides an |
10 * extend operation to either grow or shrink the selection given a | 10 * extend operation to either grow or shrink the selection given a |
(...skipping 28 matching lines...) Expand all Loading... |
39 * @param {!cvox.CursorSelection} curSel Current CursorSelection in navigation. | 39 * @param {!cvox.CursorSelection} curSel Current CursorSelection in navigation. |
40 * @return {Array<cvox.NavDescription>} The new description. | 40 * @return {Array<cvox.NavDescription>} The new description. |
41 */ | 41 */ |
42 cvox.PageSelection.prototype.getDescription = | 42 cvox.PageSelection.prototype.getDescription = |
43 function(navShifter, prevSel, curSel) { | 43 function(navShifter, prevSel, curSel) { |
44 var desc = []; | 44 var desc = []; |
45 if (this.sel_.isReversed() != curSel.isReversed()) { | 45 if (this.sel_.isReversed() != curSel.isReversed()) { |
46 // A shrinking selection. | 46 // A shrinking selection. |
47 desc = navShifter.getDescription(curSel, prevSel); | 47 desc = navShifter.getDescription(curSel, prevSel); |
48 desc[0].annotation = cvox.ChromeVox.msgs.getMsg('describe_unselected'); | 48 desc[0].annotation = cvox.ChromeVox.msgs.getMsg('describe_unselected'); |
49 desc[0].pushEarcon(cvox.AbstractEarcons.SELECTION_REVERSE); | 49 desc[0].pushEarcon(cvox.Earcon.SELECTION_REVERSE); |
50 } else { | 50 } else { |
51 // A growing selection. | 51 // A growing selection. |
52 desc = navShifter.getDescription(prevSel, curSel); | 52 desc = navShifter.getDescription(prevSel, curSel); |
53 desc[0].annotation = cvox.ChromeVox.msgs.getMsg('describe_selected'); | 53 desc[0].annotation = cvox.ChromeVox.msgs.getMsg('describe_selected'); |
54 desc[0].pushEarcon(cvox.AbstractEarcons.SELECTION); | 54 desc[0].pushEarcon(cvox.Earcon.SELECTION); |
55 if (!this.wasBegin_ && this.sel_.absEquals(curSel.clone().normalize())) { | 55 if (!this.wasBegin_ && this.sel_.absEquals(curSel.clone().normalize())) { |
56 // A selection has inverted across the start cursor. Describe it. | 56 // A selection has inverted across the start cursor. Describe it. |
57 var prevDesc = navShifter.getDescription(curSel, prevSel); | 57 var prevDesc = navShifter.getDescription(curSel, prevSel); |
58 prevDesc[0].annotation = | 58 prevDesc[0].annotation = |
59 cvox.ChromeVox.msgs.getMsg('describe_unselected'); | 59 cvox.ChromeVox.msgs.getMsg('describe_unselected'); |
60 prevDesc[0].pushEarcon(cvox.AbstractEarcons.SELECTION_REVERSE); | 60 prevDesc[0].pushEarcon(cvox.Earcon.SELECTION_REVERSE); |
61 prevDesc[0].pushEarcon(cvox.AbstractEarcons.WRAP); | 61 prevDesc[0].pushEarcon(cvox.Earcon.WRAP); |
62 desc = prevDesc.concat(desc); | 62 desc = prevDesc.concat(desc); |
63 } | 63 } |
64 } | 64 } |
65 return desc; | 65 return desc; |
66 }; | 66 }; |
67 | 67 |
68 | 68 |
69 /** | 69 /** |
70 * Gets a full description for the entire DOM selection. | 70 * Gets a full description for the entire DOM selection. |
71 * Use this description when you want to describe the entire selection | 71 * Use this description when you want to describe the entire selection |
(...skipping 26 matching lines...) Expand all Loading... |
98 // direction or towards one another. In the first case, shrink/extend this | 98 // direction or towards one another. In the first case, shrink/extend this |
99 // PageSelection to the end of "sel". In the second case, shrink/extend this | 99 // PageSelection to the end of "sel". In the second case, shrink/extend this |
100 // PageSelection to the start of "sel". | 100 // PageSelection to the start of "sel". |
101 this.sel_.end = this.sel_.isReversed() == sel.isReversed() ? | 101 this.sel_.end = this.sel_.isReversed() == sel.isReversed() ? |
102 sel.end.clone() : sel.start.clone(); | 102 sel.end.clone() : sel.start.clone(); |
103 } | 103 } |
104 this.sel_.select(); | 104 this.sel_.select(); |
105 this.wasBegin_ = false; | 105 this.wasBegin_ = false; |
106 return !this.sel_.absEquals(sel); | 106 return !this.sel_.absEquals(sel); |
107 }; | 107 }; |
OLD | NEW |