| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2011 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2010 Google Inc. All rights reserved. | 3 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 | 94 |
| 95 // Left and up mean "previous radio button". | 95 // Left and up mean "previous radio button". |
| 96 // Right and down mean "next radio button". | 96 // Right and down mean "next radio button". |
| 97 // Tested in WinIE, and even for RTL, left still means previous radio button | 97 // Tested in WinIE, and even for RTL, left still means previous radio button |
| 98 // (and so moves to the right). Seems strange, but we'll match it. However, | 98 // (and so moves to the right). Seems strange, but we'll match it. However, |
| 99 // when using Spatial Navigation, we need to be able to navigate without | 99 // when using Spatial Navigation, we need to be able to navigate without |
| 100 // changing the selection. | 100 // changing the selection. |
| 101 Document& document = element().document(); | 101 Document& document = element().document(); |
| 102 if (isSpatialNavigationEnabled(document.frame())) | 102 if (isSpatialNavigationEnabled(document.frame())) |
| 103 return; | 103 return; |
| 104 bool forward = (key == "Down" || key == "Right"); | 104 bool forward = computedTextDirection() == RTL ? (key == "Down" || key == "Le
ft") : (key == "Down" || key == "Right"); |
| 105 | 105 |
| 106 // We can only stay within the form's children if the form hasn't been demot
ed to a leaf because | 106 // We can only stay within the form's children if the form hasn't been demot
ed to a leaf because |
| 107 // of malformed HTML. | 107 // of malformed HTML. |
| 108 HTMLInputElement* inputElement = findNextFocusableRadioButtonInGroup(toHTMLI
nputElement(&element()), forward); | 108 HTMLInputElement* inputElement = findNextFocusableRadioButtonInGroup(toHTMLI
nputElement(&element()), forward); |
| 109 if (!inputElement) { | 109 if (!inputElement) { |
| 110 // Traverse in reverse direction till last or first radio button | 110 // Traverse in reverse direction till last or first radio button |
| 111 forward = !(forward); | 111 forward = !(forward); |
| 112 HTMLInputElement* nextInputElement = findNextFocusableRadioButtonInGroup
(toHTMLInputElement(&element()), forward); | 112 HTMLInputElement* nextInputElement = findNextFocusableRadioButtonInGroup
(toHTMLInputElement(&element()), forward); |
| 113 while (nextInputElement) { | 113 while (nextInputElement) { |
| 114 inputElement = nextInputElement; | 114 inputElement = nextInputElement; |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 // The work we did in willDispatchClick was default handling. | 202 // The work we did in willDispatchClick was default handling. |
| 203 event->setDefaultHandled(); | 203 event->setDefaultHandled(); |
| 204 } | 204 } |
| 205 | 205 |
| 206 bool RadioInputType::shouldAppearIndeterminate() const | 206 bool RadioInputType::shouldAppearIndeterminate() const |
| 207 { | 207 { |
| 208 return !element().checkedRadioButtonForGroup(); | 208 return !element().checkedRadioButtonForGroup(); |
| 209 } | 209 } |
| 210 | 210 |
| 211 } // namespace blink | 211 } // namespace blink |
| OLD | NEW |