Changeset 111268 in webkit


Ignore:
Timestamp:
Mar 19, 2012 4:33:53 PM (12 years ago)
Author:
eae@chromium.org
Message:

Source/WebCore: [mac/chromium] Change platform code to use pixelSnappedRect methods
https://bugs.webkit.org/show_bug.cgi?id=81016

Reviewed by Eric Seidel.

Change platform code to use Node::getPixelSnappedRect,
pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
to avoid exposing subpixel types to the platform layer.

No new tests.

  • WebCore.exp.in:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
Add pixelSnapped version of absoluteClippedOverflowRect

(WebCore):

  • rendering/RenderObject.h:

(RenderObject):

Source/WebKit/chromium: [mac/chromium] Change platform code to use pixelSnappedRect methods
https://bugs.webkit.org/show_bug.cgi?id=81016

Reviewed by Eric Seidel.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::computeBlockBounds):
(WebKit::WebViewImpl::applyAutofillSuggestions):
(WebKit::WebViewImpl::refreshAutofillPopup):

Source/WebKit/mac: [mac/chromium] Change platform code to use pixelSnappedRect methods
https://bugs.webkit.org/show_bug.cgi?id=81016

Reviewed by Eric Seidel.

  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView actualVisibleRectInWindow]):

  • WebView/WebFrame.mm:

(-[WebFrame _getVisibleRect:]):
(-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):

  • WebView/WebView.mm:

(-[WebView _dashboardRegions]):
(-[WebView trackedRepaintRects]):

Source/WebKit/qt: [mac/qt/chromium] Change platform code to use pixelSnappedRect methods
https://bugs.webkit.org/show_bug.cgi?id=81016

Reviewed by Eric Seidel.

  • Api/qwebelement.cpp:

(QWebElement::geometry):
(QWebElement::render):

