Changeset 164188 in webkit
- Timestamp:
- Feb 15, 2014 7:33:57 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r164186 r164188 1 2014-02-15 Ryosuke Niwa <rniwa@webkit.org> 2 3 DOMSelection shouldn't instantiate VisibleSelection everywhere 4 https://bugs.webkit.org/show_bug.cgi?id=128879 5 6 Reviewed by Antti Koivisto. 7 8 Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection. 9 10 * page/DOMSelection.cpp: 11 (WebCore::DOMSelection::collapse): 12 (WebCore::DOMSelection::collapseToEnd): 13 (WebCore::DOMSelection::collapseToStart): 14 (WebCore::DOMSelection::setBaseAndExtent): 15 (WebCore::DOMSelection::setPosition): 16 (WebCore::DOMSelection::extend): 17 (WebCore::DOMSelection::getRangeAt): 18 (WebCore::DOMSelection::addRange): 19 1 20 2014-02-15 Ryosuke Niwa <rniwa@webkit.org> 2 21 -
trunk/Source/WebCore/page/DOMSelection.cpp
r157018 r164188 205 205 206 206 // FIXME: Eliminate legacy editing positions 207 m_frame->selection().moveTo( VisiblePosition(createLegacyEditingPosition(node, offset), DOWNSTREAM));207 m_frame->selection().moveTo(createLegacyEditingPosition(node, offset), DOWNSTREAM); 208 208 } 209 209 … … 220 220 } 221 221 222 m_frame->selection().moveTo( VisiblePosition(selection.end(), DOWNSTREAM));222 m_frame->selection().moveTo(selection.end(), DOWNSTREAM); 223 223 } 224 224 … … 235 235 } 236 236 237 m_frame->selection().moveTo( VisiblePosition(selection.start(), DOWNSTREAM));237 m_frame->selection().moveTo(selection.start(), DOWNSTREAM); 238 238 } 239 239 … … 259 259 260 260 // FIXME: Eliminate legacy editing positions 261 VisiblePosition visibleBase = VisiblePosition(createLegacyEditingPosition(baseNode, baseOffset), DOWNSTREAM); 262 VisiblePosition visibleExtent = VisiblePosition(createLegacyEditingPosition(extentNode, extentOffset), DOWNSTREAM); 263 264 m_frame->selection().moveTo(visibleBase, visibleExtent); 261 m_frame->selection().moveTo(createLegacyEditingPosition(baseNode, baseOffset), createLegacyEditingPosition(extentNode, extentOffset), DOWNSTREAM); 265 262 } 266 263 … … 278 275 279 276 // FIXME: Eliminate legacy editing positions 280 m_frame->selection().moveTo( VisiblePosition(createLegacyEditingPosition(node, offset), DOWNSTREAM));277 m_frame->selection().moveTo(createLegacyEditingPosition(node, offset), DOWNSTREAM); 281 278 } 282 279 … … 350 347 351 348 // FIXME: Eliminate legacy editing positions 352 m_frame->selection().setExtent( VisiblePosition(createLegacyEditingPosition(node, offset), DOWNSTREAM));349 m_frame->selection().setExtent(createLegacyEditingPosition(node, offset), DOWNSTREAM); 353 350 } 354 351 … … 372 369 } 373 370 374 const VisibleSelection& selection = m_frame->selection().selection(); 375 return selection.firstRange(); 371 return m_frame->selection().selection().firstRange(); 376 372 } 377 373 … … 393 389 394 390 if (selection.isNone()) { 395 selection. setSelection(VisibleSelection(r));391 selection.moveTo(r); 396 392 return; 397 393 } … … 401 397 // We don't support discontiguous selection. We don't do anything if r and range don't intersect. 402 398 if (r->compareBoundaryPoints(Range::START_TO_END, range.get(), IGNORE_EXCEPTION) > -1) { 403 if (r->compareBoundaryPoints(Range::END_TO_END, range.get(), IGNORE_EXCEPTION) == -1) 399 if (r->compareBoundaryPoints(Range::END_TO_END, range.get(), IGNORE_EXCEPTION) == -1) { 404 400 // The original range and r intersect. 405 selection. setSelection(VisibleSelection(r->startPosition(), range->endPosition(), DOWNSTREAM));406 else401 selection.moveTo(r->startPosition(), range->endPosition(), DOWNSTREAM); 402 } else { 407 403 // r contains the original range. 408 selection.setSelection(VisibleSelection(r)); 404 selection.moveTo(r); 405 } 409 406 } 410 407 } else { … … 412 409 ExceptionCode ec = 0; 413 410 if (r->compareBoundaryPoints(Range::END_TO_START, range.get(), ec) < 1 && !ec) { 414 if (r->compareBoundaryPoints(Range::END_TO_END, range.get(), IGNORE_EXCEPTION) == -1) 411 if (r->compareBoundaryPoints(Range::END_TO_END, range.get(), IGNORE_EXCEPTION) == -1) { 415 412 // The original range contains r. 416 selection. setSelection(VisibleSelection(range.get()));417 else413 selection.moveTo(range.get()); 414 } else { 418 415 // The original range and r intersect. 419 selection.setSelection(VisibleSelection(range->startPosition(), r->endPosition(), DOWNSTREAM)); 416 selection.moveTo(range->startPosition(), r->endPosition(), DOWNSTREAM); 417 } 420 418 } 421 419 }
Note: See TracChangeset
for help on using the changeset viewer.