Changeset 96859 in webkit


Ignore:
Timestamp:
Oct 6, 2011 2:36:30 PM (12 years ago)
Author:
fsamuel@chromium.org
Message:

Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
https://bugs.webkit.org/show_bug.cgi?id=69009

Reviewed by Simon Fraser.

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

Upcoming patches may make use of absoluteBoundingBoxRect on a const RenderObject, so this needed to be fixed.
Making useTransforms default to true instead of false and replacing instances of absoluteBoundingBoxRect() to
absoluteBoundingBoxRectIgnoringTransforms() partially addreses FIXME: useTransforms should go away eventually.

  • WebCore.exp.in:
  • dom/Element.cpp:

(WebCore::Element::screenRect):

  • dom/Node.cpp:

(WebCore::Node::getRect):
(WebCore::Node::renderRect):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::InputFieldSpeechButtonElement::startSpeechInput):

  • inspector/DOMNodeHighlighter.cpp:
  • plugins/IFrameShimSupport.cpp:

(WebCore::getPluginOcclusions):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::absoluteRects):
(WebCore::RenderBlock::absoluteQuads):

  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::absoluteRects):
(WebCore::RenderBox::absoluteQuads):

  • rendering/RenderBox.h:
  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::paintObject):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::flattenFrame):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::culledInlineAbsoluteRects):
(WebCore::RenderInline::absoluteQuads):
(WebCore::RenderInline::culledInlineAbsoluteQuads):

  • rendering/RenderInline.h:
  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::showPopup):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::absoluteBoundingBoxRect):
(WebCore::RenderObject::addAbsoluteRectForLayer):
(WebCore::RenderObject::paintingRootRect):

  • rendering/RenderObject.h:

(WebCore::RenderObject::absoluteRects):
(WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
(WebCore::RenderObject::absoluteQuads):

  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRects):
(WebCore::RenderText::absoluteQuads):

  • rendering/RenderText.h:
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::showPopup):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
(WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeSafari::paintSearchFieldResultsButton):

  • rendering/RenderView.cpp:

(WebCore::RenderView::absoluteRects):
(WebCore::RenderView::absoluteQuads):

  • rendering/RenderView.h:
  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::absoluteRects):

  • rendering/svg/RenderSVGBlock.h:
  • rendering/svg/RenderSVGHiddenContainer.cpp:

(WebCore::RenderSVGHiddenContainer::absoluteQuads):

  • rendering/svg/RenderSVGHiddenContainer.h:
  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::absoluteQuads):

  • rendering/svg/RenderSVGInline.h:
  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::absoluteRects):
(WebCore::RenderSVGModelObject::absoluteQuads):

  • rendering/svg/RenderSVGModelObject.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::absoluteQuads):

  • rendering/svg/RenderSVGText.h:
  • testing/Internals.cpp:

