| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2008 Nuanti Ltd. | 3 * Copyright (C) 2008 Nuanti Ltd. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 766 } | 766 } |
| 767 | 767 |
| 768 setFocusedFrame(newDocument.frame()); | 768 setFocusedFrame(newDocument.frame()); |
| 769 | 769 |
| 770 if (caretBrowsing) { | 770 if (caretBrowsing) { |
| 771 Position position = firstPositionInOrBeforeNode(element.get()); | 771 Position position = firstPositionInOrBeforeNode(element.get()); |
| 772 VisibleSelection newSelection(position, position); | 772 VisibleSelection newSelection(position, position); |
| 773 frame->selection().setSelection(newSelection); | 773 frame->selection().setSelection(newSelection); |
| 774 } | 774 } |
| 775 | 775 |
| 776 element->focus(false, type, sourceCapabilities); | 776 element->focus(FocusParams(SelectionBehaviorOnFocus::Reset, type, sourceCapa
bilities)); |
| 777 return true; | 777 return true; |
| 778 } | 778 } |
| 779 | 779 |
| 780 Element* FocusController::findFocusableElement(WebFocusType type, Node& node) | 780 Element* FocusController::findFocusableElement(WebFocusType type, Node& node) |
| 781 { | 781 { |
| 782 // FIXME: No spacial navigation code yet. | 782 // FIXME: No spacial navigation code yet. |
| 783 ASSERT(type == WebFocusTypeForward || type == WebFocusTypeBackward); | 783 ASSERT(type == WebFocusTypeForward || type == WebFocusTypeBackward); |
| 784 Element* found = findFocusableElementAcrossFocusScopes(type, FocusNavigation
Scope::focusNavigationScopeOf(node), &node); | 784 Element* found = findFocusableElementAcrossFocusScopes(type, FocusNavigation
Scope::focusNavigationScopeOf(node), &node); |
| 785 return found; | 785 return found; |
| 786 } | 786 } |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1019 if (focusCandidate.isOffscreenAfterScrolling) { | 1019 if (focusCandidate.isOffscreenAfterScrolling) { |
| 1020 Node* container = focusCandidate.enclosingScrollableBox; | 1020 Node* container = focusCandidate.enclosingScrollableBox; |
| 1021 scrollInDirection(container, type); | 1021 scrollInDirection(container, type); |
| 1022 return true; | 1022 return true; |
| 1023 } | 1023 } |
| 1024 | 1024 |
| 1025 // We found a new focus node, navigate to it. | 1025 // We found a new focus node, navigate to it. |
| 1026 Element* element = toElement(focusCandidate.focusableNode); | 1026 Element* element = toElement(focusCandidate.focusableNode); |
| 1027 ASSERT(element); | 1027 ASSERT(element); |
| 1028 | 1028 |
| 1029 element->focus(false, type); | 1029 element->focus(FocusParams(SelectionBehaviorOnFocus::Reset, type, nullptr)); |
| 1030 return true; | 1030 return true; |
| 1031 } | 1031 } |
| 1032 | 1032 |
| 1033 bool FocusController::advanceFocusDirectionally(WebFocusType type) | 1033 bool FocusController::advanceFocusDirectionally(WebFocusType type) |
| 1034 { | 1034 { |
| 1035 // FIXME: Directional focus changes don't yet work with RemoteFrames. | 1035 // FIXME: Directional focus changes don't yet work with RemoteFrames. |
| 1036 if (!focusedOrMainFrame()->isLocalFrame()) | 1036 if (!focusedOrMainFrame()->isLocalFrame()) |
| 1037 return false; | 1037 return false; |
| 1038 LocalFrame* curFrame = toLocalFrame(focusedOrMainFrame()); | 1038 LocalFrame* curFrame = toLocalFrame(focusedOrMainFrame()); |
| 1039 ASSERT(curFrame); | 1039 ASSERT(curFrame); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1073 return consumed; | 1073 return consumed; |
| 1074 } | 1074 } |
| 1075 | 1075 |
| 1076 DEFINE_TRACE(FocusController) | 1076 DEFINE_TRACE(FocusController) |
| 1077 { | 1077 { |
| 1078 visitor->trace(m_page); | 1078 visitor->trace(m_page); |
| 1079 visitor->trace(m_focusedFrame); | 1079 visitor->trace(m_focusedFrame); |
| 1080 } | 1080 } |
| 1081 | 1081 |
| 1082 } // namespace blink | 1082 } // namespace blink |
| OLD | NEW |