| 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 | 
| 11  *    notice, this list of conditions and the following disclaimer in the | 11  *    notice, this list of conditions and the following disclaimer in the | 
| 12  *    documentation and/or other materials provided with the distribution. | 12  *    documentation and/or other materials provided with the distribution. | 
| 13  * | 13  * | 
| 14  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY | 14  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY | 
| 15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
| 16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 
| 17  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR | 17  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR | 
| 18  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 18  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 
| 19  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 19  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 
| 20  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 20  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 
| 21  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 21  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 
| 22  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 22  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| 23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| 24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 25  */ | 25  */ | 
| 26 | 26 | 
| 27 #include "config.h" | 27 #include "config.h" | 
| 28 #include "core/page/FocusController.h" | 28 #include "core/page/FocusController.h" | 
| 29 | 29 | 
| 30 #include <limits> | 30 #include "core/HTMLNames.h" | 
| 31 #include "HTMLNames.h" |  | 
| 32 #include "core/accessibility/AXObjectCache.h" | 31 #include "core/accessibility/AXObjectCache.h" | 
| 33 #include "core/dom/Document.h" | 32 #include "core/dom/Document.h" | 
| 34 #include "core/dom/Element.h" | 33 #include "core/dom/Element.h" | 
| 35 #include "core/dom/ElementTraversal.h" | 34 #include "core/dom/ElementTraversal.h" | 
| 36 #include "core/dom/NodeTraversal.h" | 35 #include "core/dom/NodeTraversal.h" | 
| 37 #include "core/dom/Range.h" | 36 #include "core/dom/Range.h" | 
| 38 #include "core/dom/shadow/ElementShadow.h" | 37 #include "core/dom/shadow/ElementShadow.h" | 
| 39 #include "core/dom/shadow/ShadowRoot.h" | 38 #include "core/dom/shadow/ShadowRoot.h" | 
| 40 #include "core/editing/Editor.h" | 39 #include "core/editing/Editor.h" | 
| 41 #include "core/editing/FrameSelection.h" | 40 #include "core/editing/FrameSelection.h" | 
| 42 #include "core/editing/htmlediting.h" // For firstPositionInOrBeforeNode | 41 #include "core/editing/htmlediting.h" // For firstPositionInOrBeforeNode | 
| 43 #include "core/events/Event.h" | 42 #include "core/events/Event.h" | 
| 44 #include "core/frame/DOMWindow.h" | 43 #include "core/frame/DOMWindow.h" | 
| 45 #include "core/frame/FrameView.h" | 44 #include "core/frame/FrameView.h" | 
| 46 #include "core/frame/LocalFrame.h" | 45 #include "core/frame/LocalFrame.h" | 
| 47 #include "core/html/HTMLAreaElement.h" | 46 #include "core/html/HTMLAreaElement.h" | 
| 48 #include "core/html/HTMLImageElement.h" | 47 #include "core/html/HTMLImageElement.h" | 
| 49 #include "core/html/HTMLPlugInElement.h" | 48 #include "core/html/HTMLPlugInElement.h" | 
| 50 #include "core/html/HTMLShadowElement.h" | 49 #include "core/html/HTMLShadowElement.h" | 
| 51 #include "core/html/HTMLTextFormControlElement.h" | 50 #include "core/html/HTMLTextFormControlElement.h" | 
| 52 #include "core/page/Chrome.h" | 51 #include "core/page/Chrome.h" | 
| 53 #include "core/page/ChromeClient.h" | 52 #include "core/page/ChromeClient.h" | 
| 54 #include "core/page/EventHandler.h" | 53 #include "core/page/EventHandler.h" | 
| 55 #include "core/page/FrameTree.h" | 54 #include "core/page/FrameTree.h" | 
| 56 #include "core/page/Page.h" | 55 #include "core/page/Page.h" | 
| 57 #include "core/frame/Settings.h" | 56 #include "core/frame/Settings.h" | 
| 58 #include "core/page/SpatialNavigation.h" | 57 #include "core/page/SpatialNavigation.h" | 
| 59 #include "core/rendering/HitTestResult.h" | 58 #include "core/rendering/HitTestResult.h" | 
| 60 #include "core/rendering/RenderLayer.h" | 59 #include "core/rendering/RenderLayer.h" | 
|  | 60 #include <limits> | 
| 61 | 61 | 
| 62 namespace WebCore { | 62 namespace WebCore { | 
| 63 | 63 | 
| 64 using namespace HTMLNames; | 64 using namespace HTMLNames; | 
| 65 | 65 | 
| 66 static inline bool isShadowInsertionPointFocusScopeOwner(Node& node) | 66 static inline bool isShadowInsertionPointFocusScopeOwner(Node& node) | 
| 67 { | 67 { | 
| 68     return isActiveShadowInsertionPoint(node) && toHTMLShadowElement(node).older
     ShadowRoot(); | 68     return isActiveShadowInsertionPoint(node) && toHTMLShadowElement(node).older
     ShadowRoot(); | 
| 69 } | 69 } | 
| 70 | 70 | 
| (...skipping 846 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 917         startingRect = nodeRectInAbsoluteCoordinates(container, true /* ignore b
     order */); | 917         startingRect = nodeRectInAbsoluteCoordinates(container, true /* ignore b
     order */); | 
| 918         container = scrollableEnclosingBoxOrParentFrameForNodeInDirection(type, 
     container); | 918         container = scrollableEnclosingBoxOrParentFrameForNodeInDirection(type, 
     container); | 
| 919         if (container && container->isDocumentNode()) | 919         if (container && container->isDocumentNode()) | 
| 920             toDocument(container)->updateLayoutIgnorePendingStylesheets(); | 920             toDocument(container)->updateLayoutIgnorePendingStylesheets(); | 
| 921     } while (!consumed && container); | 921     } while (!consumed && container); | 
| 922 | 922 | 
| 923     return consumed; | 923     return consumed; | 
| 924 } | 924 } | 
| 925 | 925 | 
| 926 } // namespace WebCore | 926 } // namespace WebCore | 
| OLD | NEW | 
|---|