Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: Source/core/page/SpatialNavigation.h

Issue 1010203002: Avoid computing navigation data for nodes in the wrong navigation direction (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) 2 * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
3 * Copyright (C) 2009 Antonio Gomes <tonikitoo@webkit.org> 3 * Copyright (C) 2009 Antonio Gomes <tonikitoo@webkit.org>
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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 // In all other cases, visibleNode and focusableNode are one and the same. 120 // In all other cases, visibleNode and focusableNode are one and the same.
121 RawPtrWillBeMember<Node> visibleNode; 121 RawPtrWillBeMember<Node> visibleNode;
122 RawPtrWillBeMember<Node> focusableNode; 122 RawPtrWillBeMember<Node> focusableNode;
123 RawPtrWillBeMember<Node> enclosingScrollableBox; 123 RawPtrWillBeMember<Node> enclosingScrollableBox;
124 double distance; 124 double distance;
125 LayoutRect rect; 125 LayoutRect rect;
126 bool isOffscreen; 126 bool isOffscreen;
127 bool isOffscreenAfterScrolling; 127 bool isOffscreenAfterScrolling;
128 }; 128 };
129 129
130 bool isRectInDirection(WebFocusType, const LayoutRect&, const LayoutRect&);
130 bool hasOffscreenRect(Node*, WebFocusType = WebFocusTypeNone); 131 bool hasOffscreenRect(Node*, WebFocusType = WebFocusTypeNone);
131 bool scrollInDirection(LocalFrame*, WebFocusType); 132 bool scrollInDirection(LocalFrame*, WebFocusType);
132 bool scrollInDirection(Node* container, WebFocusType); 133 bool scrollInDirection(Node* container, WebFocusType);
133 bool canScrollInDirection(const Node* container, WebFocusType); 134 bool canScrollInDirection(const Node* container, WebFocusType);
134 bool canScrollInDirection(const LocalFrame*, WebFocusType); 135 bool canScrollInDirection(const LocalFrame*, WebFocusType);
135 bool canBeScrolledIntoView(WebFocusType, const FocusCandidate&); 136 bool canBeScrolledIntoView(WebFocusType, const FocusCandidate&);
136 bool areElementsOnSameLine(const FocusCandidate& firstCandidate, const FocusCand idate& secondCandidate); 137 bool areElementsOnSameLine(const FocusCandidate& firstCandidate, const FocusCand idate& secondCandidate);
137 void distanceDataForNode(WebFocusType, const FocusCandidate& current, FocusCandi date&); 138 void distanceDataForNode(WebFocusType, const FocusCandidate& current, FocusCandi date&);
138 Node* scrollableEnclosingBoxOrParentFrameForNodeInDirection(WebFocusType, Node*) ; 139 Node* scrollableEnclosingBoxOrParentFrameForNodeInDirection(WebFocusType, Node*) ;
139 LayoutRect nodeRectInAbsoluteCoordinates(Node*, bool ignoreBorder = false); 140 LayoutRect nodeRectInAbsoluteCoordinates(Node*, bool ignoreBorder = false);
140 LayoutRect frameRectInAbsoluteCoordinates(LocalFrame*); 141 LayoutRect frameRectInAbsoluteCoordinates(LocalFrame*);
141 LayoutRect virtualRectForDirection(WebFocusType, const LayoutRect& startingRect, LayoutUnit width = 0); 142 LayoutRect virtualRectForDirection(WebFocusType, const LayoutRect& startingRect, LayoutUnit width = 0);
142 LayoutRect virtualRectForAreaElementAndDirection(HTMLAreaElement&, WebFocusType) ; 143 LayoutRect virtualRectForAreaElementAndDirection(HTMLAreaElement&, WebFocusType) ;
143 HTMLFrameOwnerElement* frameOwnerElement(FocusCandidate&); 144 HTMLFrameOwnerElement* frameOwnerElement(FocusCandidate&);
144 145
145 } // namespace blink 146 } // namespace blink
146 147
147 #endif // SpatialNavigation_h 148 #endif // SpatialNavigation_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698