Location:
trunk/Source
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r111267 r111268  
     12012-03-19  Emil A Eklund  <eae@chromium.org>
     2
     3        [mac/chromium] Change platform code to use pixelSnappedRect methods
     4        https://bugs.webkit.org/show_bug.cgi?id=81016
     5
     6        Reviewed by Eric Seidel.
     7
     8        Change platform code to use Node::getPixelSnappedRect,
     9        pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
     10        to avoid exposing subpixel types to the platform layer.
     11
     12        No new tests.
     13
     14        * WebCore.exp.in:
     15        * rendering/RenderObject.cpp:
     16        (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
     17        Add pixelSnapped version of absoluteClippedOverflowRect
     18       
     19        (WebCore):
     20        * rendering/RenderObject.h:
     21        (RenderObject):
     22
    1232012-03-19  Brady Eidson  <beidson@apple.com>
    224
  • trunk/Source/WebCore/WebCore.exp.in

    r111155 r111268  
    12211221__ZNK7WebCore12RenderObject20localToContainerQuadERKNS_9FloatQuadEPNS_20RenderBoxModelObjectEbPb
    12221222__ZNK7WebCore12RenderObject23absoluteBoundingBoxRectEb
     1223__ZNK7WebCore12RenderObject39pixelSnappedAbsoluteClippedOverflowRectEv
    12231224__ZNK7WebCore12RenderObject7childAtEj
    12241225__ZNK7WebCore12RenderWidget14windowClipRectEv
  • trunk/Source/WebCore/dom/Node.h

    r111048 r111268  
    376376    virtual bool shouldUseInputMethod();
    377377    virtual LayoutRect getRect() const;
     378    IntRect getPixelSnappedRect() const { return pixelSnappedIntRect(getRect()); }
    378379    LayoutRect renderRect(bool* isReplaced);
    379380
  • trunk/Source/WebKit/chromium/ChangeLog

    r111258 r111268  
     12012-03-19  Emil A Eklund  <eae@chromium.org>
     2
     3        [mac/chromium] Change platform code to use pixelSnappedRect methods
     4        https://bugs.webkit.org/show_bug.cgi?id=81016
     5
     6        Reviewed by Eric Seidel.
     7
     8        * src/WebViewImpl.cpp:
     9        (WebKit::WebViewImpl::computeBlockBounds):
     10        (WebKit::WebViewImpl::applyAutofillSuggestions):
     11        (WebKit::WebViewImpl::refreshAutofillPopup):
     12
    1132012-03-19  Eric Seidel  <eric@webkit.org>
    214
  • trunk/Source/WebKit/chromium/src/WebViewImpl.cpp

    r111258 r111268  
    861861    // Return the bounding box in the window coordinate system.
    862862    if (node) {
    863         IntRect rect = node->Node::getRect();
     863        IntRect rect = node->Node::getPixelSnappedRect();
    864864        Frame* frame = node->document()->frame();
    865865        return frame->view()->contentsToWindow(rect);
     
    27592759        refreshAutofillPopup();
    27602760    } else {
    2761         m_autofillPopup->showInRect(focusedNode->getRect(), focusedNode->ownerDocument()->view(), 0);
     2761        m_autofillPopup->showInRect(focusedNode->getPixelSnappedRect(), focusedNode->ownerDocument()->view(), 0);
    27622762        m_autofillPopupShowing = true;
    27632763    }
     
    30343034
    30353035    IntRect oldBounds = m_autofillPopup->frameRect();
    3036     m_autofillPopup->refresh(focusedWebCoreNode()->getRect());
     3036    m_autofillPopup->refresh(focusedWebCoreNode()->getPixelSnappedRect());
    30373037    IntRect newBounds = m_autofillPopup->frameRect();
    30383038    // Let's resize the backing window if necessary.
  • trunk/Source/WebKit/mac/ChangeLog

    r111080 r111268  
     12012-03-19  Emil A Eklund  <eae@chromium.org>
     2
     3        [mac/chromium] Change platform code to use pixelSnappedRect methods
     4        https://bugs.webkit.org/show_bug.cgi?id=81016
     5
     6        Reviewed by Eric Seidel.
     7
     8        * Plugins/WebBaseNetscapePluginView.mm:
     9        (-[WebBaseNetscapePluginView actualVisibleRectInWindow]):
     10        * WebView/WebFrame.mm:
     11        (-[WebFrame _getVisibleRect:]):
     12        (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
     13        * WebView/WebView.mm:
     14        (-[WebView _dashboardRegions]):
     15        (-[WebView trackedRepaintRects]):
     16
    1172012-03-16  Brady Eidson  <beidson@apple.com>
    218
  • trunk/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm

    r105552 r111268  
    876876        return NSZeroRect;
    877877
    878     IntRect widgetRect = renderer->absoluteClippedOverflowRect();
     878    IntRect widgetRect = renderer->pixelSnappedAbsoluteClippedOverflowRect();
    879879    widgetRect = frameView->contentsToWindow(widgetRect);
    880880    return intersection(toRenderWidget(renderer)->windowClipRect(), widgetRect);
  • trunk/Source/WebKit/mac/WebView/WebFrame.mm

    r109761 r111268  
    584584        if (ownerRenderer->needsLayout())
    585585            return NO;
    586         *rect = ownerRenderer->absoluteClippedOverflowRect();
     586        *rect = ownerRenderer->pixelSnappedAbsoluteClippedOverflowRect();
    587587        return YES;
    588588    }
     
    12941294        return [NSArray array];
    12951295
    1296     const IntRect& documentRect = root->documentRect();
    1297     float printWidth = root->style()->isHorizontalWritingMode() ? documentRect.width() / printScaleFactor : pageSize.width;
    1298     float printHeight = root->style()->isHorizontalWritingMode() ? pageSize.height : documentRect.height() / printScaleFactor;
     1296    const LayoutRect& documentRect = root->documentRect();
     1297    float printWidth = root->style()->isHorizontalWritingMode() ? static_cast<float>(documentRect.width()) / printScaleFactor : pageSize.width;
     1298    float printHeight = root->style()->isHorizontalWritingMode() ? pageSize.height : static_cast<float>(documentRect.height()) / printScaleFactor;
    12991299
    13001300    PrintContext printContext(_private->coreFrame);
  • trunk/Source/WebKit/mac/WebView/WebView.mm

    r111028 r111268  
    20352035        }
    20362036
    2037         WebDashboardRegion *webRegion = [[WebDashboardRegion alloc] initWithRect:region.bounds clip:region.clip type:type];
     2037        WebDashboardRegion *webRegion = [[WebDashboardRegion alloc] initWithRect:pixelSnappedIntRect(region.bounds) clip:pixelSnappedIntRect(region.clip) type:type];
    20382038        [regionValues addObject:webRegion];
    20392039        [webRegion release];
     
    24962496   
    24972497    for (unsigned i = 0; i < repaintRects.size(); ++i)
    2498         [rectsArray addObject:[NSValue valueWithRect:repaintRects[i]]];
     2498        [rectsArray addObject:[NSValue valueWithRect:pixelSnappedIntRect(repaintRects[i])]];
    24992499
    25002500    return [rectsArray autorelease];
  • trunk/Source/WebKit/qt/Api/qwebelement.cpp

    r110190 r111268  
    14961496    view->updateLayoutAndStyleIfNeededRecursive();
    14971497
    1498     IntRect rect = e->getRect();
     1498    IntRect rect = e->getPixelSnappedRect();
    14991499
    15001500    if (rect.size().isEmpty())
  • trunk/Source/WebKit/qt/ChangeLog

    r111002 r111268  
     12012-03-19  Emil A Eklund  <eae@chromium.org>
     2
     3        [mac/qt/chromium] Change platform code to use pixelSnappedRect methods
     4        https://bugs.webkit.org/show_bug.cgi?id=81016
     5
     6        Reviewed by Eric Seidel.
     7
     8        * Api/qwebelement.cpp:
     9        (QWebElement::geometry):
     10        (QWebElement::render):
     11
    1122012-03-16  Teemu Katajisto  <teemu.katajisto@digia.com>
    213
Note: See TracChangeset for help on using the changeset viewer.