(WebCore::Internals::boundingBox):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebHitTestResultPrivate::QWebHitTestResultPrivate):

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
Location:
trunk
Files:
43 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r96857 r96859  
     12011-10-06  Fady Samuel  <fsamuel@chromium.org>
     2
     3        Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
     4        https://bugs.webkit.org/show_bug.cgi?id=69009
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Source/autotools/symbols.filter:
     9
    1102011-10-06  Simon Hausmann  <simon.hausmann@nokia.com>
    211
  • trunk/Source/WebCore/ChangeLog

    r96857 r96859  
     12011-10-06  Fady Samuel  <fsamuel@chromium.org>
     2
     3        Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
     4        https://bugs.webkit.org/show_bug.cgi?id=69009
     5
     6        Reviewed by Simon Fraser.
     7
     8        Upcoming patches may make use of absoluteBoundingBoxRect on a const RenderObject, so this needed to be fixed.
     9        Making useTransforms default to true instead of false and replacing instances of absoluteBoundingBoxRect() to
     10        absoluteBoundingBoxRectIgnoringTransforms() partially addreses // FIXME: useTransforms should go away eventually.
     11
     12        * WebCore.exp.in:
     13        * dom/Element.cpp:
     14        (WebCore::Element::screenRect):
     15        * dom/Node.cpp:
     16        (WebCore::Node::getRect):
     17        (WebCore::Node::renderRect):
     18        * html/shadow/SliderThumbElement.cpp:
     19        (WebCore::SliderThumbElement::setPositionFromPoint):
     20        * html/shadow/TextControlInnerElements.cpp:
     21        (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
     22        * inspector/DOMNodeHighlighter.cpp:
     23        * plugins/IFrameShimSupport.cpp:
     24        (WebCore::getPluginOcclusions):
     25        * rendering/RenderBlock.cpp:
     26        (WebCore::RenderBlock::absoluteRects):
     27        (WebCore::RenderBlock::absoluteQuads):
     28        * rendering/RenderBlock.h:
     29        * rendering/RenderBox.cpp:
     30        (WebCore::RenderBox::absoluteRects):
     31        (WebCore::RenderBox::absoluteQuads):
     32        * rendering/RenderBox.h:
     33        * rendering/RenderFileUploadControl.cpp:
     34        (WebCore::RenderFileUploadControl::paintObject):
     35        * rendering/RenderIFrame.cpp:
     36        (WebCore::RenderIFrame::flattenFrame):
     37        * rendering/RenderInline.cpp:
     38        (WebCore::RenderInline::absoluteRects):
     39        (WebCore::RenderInline::culledInlineAbsoluteRects):
     40        (WebCore::RenderInline::absoluteQuads):
     41        (WebCore::RenderInline::culledInlineAbsoluteQuads):
     42        * rendering/RenderInline.h:
     43        * rendering/RenderMenuList.cpp:
     44        (WebCore::RenderMenuList::showPopup):
     45        * rendering/RenderObject.cpp:
     46        (WebCore::RenderObject::absoluteBoundingBoxRect):
     47        (WebCore::RenderObject::addAbsoluteRectForLayer):
     48        (WebCore::RenderObject::paintingRootRect):
     49        * rendering/RenderObject.h:
     50        (WebCore::RenderObject::absoluteRects):
     51        (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
     52        (WebCore::RenderObject::absoluteQuads):
     53        * rendering/RenderText.cpp:
     54        (WebCore::RenderText::absoluteRects):
     55        (WebCore::RenderText::absoluteQuads):
     56        * rendering/RenderText.h:
     57        * rendering/RenderTextControlSingleLine.cpp:
     58        (WebCore::RenderTextControlSingleLine::showPopup):
     59        * rendering/RenderThemeSafari.cpp:
     60        (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
     61        (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
     62        (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
     63        * rendering/RenderView.cpp:
     64        (WebCore::RenderView::absoluteRects):
     65        (WebCore::RenderView::absoluteQuads):
     66        * rendering/RenderView.h:
     67        * rendering/svg/RenderSVGBlock.cpp:
     68        (WebCore::RenderSVGBlock::absoluteRects):
     69        * rendering/svg/RenderSVGBlock.h:
     70        * rendering/svg/RenderSVGHiddenContainer.cpp:
     71        (WebCore::RenderSVGHiddenContainer::absoluteQuads):
     72        * rendering/svg/RenderSVGHiddenContainer.h:
     73        * rendering/svg/RenderSVGInline.cpp:
     74        (WebCore::RenderSVGInline::absoluteQuads):
     75        * rendering/svg/RenderSVGInline.h:
     76        * rendering/svg/RenderSVGModelObject.cpp:
     77        (WebCore::RenderSVGModelObject::absoluteRects):
     78        (WebCore::RenderSVGModelObject::absoluteQuads):
     79        * rendering/svg/RenderSVGModelObject.h:
     80        * rendering/svg/RenderSVGText.cpp:
     81        (WebCore::RenderSVGText::absoluteQuads):
     82        * rendering/svg/RenderSVGText.h:
     83        * testing/Internals.cpp:
     84        (WebCore::Internals::boundingBox):
     85
    1862011-10-06  Simon Hausmann  <simon.hausmann@nokia.com>
    287
  • trunk/Source/WebCore/WebCore.exp.in

    r96823 r96859  
    282282__ZN7WebCore12PrintContextD1Ev
    283283__ZN7WebCore12RenderObject16repaintRectangleERKNS_7IntRectEb
    284 __ZN7WebCore12RenderObject23absoluteBoundingBoxRectEb
    285284__ZN7WebCore12RenderWidget28resumeWidgetHierarchyUpdatesEv
    286285__ZN7WebCore12RenderWidget29suspendWidgetHierarchyUpdatesEv
     
    11401139__ZNK7WebCore12IconDatabase24shouldStopThreadActivityEv
    11411140__ZNK7WebCore12IconDatabase9isEnabledEv
     1141__ZNK7WebCore12RenderObject23absoluteBoundingBoxRectEb
    11421142__ZNK7WebCore12RenderObject14enclosingLayerEv
    11431143__ZNK7WebCore12RenderObject15localToAbsoluteERKNS_10FloatPointEbb
  • trunk/Source/WebCore/dom/Element.cpp

    r96106 r96859  
    574574    if (!renderer())
    575575        return LayoutRect();
    576     return renderer()->view()->frameView()->contentsToScreen(renderer()->absoluteBoundingBoxRect());
     576    // FIXME: this should probably respect transforms
     577    return renderer()->view()->frameView()->contentsToScreen(renderer()->absoluteBoundingBoxRectIgnoringTransforms());
    577578}
    578579
  • trunk/Source/WebCore/dom/Node.cpp

    r96803 r96859  
    819819{
    820820    if (renderer())
    821         return renderer()->absoluteBoundingBoxRect(true);
     821        return renderer()->absoluteBoundingBoxRect();
    822822    return LayoutRect();
    823823}
     
    831831        if (renderer->isRenderBlock() || renderer->isInlineBlockOrInlineTable() || renderer->isReplaced()) {
    832832            *isReplaced = renderer->isReplaced();
    833             return renderer->absoluteBoundingBoxRect(true);
     833            return renderer->absoluteBoundingBoxRect();
    834834        }
    835835        renderer = renderer->parent();
  • trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp

    r95901 r96859  
    217217    // renderer for this node is usually on a layer and renderBox()->x() and
    218218    // y() are unusable.
    219     LayoutPoint absoluteThumbOrigin = renderBox()->absoluteBoundingBoxRect().location();
     219    // FIXME: This should probably respect transforms.
     220    LayoutPoint absoluteThumbOrigin = renderBox()->absoluteBoundingBoxRectIgnoringTransforms().location();
    220221    LayoutPoint absoluteSliderContentOrigin = roundedLayoutPoint(input->renderer()->localToAbsolute());
    221222    if (isVertical) {
  • trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp

    r95722 r96859  
    536536    AtomicString language = input->computeInheritedLanguage();
    537537    String grammar = input->getAttribute(webkitgrammarAttr);
    538     IntRect rect = renderer()->absoluteBoundingBoxRect();
     538    // FIXME: this should probably respect transforms
     539    IntRect rect = renderer()->absoluteBoundingBoxRectIgnoringTransforms();
    539540    if (speechInput()->startRecognition(m_listenerId, rect, language, grammar, document()->securityOrigin()))
    540541        setState(Recording);
  • trunk/Source/WebCore/inspector/DOMNodeHighlighter.cpp

    r95901 r96859  
    362362
    363363    LayoutSize mainFrameOffset = frameToMainFrameOffset(containingFrame);
    364     LayoutRect boundingBox = renderer->absoluteBoundingBoxRect(true);
     364    LayoutRect boundingBox = renderer->absoluteBoundingBoxRect();
    365365
    366366    boundingBox.move(mainFrameOffset);
  • trunk/Source/WebCore/plugins/IFrameShimSupport.cpp

    r95901 r96859  
    153153
    154154        if (element->hasTagName(HTMLNames::iframeTag)
    155             && iframeRenderer->absoluteBoundingBoxRect().intersects(frameRect)
     155            && iframeRenderer->absoluteBoundingBoxRectIgnoringTransforms().intersects(frameRect)
    156156            && (!iframeRenderer->style() || iframeRenderer->style()->visibility() == VISIBLE)) {
    157157            getObjectStack(iframeRenderer, &iframeZstack);
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    r96842 r96859  
    58805880}
    58815881
    5882 void RenderBlock::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset)
     5882void RenderBlock::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const
    58835883{
    58845884    // For blocks inside inlines, we go ahead and include margins so that we run right up to the
     
    58965896}
    58975897
    5898 void RenderBlock::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed)
     5898void RenderBlock::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
    58995899{
    59005900    // For blocks inside inlines, we go ahead and include margins so that we run right up to the
  • trunk/Source/WebCore/rendering/RenderBlock.h

    r96675 r96859  
    742742    LayoutUnit logicalRightSelectionOffset(RenderBlock* rootBlock, LayoutUnit position);
    743743   
    744     virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset);
    745     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     744    virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const;
     745    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    746746
    747747    LayoutUnit desiredColumnWidth() const;
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r96620 r96859  
    517517}
    518518
    519 void RenderBox::absoluteRects(Vector<IntRect>& rects, const LayoutPoint& accumulatedOffset)
     519void RenderBox::absoluteRects(Vector<IntRect>& rects, const LayoutPoint& accumulatedOffset) const
    520520{
    521521    rects.append(LayoutRect(accumulatedOffset, size()));
    522522}
    523523
    524 void RenderBox::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed)
     524void RenderBox::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
    525525{
    526526    quads.append(localToAbsoluteQuad(FloatRect(0, 0, width(), height()), false, wasFixed));
  • trunk/Source/WebCore/rendering/RenderBox.h

    r96620 r96859  
    235235    virtual LayoutUnit collapsedMarginAfter() const { return marginAfter(); }
    236236
    237     virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset);
    238     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     237    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const;
     238    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    239239   
    240240    IntRect reflectionBox() const;
  • trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp

    r95502 r96859  
    133133        // We want to match the button's baseline
    134134        RenderButton* buttonRenderer = toRenderButton(button->renderer());
    135         LayoutUnit textY = buttonRenderer->absoluteBoundingBoxRect().y()
     135        // FIXME: Make this work with transforms.
     136        LayoutUnit textY = buttonRenderer->absoluteBoundingBoxRectIgnoringTransforms().y()
    136137            + buttonRenderer->baselinePosition(AlphabeticBaseline, true, HorizontalLine, PositionOnContainingLine);
    137138
  • trunk/Source/WebCore/rendering/RenderIFrame.cpp

    r94912 r96859  
    106106
    107107    // Do not flatten offscreen inner frames during frame flattening, as flattening might make them visible.
    108     IntRect boundingRect = absoluteBoundingBoxRect();
     108    IntRect boundingRect = absoluteBoundingBoxRectIgnoringTransforms();
    109109    return boundingRect.maxX() > 0 && boundingRect.maxY() > 0;
    110110}
  • trunk/Source/WebCore/rendering/RenderInline.cpp

    r95777 r96859  
    467467}
    468468
    469 void RenderInline::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset)
     469void RenderInline::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const
    470470{
    471471    if (!alwaysCreateLineBoxes())
     
    486486}
    487487
    488 void RenderInline::culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>& rects, const LayoutSize& offset)
     488void RenderInline::culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>& rects, const LayoutSize& offset) const
    489489{
    490490    if (!culledInlineFirstLineBox()) {
     
    554554}
    555555
    556 void RenderInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed)
     556void RenderInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
    557557{
    558558    if (!alwaysCreateLineBoxes())
     
    570570}
    571571
    572 void RenderInline::culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>& quads)
     572void RenderInline::culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>& quads) const
    573573{
    574574    if (!culledInlineFirstLineBox()) {
  • trunk/Source/WebCore/rendering/RenderInline.h

    r93333 r96859  
    4747    virtual LayoutUnit marginEnd() const;
    4848
    49     virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset);
    50     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     49    virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const;
     50    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    5151
    5252    virtual LayoutSize offsetFromContainer(RenderObject*, const LayoutPoint&) const;
     
    103103    InlineBox* culledInlineFirstLineBox() const;
    104104    InlineBox* culledInlineLastLineBox() const;
    105     void culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>&, const LayoutSize&);
    106     void culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>&);
     105    void culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>&, const LayoutSize&) const;
     106    void culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>&) const;
    107107
    108108    void addChildToContinuation(RenderObject* newChild, RenderObject* beforeChild);
  • trunk/Source/WebCore/rendering/RenderMenuList.cpp

    r95502 r96859  
    303303    // the actual width of the element to size the popup.
    304304    FloatPoint absTopLeft = localToAbsolute(FloatPoint(), false, true);
    305     LayoutRect absBounds = absoluteBoundingBoxRect();
     305    LayoutRect absBounds = absoluteBoundingBoxRectIgnoringTransforms();
    306306    absBounds.setLocation(roundedIntPoint(absTopLeft));
    307307    m_popup->show(absBounds, document()->view(),
  • trunk/Source/WebCore/rendering/RenderObject.cpp

    r96620 r96859  
    11661166}
    11671167
    1168 IntRect RenderObject::absoluteBoundingBoxRect(bool useTransforms)
     1168IntRect RenderObject::absoluteBoundingBoxRect(bool useTransforms) const
    11691169{
    11701170    if (useTransforms) {
     
    12161216{
    12171217    if (hasLayer())
    1218         result.unite(absoluteBoundingBoxRect());
     1218        result.unite(absoluteBoundingBoxRectIgnoringTransforms());
    12191219    for (RenderObject* current = firstChild(); current; current = current->nextSibling())
    12201220        current->addAbsoluteRectForLayer(result);
     
    12231223LayoutRect RenderObject::paintingRootRect(LayoutRect& topLevelRect)
    12241224{
    1225     LayoutRect result = absoluteBoundingBoxRect();
     1225    LayoutRect result = absoluteBoundingBoxRectIgnoringTransforms();
    12261226    topLevelRect = result;
    12271227    for (RenderObject* current = firstChild(); current; current = current->nextSibling())
  • trunk/Source/WebCore/rendering/RenderObject.h

    r96566 r96859  
    639639    LayoutSize offsetFromAncestorContainer(RenderObject*) const;
    640640   
    641     virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint&) { }
     641    virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint&) const { }
     642
    642643    // FIXME: useTransforms should go away eventually
    643     IntRect absoluteBoundingBoxRect(bool useTransforms = false);
     644    IntRect absoluteBoundingBoxRect(bool useTransform = true) const;
     645    IntRect absoluteBoundingBoxRectIgnoringTransforms() const { return absoluteBoundingBoxRect(false); }
    644646
    645647    // Build an array of quads in absolute coords for line boxes
    646     virtual void absoluteQuads(Vector<FloatQuad>&, bool* /*wasFixed*/ = 0) { }
     648    virtual void absoluteQuads(Vector<FloatQuad>&, bool* /*wasFixed*/ = 0) const { }
    647649
    648650    void absoluteFocusRingQuads(Vector<FloatQuad>&);
  • trunk/Source/WebCore/rendering/RenderText.cpp

    r96187 r96859  
    302302}
    303303
    304 void RenderText::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset)
     304void RenderText::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const
    305305{
    306306    for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox())
     
    389389}
    390390   
    391 void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed, ClippingOption option)
     391void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed, ClippingOption option) const
    392392{
    393393    for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) {
     
    406406}
    407407   
    408 void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed)
     408void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
    409409{
    410410    absoluteQuads(quads, wasFixed, NoClipping);
  • trunk/Source/WebCore/rendering/RenderText.h

    r96187 r96859  
    5555    void dirtyLineBoxes(bool fullLayout);
    5656
    57     virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset);
     57    virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const;
    5858    void absoluteRectsForRange(Vector<IntRect>&, unsigned startOffset = 0, unsigned endOffset = UINT_MAX, bool useSelectionHeight = false, bool* wasFixed = 0);
    5959
    60     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     60    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    6161    void absoluteQuadsForRange(Vector<FloatQuad>&, unsigned startOffset = 0, unsigned endOffset = UINT_MAX, bool useSelectionHeight = false, bool* wasFixed = 0);
    6262
    6363    enum ClippingOption { NoClipping, ClipToEllipsis };
    64     void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed = 0, ClippingOption = NoClipping);
     64    void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed = 0, ClippingOption = NoClipping) const;
    6565
    6666    virtual VisiblePosition positionForPoint(const LayoutPoint&);
  • trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp

    r95901 r96859  
    175175    }
    176176
    177     m_searchPopup->popupMenu()->show(absoluteBoundingBoxRect(true), document()->view(), -1);
     177    m_searchPopup->popupMenu()->show(absoluteBoundingBoxRect(), document()->view(), -1);
    178178}
    179179
  • trunk/Source/WebCore/rendering/RenderThemeSafari.cpp

    r96547 r96859  
    10811081    ASSERT(renderer);
    10821082
    1083     IntRect searchRect = renderer->absoluteBoundingBoxRect();
     1083    IntRect searchRect = renderer->absoluteBoundingBoxRectIgnoringTransforms();
    10841084
    10851085    paintThemePart(SafariTheme::SearchFieldCancelButtonPart, paintInfo.context->platformContext(), searchRect, controlSizeFromRect(searchRect, searchFieldSizes()), determineState(o));
     
    11351135    ASSERT(renderer);
    11361136
    1137     IntRect searchRect = renderer->absoluteBoundingBoxRect();
     1137    IntRect searchRect = renderer->absoluteBoundingBoxRectIgnoringTransforms();
    11381138
    11391139    paintThemePart(SafariTheme::SearchFieldResultsDecorationPart, paintInfo.context->platformContext(), searchRect, controlSizeFromRect(searchRect, searchFieldSizes()), determineState(o));
     
    11581158    ASSERT(renderer);
    11591159
    1160     IntRect searchRect = renderer->absoluteBoundingBoxRect();
     1160    IntRect searchRect = renderer->absoluteBoundingBoxRectIgnoringTransforms();
    11611161
    11621162    paintThemePart(SafariTheme::SearchFieldResultsButtonPart, paintInfo.context->platformContext(), searchRect, controlSizeFromRect(searchRect, searchFieldSizes()), determineState(o));
  • trunk/Source/WebCore/rendering/RenderView.cpp

    r96445 r96859  
    330330}
    331331
    332 void RenderView::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset)
     332void RenderView::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const
    333333{
    334334    rects.append(LayoutRect(accumulatedOffset, m_layer->size()));
    335335}
    336336
    337 void RenderView::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed)
     337void RenderView::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
    338338{
    339339    if (wasFixed)
  • trunk/Source/WebCore/rendering/RenderView.h

    r96620 r96859  
    8787    bool printing() const;
    8888
    89     virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset);
    90     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     89    virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const;
     90    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    9191
    9292#if USE(ACCELERATED_COMPOSITING)
  • trunk/Source/WebCore/rendering/svg/RenderSVGBlock.cpp

    r93050 r96859  
    7979}
    8080
    81 void RenderSVGBlock::absoluteRects(Vector<LayoutRect>&, const LayoutPoint&)
     81void RenderSVGBlock::absoluteRects(Vector<LayoutRect>&, const LayoutPoint&) const
    8282{
    8383    // This code path should never be taken for SVG, as we're assuming useTransforms=true everywhere, absoluteQuads should be used.
  • trunk/Source/WebCore/rendering/svg/RenderSVGBlock.h

    r93050 r96859  
    3939    virtual void updateBoxModelInfoFromStyle();
    4040
    41     virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset);
     41    virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const;
    4242
    4343    virtual void willBeDestroyed();
  • trunk/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp

    r93050 r96859  
    4545}
    4646
    47 void RenderSVGHiddenContainer::absoluteQuads(Vector<FloatQuad>&, bool*)
     47void RenderSVGHiddenContainer::absoluteQuads(Vector<FloatQuad>&, bool*) const
    4848{
    4949    // This subtree does not take up space or paint
  • trunk/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h

    r93440 r96859  
    4545   
    4646    virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject*) const { return LayoutRect(); }
    47     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     47    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    4848
    4949    virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction);
  • trunk/Source/WebCore/rendering/svg/RenderSVGInline.cpp

    r96558 r96859  
    8383}
    8484
    85 void RenderSVGInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed)
     85void RenderSVGInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
    8686{
    87     RenderObject* object = RenderSVGText::locateRenderSVGTextAncestor(this);
     87    const RenderObject* object = RenderSVGText::locateRenderSVGTextAncestor(this);
    8888    if (!object)
    8989        return;
  • trunk/Source/WebCore/rendering/svg/RenderSVGInline.h

    r93440 r96859  
    4949    virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect&, bool fixed = false) const;
    5050    virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&, bool* wasFixed = 0) const;
    51     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     51    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    5252
    5353private:
  • trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp

    r96558 r96859  
    7171}
    7272
    73 void RenderSVGModelObject::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset)
     73void RenderSVGModelObject::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const
    7474{
    7575    LayoutRect rect = enclosingLayoutRect(strokeBoundingBox());
     
    7878}
    7979
    80 void RenderSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed)
     80void RenderSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
    8181{
    8282    quads.append(localToAbsoluteQuad(strokeBoundingBox(), false, wasFixed));
  • trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h

    r95901 r96859  
    5656    virtual LayoutRect outlineBoundsForRepaint(RenderBoxModelObject* repaintContainer, LayoutPoint*) const;
    5757
    58     virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset);
    59     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     58    virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const;
     59    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    6060
    6161    virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&, bool* wasFixed = 0) const;
  • trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp

    r96558 r96859  
    226226}
    227227
    228 void RenderSVGText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed)
     228void RenderSVGText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
    229229{
    230230    quads.append(localToAbsoluteQuad(strokeBoundingBox(), false, wasFixed));
  • trunk/Source/WebCore/rendering/svg/RenderSVGText.h

    r93440 r96859  
    6161    virtual void layout();
    6262
    63     virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed);
     63    virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const;
    6464
    6565    virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
  • trunk/Source/WebCore/testing/Internals.cpp

    r96593 r96859  
    203203    if (!renderer)
    204204        return ClientRect::create();
    205     return ClientRect::create(renderer->absoluteBoundingBoxRect());
     205    return ClientRect::create(renderer->absoluteBoundingBoxRectIgnoringTransforms());
    206206}
    207207
  • trunk/Source/WebKit/qt/Api/qwebframe.cpp

    r94620 r96859  
    17521752    innerNode = hitTest.innerNode();
    17531753    innerNonSharedNode = hitTest.innerNonSharedNode();
    1754     boundingRect = innerNonSharedNode ? innerNonSharedNode->renderer()->absoluteBoundingBoxRect(true) : IntRect();
     1754    boundingRect = innerNonSharedNode ? innerNonSharedNode->renderer()->absoluteBoundingBoxRect() : IntRect();
    17551755    WebCore::Image *img = hitTest.image();
    17561756    if (img) {
  • trunk/Source/WebKit/qt/ChangeLog

    r96857 r96859  
     12011-10-06  Fady Samuel  <fsamuel@chromium.org>
     2
     3        Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
     4        https://bugs.webkit.org/show_bug.cgi?id=69009
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Api/qwebframe.cpp:
     9        (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
     10
    1112011-10-06  Simon Hausmann  <simon.hausmann@nokia.com>
    212
  • trunk/Source/WebKit2/ChangeLog

    r96858 r96859  
     12011-10-06  Fady Samuel  <fsamuel@chromium.org>
     2
     3        Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
     4        https://bugs.webkit.org/show_bug.cgi?id=69009
     5
     6        Reviewed by Simon Fraser.
     7
     8        * win/WebKit2.def:
     9        * win/WebKit2CFLite.def:
     10
    1112011-10-06  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
    212
  • trunk/Source/WebKit2/win/WebKit2.def

    r96593 r96859  
    144144        ??0String@WTF@@QAE@PBD@Z
    145145        ??0String@WTF@@QAE@PB_W@Z
    146         ?absoluteBoundingBoxRect@RenderObject@WebCore@@QAE?AVIntRect@2@_N@Z
     146        ?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z
     147        ?absoluteBoundingBoxRectIgnoringTransforms@RenderObject@WebCore@@QBE?AVIntRect@2@XZ
    147148        ?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBD@Z
    148149        ?addSlowCase@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PAVStringImpl@2@@Z
  • trunk/Source/WebKit2/win/WebKit2CFLite.def

    r96593 r96859  
    136136        ??1NodeRenderingContext@WebCore@@QAE@XZ
    137137        ??1Range@WebCore@@QAE@XZ
    138         ?absoluteBoundingBoxRect@RenderObject@WebCore@@QAE?AVIntRect@2@_N@Z
     138        ?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z
     139        ?absoluteBoundingBoxRectIgnoringTransforms@RenderObject@WebCore@@QBE?AVIntRect@2@XZ
    139140        ?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBD@Z
    140141        ?addSlowCase@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PAVStringImpl@2@@Z
  • trunk/Source/autotools/symbols.filter

    r96593 r96859  
    4242_ZN7WebCore11EventTarget8toStreamEv;
    4343_ZN7WebCore12JSDOMWrapper34virtualFunctionToPreventWeakVtableEv;
    44 _ZN7WebCore12RenderObject23absoluteBoundingBoxRectEb;
     44_ZNK7WebCore12RenderObject23absoluteBoundingBoxRectEb;
    4545_ZN7WebCore13createWrapperEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_4NodeE;
    4646_ZN7WebCore15setDOMExceptionEPN3JSC9ExecStateEi;
Note: See TracChangeset for help on using the changeset viewer.