Changeset 139300 in webkit


Ignore:
Timestamp:
Jan 10, 2013 1:59:46 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

REGRESSION(r139189): pixel alignment must be performed in device units.
https://bugs.webkit.org/show_bug.cgi?id=106504

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-10
Reviewed by Kenneth Rohde Christiansen.

After r139189, pixel alignment is performed in UI units. If deviceScaleFactor is
fractional number, adjusted scroll position can blur non-composited layer.

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::pixelAlignedFloatPoint):

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r139293 r139300  
     12013-01-10  Huang Dongsung  <luxtella@company100.net>
     2
     3        REGRESSION(r139189): pixel alignment must be performed in device units.
     4        https://bugs.webkit.org/show_bug.cgi?id=106504
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        After r139189, pixel alignment is performed in UI units. If deviceScaleFactor is
     9        fractional number, adjusted scroll position can blur non-composited layer.
     10
     11        * UIProcess/PageViewportController.cpp:
     12        (WebKit::PageViewportController::pixelAlignedFloatPoint):
     13
    1142013-01-10  Arnaud Renevier  <a.renevier@sisa.samsung.com>
    215
  • trunk/Source/WebKit2/UIProcess/PageViewportController.cpp

    r139275 r139300  
    9696{
    9797#if PLATFORM(EFL)
    98     if (!isIntegral(m_pageScaleFactor)) {
     98    float effectiveScale = m_pageScaleFactor * deviceScaleFactor();
     99    if (!isIntegral(effectiveScale)) {
    99100        // To avoid blurryness, modify the position so that it maps into a discrete device position.
    100101        FloatPoint scaledPos(framePosition);
    101102
    102103        // Scale by the effective scale factor to compute the screen-relative position.
    103         scaledPos.scale(m_pageScaleFactor, m_pageScaleFactor);
     104        scaledPos.scale(effectiveScale, effectiveScale);
    104105
    105106        // Round to integer boundaries.
     
    107108
    108109        // Convert back to CSS coordinates.
    109         alignedPos.scale(1 / m_pageScaleFactor, 1 / m_pageScaleFactor);
     110        alignedPos.scale(1 / effectiveScale, 1 / effectiveScale);
    110111
    111112        return alignedPos;
Note: See TracChangeset for help on using the changeset viewer.