Changeset 139659 in webkit
- Timestamp:
- Jan 14, 2013 1:40:52 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r139658 r139659 1 2013-01-11 Emil A Eklund <eae@chromium.org> 2 3 offsetWidth/height incorrect for images when zoomed 4 https://bugs.webkit.org/show_bug.cgi?id=106624 5 6 Reviewed by Levi Weintraub. 7 8 Add test for offsetWidth/Height for zoomed image. 9 10 * fast/images/zoomed-offset-size-expected.txt: Added. 11 * fast/images/zoomed-offset-size.html: Added. 12 1 13 2013-01-14 Dominic Mazzoni <dmazzoni@google.com> 2 14 -
trunk/Source/WebCore/ChangeLog
r139652 r139659 1 2013-01-11 Emil A Eklund <eae@chromium.org> 2 3 offsetWidth/height incorrect for images when zoomed 4 https://bugs.webkit.org/show_bug.cgi?id=106624 5 6 Reviewed by Levi Weintraub. 7 8 offsetWidth and height are incorrect for images at certain zoom 9 levels due to flooring the values ones adjusted for zoom. 10 By rounding the value instead we avoid the problem and return 11 the right size. 12 13 Test: fast/images/zoomed-offset-size.html 14 15 * dom/Element.cpp: 16 (WebCore::Element::offsetWidth): 17 (WebCore::Element::offsetHeight): 18 (WebCore::Element::clientWidth): 19 (WebCore::Element::clientHeight): 20 Change to round (as opposed to floor) the zoom adjusted value. 21 22 * rendering/RenderObject.h: 23 (WebCore::adjustLayoutUnitForAbsoluteZoom): 24 * rendering/style/RenderStyle.h: 25 (WebCore::adjustLayoutUnitForAbsoluteZoom): 26 Add LayoutUnit version of adjustForAbsoluteZoom to avoid float 27 conversion. 28 1 29 2013-01-14 Mark Pilgrim <pilgrim@chromium.org> 2 30 -
trunk/Source/WebCore/dom/Element.cpp
r139639 r139659 454 454 document()->updateLayoutIgnorePendingStylesheets(); 455 455 if (RenderBoxModelObject* renderer = renderBoxModelObject()) 456 #if ENABLE(SUBPIXEL_LAYOUT) 457 return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedOffsetWidth(), renderer).round(); 458 #else 456 459 return adjustForAbsoluteZoom(renderer->pixelSnappedOffsetWidth(), renderer); 460 #endif 457 461 return 0; 458 462 } … … 462 466 document()->updateLayoutIgnorePendingStylesheets(); 463 467 if (RenderBoxModelObject* renderer = renderBoxModelObject()) 468 #if ENABLE(SUBPIXEL_LAYOUT) 469 return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedOffsetHeight(), renderer).round(); 470 #else 464 471 return adjustForAbsoluteZoom(renderer->pixelSnappedOffsetHeight(), renderer); 472 #endif 465 473 return 0; 466 474 } … … 509 517 510 518 if (RenderBox* renderer = renderBox()) 519 #if ENABLE(SUBPIXEL_LAYOUT) 520 return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedClientWidth(), renderer).round(); 521 #else 511 522 return adjustForAbsoluteZoom(renderer->pixelSnappedClientWidth(), renderer); 523 #endif 512 524 return 0; 513 525 } … … 530 542 531 543 if (RenderBox* renderer = renderBox()) 544 #if ENABLE(SUBPIXEL_LAYOUT) 545 return adjustLayoutUnitForAbsoluteZoom(renderer->pixelSnappedClientHeight(), renderer).round(); 546 #else 532 547 return adjustForAbsoluteZoom(renderer->pixelSnappedClientHeight(), renderer); 548 #endif 533 549 return 0; 534 550 } -
trunk/Source/WebCore/rendering/RenderObject.h
r139573 r139659 1274 1274 } 1275 1275 1276 #if ENABLE(SUBPIXEL_LAYOUT) 1277 inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, RenderObject* renderer) 1278 { 1279 return adjustLayoutUnitForAbsoluteZoom(value, renderer->style()); 1280 } 1281 #endif 1282 1276 1283 inline void adjustFloatQuadForAbsoluteZoom(FloatQuad& quad, RenderObject* renderer) 1277 1284 { -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r139573 r139659 1783 1783 } 1784 1784 1785 #if ENABLE(SUBPIXEL_LAYOUT) 1786 inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const RenderStyle* style) 1787 { 1788 return value / style->effectiveZoom(); 1789 } 1790 #endif 1791 1785 1792 inline bool RenderStyle::setZoom(float f) 1786 1793 {
Note: See TracChangeset
for help on using the changeset viewer.