Changeset 141470 in webkit
- Timestamp:
- Jan 31, 2013 12:55:33 PM (11 years ago)
- Location:
- trunk/Source/WebKit/chromium
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/chromium/ChangeLog
r141461 r141470 1 2013-01-31 Chris Hopman <cjhopman@chromium.org> 2 3 [chromium] Make selection handling work in applyPageScaleInCompositor mode 4 https://bugs.webkit.org/show_bug.cgi?id=107831 5 6 Reviewed by Ryosuke Niwa. 7 8 These functions expect a window point. When in 9 applyPageScaleFactorInCompositor mode, the points need to be unscaled 10 by the page scale factor. 11 12 * src/WebFrameImpl.cpp: 13 (WebKit::WebFrameImpl::selectRange): 14 (WebKit::WebFrameImpl::moveCaretSelectionTowardsWindowPoint): 15 1 16 2013-01-31 Tom Sepez <tsepez@chromium.org> 2 17 -
trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp
r141371 r141470 1384 1384 void WebFrameImpl::selectRange(const WebPoint& base, const WebPoint& extent) 1385 1385 { 1386 VisiblePosition basePosition = visiblePositionForWindowPoint(base); 1387 VisiblePosition extentPosition = visiblePositionForWindowPoint(extent); 1386 IntPoint unscaledBase = base; 1387 IntPoint unscaledExtent = extent; 1388 if (frame()->page()->settings()->applyPageScaleFactorInCompositor()) { 1389 unscaledExtent.scale(1 / view()->pageScaleFactor(), 1 / view()->pageScaleFactor()); 1390 unscaledBase.scale(1 / view()->pageScaleFactor(), 1 / view()->pageScaleFactor()); 1391 } 1392 VisiblePosition basePosition = visiblePositionForWindowPoint(unscaledBase); 1393 VisiblePosition extentPosition = visiblePositionForWindowPoint(unscaledExtent); 1388 1394 VisibleSelection newSelection = VisibleSelection(basePosition, extentPosition); 1389 1395 if (frame()->selection()->shouldChangeSelection(newSelection)) … … 1399 1405 void WebFrameImpl::moveCaretSelectionTowardsWindowPoint(const WebPoint& point) 1400 1406 { 1407 IntPoint unscaledPoint(point); 1408 if (frame()->page()->settings()->applyPageScaleFactorInCompositor()) 1409 unscaledPoint.scale(1 / view()->pageScaleFactor(), 1 / view()->pageScaleFactor()); 1410 1401 1411 Element* editable = frame()->selection()->rootEditableElement(); 1402 IntPoint contentsPoint = frame()->view()->windowToContents( IntPoint(point));1412 IntPoint contentsPoint = frame()->view()->windowToContents(unscaledPoint); 1403 1413 LayoutPoint localPoint(editable->convertFromPage(contentsPoint)); 1404 1414 VisiblePosition position = editable->renderer()->positionForPoint(localPoint);
Note: See TracChangeset
for help on using the changeset viewer.