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

Side by Side Diff: third_party/WebKit/Source/core/editing/FrameSelection.cpp

Issue 2341053002: Mark the createVisiblePosition overloads as deprecated (Closed)
Patch Set: minor revision Created 4 years, 3 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) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2008, 2009, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 { 180 {
181 RenderedPosition base(visibleBase); 181 RenderedPosition base(visibleBase);
182 RenderedPosition extent(visibleExtent); 182 RenderedPosition extent(visibleExtent);
183 183
184 if (base.isNull() || extent.isNull() || base.isEquivalent(extent)) 184 if (base.isNull() || extent.isNull() || base.isEquivalent(extent))
185 return; 185 return;
186 186
187 if (base.atLeftBoundaryOfBidiRun()) { 187 if (base.atLeftBoundaryOfBidiRun()) {
188 if (!extent.atRightBoundaryOfBidiRun(base.bidiLevelOnRight()) 188 if (!extent.atRightBoundaryOfBidiRun(base.bidiLevelOnRight())
189 && base.isEquivalent(extent.leftBoundaryOfBidiRun(base.bidiLevelOnRi ght()))) { 189 && base.isEquivalent(extent.leftBoundaryOfBidiRun(base.bidiLevelOnRi ght()))) {
190 visibleBase = createVisiblePosition(fromPositionInDOMTree<Strategy>( base.positionAtLeftBoundaryOfBiDiRun())); 190 visibleBase = createVisiblePositionDeprecated(fromPositionInDOMTree< Strategy>(base.positionAtLeftBoundaryOfBiDiRun()));
191 return; 191 return;
192 } 192 }
193 return; 193 return;
194 } 194 }
195 195
196 if (base.atRightBoundaryOfBidiRun()) { 196 if (base.atRightBoundaryOfBidiRun()) {
197 if (!extent.atLeftBoundaryOfBidiRun(base.bidiLevelOnLeft()) 197 if (!extent.atLeftBoundaryOfBidiRun(base.bidiLevelOnLeft())
198 && base.isEquivalent(extent.rightBoundaryOfBidiRun(base.bidiLevelOnL eft()))) { 198 && base.isEquivalent(extent.rightBoundaryOfBidiRun(base.bidiLevelOnL eft()))) {
199 visibleBase = createVisiblePosition(fromPositionInDOMTree<Strategy>( base.positionAtRightBoundaryOfBiDiRun())); 199 visibleBase = createVisiblePositionDeprecated(fromPositionInDOMTree< Strategy>(base.positionAtRightBoundaryOfBiDiRun()));
200 return; 200 return;
201 } 201 }
202 return; 202 return;
203 } 203 }
204 204
205 if (extent.atLeftBoundaryOfBidiRun() && extent.isEquivalent(base.leftBoundar yOfBidiRun(extent.bidiLevelOnRight()))) { 205 if (extent.atLeftBoundaryOfBidiRun() && extent.isEquivalent(base.leftBoundar yOfBidiRun(extent.bidiLevelOnRight()))) {
206 visibleExtent = createVisiblePosition(fromPositionInDOMTree<Strategy>(ex tent.positionAtLeftBoundaryOfBiDiRun())); 206 visibleExtent = createVisiblePositionDeprecated(fromPositionInDOMTree<St rategy>(extent.positionAtLeftBoundaryOfBiDiRun()));
207 return; 207 return;
208 } 208 }
209 209
210 if (extent.atRightBoundaryOfBidiRun() && extent.isEquivalent(base.rightBound aryOfBidiRun(extent.bidiLevelOnLeft()))) { 210 if (extent.atRightBoundaryOfBidiRun() && extent.isEquivalent(base.rightBound aryOfBidiRun(extent.bidiLevelOnLeft()))) {
211 visibleExtent = createVisiblePosition(fromPositionInDOMTree<Strategy>(ex tent.positionAtRightBoundaryOfBiDiRun())); 211 visibleExtent = createVisiblePositionDeprecated(fromPositionInDOMTree<St rategy>(extent.positionAtRightBoundaryOfBiDiRun()));
212 return; 212 return;
213 } 213 }
214 } 214 }
215 215
216 void FrameSelection::setNonDirectionalSelectionIfNeeded(const VisibleSelectionIn FlatTree& passedNewSelection, TextGranularity granularity, EndPointsAdjustmentMo de endpointsAdjustmentMode) 216 void FrameSelection::setNonDirectionalSelectionIfNeeded(const VisibleSelectionIn FlatTree& passedNewSelection, TextGranularity granularity, EndPointsAdjustmentMo de endpointsAdjustmentMode)
217 { 217 {
218 VisibleSelectionInFlatTree newSelection = passedNewSelection; 218 VisibleSelectionInFlatTree newSelection = passedNewSelection;
219 bool isDirectional = shouldAlwaysUseDirectionalSelection(m_frame) || newSele ction.isDirectional(); 219 bool isDirectional = shouldAlwaysUseDirectionalSelection(m_frame) || newSele ction.isDirectional();
220 220
221 const PositionInFlatTree basePosition = m_originalBaseInFlatTree.deepEquival ent(); 221 const PositionInFlatTree basePosition = m_originalBaseInFlatTree.deepEquival ent();
222 const VisiblePositionInFlatTree originalBase = basePosition.isConnected() ? createVisiblePosition(basePosition) : VisiblePositionInFlatTree(); 222 const VisiblePositionInFlatTree originalBase = basePosition.isConnected() ? createVisiblePositionDeprecated(basePosition) : VisiblePositionInFlatTree();
223 const VisiblePositionInFlatTree base = originalBase.isNotNull() ? originalBa se : createVisiblePosition(newSelection.base()); 223 const VisiblePositionInFlatTree base = originalBase.isNotNull() ? originalBa se : createVisiblePositionDeprecated(newSelection.base());
224 VisiblePositionInFlatTree newBase = base; 224 VisiblePositionInFlatTree newBase = base;
225 const VisiblePositionInFlatTree extent = createVisiblePosition(newSelection. extent()); 225 const VisiblePositionInFlatTree extent = createVisiblePositionDeprecated(new Selection.extent());
226 VisiblePositionInFlatTree newExtent = extent; 226 VisiblePositionInFlatTree newExtent = extent;
227 if (endpointsAdjustmentMode == AdjustEndpointsAtBidiBoundary) 227 if (endpointsAdjustmentMode == AdjustEndpointsAtBidiBoundary)
228 adjustEndpointsAtBidiBoundary(newBase, newExtent); 228 adjustEndpointsAtBidiBoundary(newBase, newExtent);
229 229
230 if (newBase.deepEquivalent() != base.deepEquivalent() || newExtent.deepEquiv alent() != extent.deepEquivalent()) { 230 if (newBase.deepEquivalent() != base.deepEquivalent() || newExtent.deepEquiv alent() != extent.deepEquivalent()) {
231 m_originalBaseInFlatTree = base; 231 m_originalBaseInFlatTree = base;
232 newSelection.setBase(newBase); 232 newSelection.setBase(newBase);
233 newSelection.setExtent(newExtent); 233 newSelection.setExtent(newExtent);
234 } else if (originalBase.isNotNull()) { 234 } else if (originalBase.isNotNull()) {
235 if (visibleSelection<EditingInFlatTreeStrategy>().base() == newSelection .base()) 235 if (visibleSelection<EditingInFlatTreeStrategy>().base() == newSelection .base())
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 if (!visibleSelection.isRange()) 738 if (!visibleSelection.isRange())
739 return false; 739 return false;
740 740
741 HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active); 741 HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active);
742 HitTestResult result(request, point); 742 HitTestResult result(request, point);
743 document().layoutViewItem().hitTest(result); 743 document().layoutViewItem().hitTest(result);
744 Node* innerNode = result.innerNode(); 744 Node* innerNode = result.innerNode();
745 if (!innerNode || !innerNode->layoutObject()) 745 if (!innerNode || !innerNode->layoutObject())
746 return false; 746 return false;
747 747
748 const VisiblePositionInFlatTree& visiblePos = createVisiblePosition(fromPosi tionInDOMTree<EditingInFlatTreeStrategy>(innerNode->layoutObject()->positionForP oint(result.localPoint()))); 748 const VisiblePositionInFlatTree& visiblePos = createVisiblePositionDeprecate d(fromPositionInDOMTree<EditingInFlatTreeStrategy>(innerNode->layoutObject()->po sitionForPoint(result.localPoint())));
749 if (visiblePos.isNull()) 749 if (visiblePos.isNull())
750 return false; 750 return false;
751 751
752 const VisiblePositionInFlatTree& visibleStart = visibleSelection.visibleStar t(); 752 const VisiblePositionInFlatTree& visibleStart = visibleSelection.visibleStar t();
753 const VisiblePositionInFlatTree& visibleEnd = visibleSelection.visibleEnd(); 753 const VisiblePositionInFlatTree& visibleEnd = visibleSelection.visibleEnd();
754 if (visibleStart.isNull() || visibleEnd.isNull()) 754 if (visibleStart.isNull() || visibleEnd.isNull())
755 return false; 755 return false;
756 756
757 const PositionInFlatTree& start = visibleStart.deepEquivalent(); 757 const PositionInFlatTree& start = visibleStart.deepEquivalent();
758 const PositionInFlatTree& end = visibleEnd.deepEquivalent(); 758 const PositionInFlatTree& end = visibleEnd.deepEquivalent();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 ContainerNode* ownerElementParent = ownerElement->parentNode(); 795 ContainerNode* ownerElementParent = ownerElement->parentNode();
796 if (!ownerElementParent) 796 if (!ownerElementParent)
797 return; 797 return;
798 798
799 // This method's purpose is it to make it easier to select iframes (in order to delete them). Don't do anything if the iframe isn't deletable. 799 // This method's purpose is it to make it easier to select iframes (in order to delete them). Don't do anything if the iframe isn't deletable.
800 if (!blink::hasEditableStyle(*ownerElementParent)) 800 if (!blink::hasEditableStyle(*ownerElementParent))
801 return; 801 return;
802 802
803 // Create compute positions before and after the element. 803 // Create compute positions before and after the element.
804 unsigned ownerElementNodeIndex = ownerElement->nodeIndex(); 804 unsigned ownerElementNodeIndex = ownerElement->nodeIndex();
805 VisiblePosition beforeOwnerElement = createVisiblePosition(Position(ownerEle mentParent, ownerElementNodeIndex)); 805 VisiblePosition beforeOwnerElement = createVisiblePositionDeprecated(Positio n(ownerElementParent, ownerElementNodeIndex));
806 VisiblePosition afterOwnerElement = createVisiblePosition(Position(ownerElem entParent, ownerElementNodeIndex + 1), VP_UPSTREAM_IF_POSSIBLE); 806 VisiblePosition afterOwnerElement = createVisiblePositionDeprecated(Position (ownerElementParent, ownerElementNodeIndex + 1), VP_UPSTREAM_IF_POSSIBLE);
807 807
808 // Focus on the parent frame, and then select from before this element to af ter. 808 // Focus on the parent frame, and then select from before this element to af ter.
809 VisibleSelection newSelection(beforeOwnerElement, afterOwnerElement); 809 VisibleSelection newSelection(beforeOwnerElement, afterOwnerElement);
810 page->focusController().setFocusedFrame(parent); 810 page->focusController().setFocusedFrame(parent);
811 // setFocusedFrame can dispatch synchronous focus/blur events. The document 811 // setFocusedFrame can dispatch synchronous focus/blur events. The document
812 // tree might be modified. 812 // tree might be modified.
813 if (newSelection.isNonOrphanedCaretOrRange()) 813 if (newSelection.isNonOrphanedCaretOrRange())
814 toLocalFrame(parent)->selection().setSelection(newSelection); 814 toLocalFrame(parent)->selection().setSelection(newSelection);
815 } 815 }
816 816
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
1160 1160
1161 LayoutRect rect; 1161 LayoutRect rect;
1162 1162
1163 switch (getSelectionType()) { 1163 switch (getSelectionType()) {
1164 case NoSelection: 1164 case NoSelection:
1165 return; 1165 return;
1166 case CaretSelection: 1166 case CaretSelection:
1167 rect = LayoutRect(absoluteCaretBounds()); 1167 rect = LayoutRect(absoluteCaretBounds());
1168 break; 1168 break;
1169 case RangeSelection: 1169 case RangeSelection:
1170 rect = LayoutRect(revealExtentOption == RevealExtent ? absoluteCaretBoun dsOf(createVisiblePosition(extent())) : enclosingIntRect(unclippedBounds())); 1170 rect = LayoutRect(revealExtentOption == RevealExtent ? absoluteCaretBoun dsOf(createVisiblePositionDeprecated(extent())) : enclosingIntRect(unclippedBoun ds()));
1171 break; 1171 break;
1172 } 1172 }
1173 1173
1174 Position start = this->start(); 1174 Position start = this->start();
1175 DCHECK(start.anchorNode()); 1175 DCHECK(start.anchorNode());
1176 if (start.anchorNode() && start.anchorNode()->layoutObject()) { 1176 if (start.anchorNode() && start.anchorNode()->layoutObject()) {
1177 // FIXME: This code only handles scrolling the startContainer's layer, b ut 1177 // FIXME: This code only handles scrolling the startContainer's layer, b ut
1178 // the selection rect could intersect more than just that. 1178 // the selection rect could intersect more than just that.
1179 if (DocumentLoader* documentLoader = m_frame->loader().documentLoader()) 1179 if (DocumentLoader* documentLoader = m_frame->loader().documentLoader())
1180 documentLoader->initialScrollState().wasScrolledByUser = true; 1180 documentLoader->initialScrollState().wasScrolledByUser = true;
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1380 1380
1381 void showTree(const blink::FrameSelection* sel) 1381 void showTree(const blink::FrameSelection* sel)
1382 { 1382 {
1383 if (sel) 1383 if (sel)
1384 sel->showTreeForThis(); 1384 sel->showTreeForThis();
1385 else 1385 else
1386 LOG(INFO) << "Cannot showTree for <null> FrameSelection."; 1386 LOG(INFO) << "Cannot showTree for <null> FrameSelection.";
1387 } 1387 }
1388 1388
1389 #endif 1389 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698