WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch for landing
bug-69009-20111006165550.patch (text/plain), 45.31 KB, created by
Fady Samuel
on 2011-10-06 13:55:52 PDT
(
hide
)
Description:
Patch for landing
Filename:
MIME Type:
Creator:
Fady Samuel
Created:
2011-10-06 13:55:52 PDT
Size:
45.31 KB
patch
obsolete
>Subversion Revision: 96854 >diff --git a/ChangeLog b/ChangeLog >index fff1a76ca57101cf51fe5337bdf9bc9a28f293f5..72367491a7fd89061029cfb779a4dd2d77edcc67 100644 >--- a/ChangeLog >+++ b/ChangeLog >@@ -1,3 +1,12 @@ >+2011-10-06 Fady Samuel <fsamuel@chromium.org> >+ >+ 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: >+ > 2011-10-06 Nayan Kumar K <nayankk@motorola.com> > > Provide configure option to switch between JSC and V8. >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 51055ba2197b300b4b47c9be15b407990e583891..d22b5ac1d27758890dff653073da4e34f6573bc0 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,88 @@ >+2011-10-06 Fady Samuel <fsamuel@chromium.org> >+ >+ 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. >+ >+ 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): >+ > 2011-10-06 Gavin Peters <gavinp@chromium.org> > > conditionalize m_cachedScript stacks to just Chromium port >diff --git a/Source/WebCore/WebCore.exp.in b/Source/WebCore/WebCore.exp.in >index 3efc42c0f34c449745b71014ae72783327c2fd06..1df4d7ff129500bc7f676c0cb5148ec972a08ffa 100644 >--- a/Source/WebCore/WebCore.exp.in >+++ b/Source/WebCore/WebCore.exp.in >@@ -281,7 +281,6 @@ __ZN7WebCore12PrintContext9spoolRectERNS_15GraphicsContextERKNS_7IntRectE > __ZN7WebCore12PrintContextC1EPNS_5FrameE > __ZN7WebCore12PrintContextD1Ev > __ZN7WebCore12RenderObject16repaintRectangleERKNS_7IntRectEb >-__ZN7WebCore12RenderObject23absoluteBoundingBoxRectEb > __ZN7WebCore12RenderWidget28resumeWidgetHierarchyUpdatesEv > __ZN7WebCore12RenderWidget29suspendWidgetHierarchyUpdatesEv > __ZN7WebCore12SharedBuffer10wrapNSDataEP6NSData >@@ -1139,6 +1138,7 @@ __ZNK7WebCore11ScriptValue9getStringEPN3JSC9ExecStateERN3WTF6StringE > __ZNK7WebCore12IconDatabase12databasePathEv > __ZNK7WebCore12IconDatabase24shouldStopThreadActivityEv > __ZNK7WebCore12IconDatabase9isEnabledEv >+__ZNK7WebCore12RenderObject23absoluteBoundingBoxRectEb > __ZNK7WebCore12RenderObject14enclosingLayerEv > __ZNK7WebCore12RenderObject15localToAbsoluteERKNS_10FloatPointEbb > __ZNK7WebCore12RenderObject4viewEv >diff --git a/Source/WebCore/dom/Element.cpp b/Source/WebCore/dom/Element.cpp >index b16623baac93101b13c234d4334567be2e67e60e..e8033e352d37af3b7b00c227ee732cb4d0bdf42e 100644 >--- a/Source/WebCore/dom/Element.cpp >+++ b/Source/WebCore/dom/Element.cpp >@@ -573,7 +573,8 @@ LayoutRect Element::screenRect() const > { > if (!renderer()) > return LayoutRect(); >- return renderer()->view()->frameView()->contentsToScreen(renderer()->absoluteBoundingBoxRect()); >+ // FIXME: this should probably respect transforms >+ return renderer()->view()->frameView()->contentsToScreen(renderer()->absoluteBoundingBoxRectIgnoringTransforms()); > } > > static inline bool shouldIgnoreAttributeCase(const Element* e) >diff --git a/Source/WebCore/dom/Node.cpp b/Source/WebCore/dom/Node.cpp >index 8959f0b6f760efabbac7819fcefb735276a4329b..471299021c261ae688022b1ad72eaeec71abb61f 100644 >--- a/Source/WebCore/dom/Node.cpp >+++ b/Source/WebCore/dom/Node.cpp >@@ -818,7 +818,7 @@ RenderBoxModelObject* Node::renderBoxModelObject() const > LayoutRect Node::getRect() const > { > if (renderer()) >- return renderer()->absoluteBoundingBoxRect(true); >+ return renderer()->absoluteBoundingBoxRect(); > return LayoutRect(); > } > >@@ -830,7 +830,7 @@ LayoutRect Node::renderRect(bool* isReplaced) > while (renderer && !renderer->isBody() && !renderer->isRoot()) { > if (renderer->isRenderBlock() || renderer->isInlineBlockOrInlineTable() || renderer->isReplaced()) { > *isReplaced = renderer->isReplaced(); >- return renderer->absoluteBoundingBoxRect(true); >+ return renderer->absoluteBoundingBoxRect(); > } > renderer = renderer->parent(); > } >diff --git a/Source/WebCore/html/shadow/SliderThumbElement.cpp b/Source/WebCore/html/shadow/SliderThumbElement.cpp >index 5d178af079ab4cfbd9d0f72043faf3d87c48bcb8..926b393d3dd1705f5fe31b76ff38085a838d289d 100644 >--- a/Source/WebCore/html/shadow/SliderThumbElement.cpp >+++ b/Source/WebCore/html/shadow/SliderThumbElement.cpp >@@ -216,7 +216,8 @@ void SliderThumbElement::setPositionFromPoint(const LayoutPoint& point) > // We need to calculate currentPosition from absolute points becaue the > // renderer for this node is usually on a layer and renderBox()->x() and > // y() are unusable. >- LayoutPoint absoluteThumbOrigin = renderBox()->absoluteBoundingBoxRect().location(); >+ // FIXME: This should probably respect transforms. >+ LayoutPoint absoluteThumbOrigin = renderBox()->absoluteBoundingBoxRectIgnoringTransforms().location(); > LayoutPoint absoluteSliderContentOrigin = roundedLayoutPoint(input->renderer()->localToAbsolute()); > if (isVertical) { > trackSize = input->renderBox()->contentHeight() - renderBox()->height(); >diff --git a/Source/WebCore/html/shadow/TextControlInnerElements.cpp b/Source/WebCore/html/shadow/TextControlInnerElements.cpp >index bf185cf7b0f096b93c8883206ba3374d049345d5..476218135bad70b8530e3fd77a0980d43965e52f 100644 >--- a/Source/WebCore/html/shadow/TextControlInnerElements.cpp >+++ b/Source/WebCore/html/shadow/TextControlInnerElements.cpp >@@ -535,7 +535,8 @@ void InputFieldSpeechButtonElement::startSpeechInput() > RefPtr<HTMLInputElement> input = static_cast<HTMLInputElement*>(shadowAncestorNode()); > AtomicString language = input->computeInheritedLanguage(); > String grammar = input->getAttribute(webkitgrammarAttr); >- IntRect rect = renderer()->absoluteBoundingBoxRect(); >+ // FIXME: this should probably respect transforms >+ IntRect rect = renderer()->absoluteBoundingBoxRectIgnoringTransforms(); > if (speechInput()->startRecognition(m_listenerId, rect, language, grammar, document()->securityOrigin())) > setState(Recording); > } >diff --git a/Source/WebCore/inspector/DOMNodeHighlighter.cpp b/Source/WebCore/inspector/DOMNodeHighlighter.cpp >index e689b5250b6a868ea5a550d6daaba2945a78f69d..f8bfb60f9aded20b2e10680a08c964284da84f58 100644 >--- a/Source/WebCore/inspector/DOMNodeHighlighter.cpp >+++ b/Source/WebCore/inspector/DOMNodeHighlighter.cpp >@@ -361,7 +361,7 @@ void drawNodeHighlight(GraphicsContext& context, HighlightData* highlightData) > return; > > LayoutSize mainFrameOffset = frameToMainFrameOffset(containingFrame); >- LayoutRect boundingBox = renderer->absoluteBoundingBoxRect(true); >+ LayoutRect boundingBox = renderer->absoluteBoundingBoxRect(); > > boundingBox.move(mainFrameOffset); > >diff --git a/Source/WebCore/plugins/IFrameShimSupport.cpp b/Source/WebCore/plugins/IFrameShimSupport.cpp >index c0aa1e4136c4942f29af884f3216885c7ac55b79..8265765110ae5468d0305f3efb046d25add7feff 100644 >--- a/Source/WebCore/plugins/IFrameShimSupport.cpp >+++ b/Source/WebCore/plugins/IFrameShimSupport.cpp >@@ -152,7 +152,7 @@ void getPluginOcclusions(Element* element, Widget* parentWidget, const IntRect& > RenderObject* iframeRenderer = element->renderer(); > > if (element->hasTagName(HTMLNames::iframeTag) >- && iframeRenderer->absoluteBoundingBoxRect().intersects(frameRect) >+ && iframeRenderer->absoluteBoundingBoxRectIgnoringTransforms().intersects(frameRect) > && (!iframeRenderer->style() || iframeRenderer->style()->visibility() == VISIBLE)) { > getObjectStack(iframeRenderer, &iframeZstack); > if (iframeIsAbovePlugin(iframeZstack, pluginZstack)) { >diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp >index 872df470e823d4b5ade7aa1dbe291258f61bd870..98312f7f29c0284d203dd4f2eab561c554d0f583 100644 >--- a/Source/WebCore/rendering/RenderBlock.cpp >+++ b/Source/WebCore/rendering/RenderBlock.cpp >@@ -5879,7 +5879,7 @@ void RenderBlock::setPageLogicalOffset(int logicalOffset) > m_rareData->m_pageLogicalOffset = logicalOffset; > } > >-void RenderBlock::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) >+void RenderBlock::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const > { > // For blocks inside inlines, we go ahead and include margins so that we run right up to the > // inline boxes above and below us (thus getting merged with them to form a single irregular >@@ -5895,7 +5895,7 @@ void RenderBlock::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& ac > rects.append(LayoutRect(accumulatedOffset, size())); > } > >-void RenderBlock::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) >+void RenderBlock::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const > { > // For blocks inside inlines, we go ahead and include margins so that we run right up to the > // inline boxes above and below us (thus getting merged with them to form a single irregular >diff --git a/Source/WebCore/rendering/RenderBlock.h b/Source/WebCore/rendering/RenderBlock.h >index f73309ad06dbe8b8290c07e8f472777a52350d54..c956d2aa399b3eb44cc619ca044bd62e5a934e72 100644 >--- a/Source/WebCore/rendering/RenderBlock.h >+++ b/Source/WebCore/rendering/RenderBlock.h >@@ -741,8 +741,8 @@ private: > LayoutUnit logicalLeftSelectionOffset(RenderBlock* rootBlock, LayoutUnit position); > LayoutUnit logicalRightSelectionOffset(RenderBlock* rootBlock, LayoutUnit position); > >- virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset); >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const; >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > > LayoutUnit desiredColumnWidth() const; > unsigned desiredColumnCount() const; >diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp >index 5c36e5e5a2e91867b5c4754a60081131c49303a4..9084d576d117c1643eb5f46ea4669bf6176c67bb 100644 >--- a/Source/WebCore/rendering/RenderBox.cpp >+++ b/Source/WebCore/rendering/RenderBox.cpp >@@ -516,12 +516,12 @@ void RenderBox::setScrollTop(LayoutUnit newTop) > layer()->scrollToYOffset(newTop, RenderLayer::ScrollOffsetClamped); > } > >-void RenderBox::absoluteRects(Vector<IntRect>& rects, const LayoutPoint& accumulatedOffset) >+void RenderBox::absoluteRects(Vector<IntRect>& rects, const LayoutPoint& accumulatedOffset) const > { > rects.append(LayoutRect(accumulatedOffset, size())); > } > >-void RenderBox::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) >+void RenderBox::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const > { > quads.append(localToAbsoluteQuad(FloatRect(0, 0, width(), height()), false, wasFixed)); > } >diff --git a/Source/WebCore/rendering/RenderBox.h b/Source/WebCore/rendering/RenderBox.h >index 28c768b94fa10b006fa8493dc27e5f95948137d3..94cc4ec79ef97e1ec6164b8a4b8b651075e6e08b 100644 >--- a/Source/WebCore/rendering/RenderBox.h >+++ b/Source/WebCore/rendering/RenderBox.h >@@ -234,8 +234,8 @@ public: > virtual LayoutUnit collapsedMarginBefore() const { return marginBefore(); } > virtual LayoutUnit collapsedMarginAfter() const { return marginAfter(); } > >- virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset); >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const; >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > > IntRect reflectionBox() const; > int reflectionOffset() const; >diff --git a/Source/WebCore/rendering/RenderFileUploadControl.cpp b/Source/WebCore/rendering/RenderFileUploadControl.cpp >index f94491f31c5a8e5fd20224501954e4b46ef08466..85b94d6c70936e8712b3982ce3008c9d3f835f2c 100644 >--- a/Source/WebCore/rendering/RenderFileUploadControl.cpp >+++ b/Source/WebCore/rendering/RenderFileUploadControl.cpp >@@ -132,7 +132,8 @@ void RenderFileUploadControl::paintObject(PaintInfo& paintInfo, const LayoutPoin > textX = contentLeft + contentWidth() - buttonAndIconWidth - font.width(textRun); > // We want to match the button's baseline > RenderButton* buttonRenderer = toRenderButton(button->renderer()); >- LayoutUnit textY = buttonRenderer->absoluteBoundingBoxRect().y() >+ // FIXME: Make this work with transforms. >+ LayoutUnit textY = buttonRenderer->absoluteBoundingBoxRectIgnoringTransforms().y() > + buttonRenderer->baselinePosition(AlphabeticBaseline, true, HorizontalLine, PositionOnContainingLine); > > paintInfo.context->setFillColor(style()->visitedDependentColor(CSSPropertyColor), style()->colorSpace()); >diff --git a/Source/WebCore/rendering/RenderIFrame.cpp b/Source/WebCore/rendering/RenderIFrame.cpp >index 11297b5db7a9f7a2d09e465943c487e186f15ad0..ce0f43bd0304151a4083b0a020a9e2ed961b13da 100644 >--- a/Source/WebCore/rendering/RenderIFrame.cpp >+++ b/Source/WebCore/rendering/RenderIFrame.cpp >@@ -105,7 +105,7 @@ bool RenderIFrame::flattenFrame() > return false; > > // Do not flatten offscreen inner frames during frame flattening, as flattening might make them visible. >- IntRect boundingRect = absoluteBoundingBoxRect(); >+ IntRect boundingRect = absoluteBoundingBoxRectIgnoringTransforms(); > return boundingRect.maxX() > 0 && boundingRect.maxY() > 0; > } > >diff --git a/Source/WebCore/rendering/RenderInline.cpp b/Source/WebCore/rendering/RenderInline.cpp >index 6ca9d3fb1e92d02cbc90ba4dc33ba19bd84b2804..3f09633b008d956fa1f7e2182e30c4dd205ac3a3 100644 >--- a/Source/WebCore/rendering/RenderInline.cpp >+++ b/Source/WebCore/rendering/RenderInline.cpp >@@ -466,7 +466,7 @@ void RenderInline::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset) > m_lineBoxes.paint(this, paintInfo, paintOffset); > } > >-void RenderInline::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) >+void RenderInline::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const > { > if (!alwaysCreateLineBoxes()) > culledInlineAbsoluteRects(this, rects, toLayoutSize(accumulatedOffset)); >@@ -485,7 +485,7 @@ void RenderInline::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& a > } > } > >-void RenderInline::culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>& rects, const LayoutSize& offset) >+void RenderInline::culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>& rects, const LayoutSize& offset) const > { > if (!culledInlineFirstLineBox()) { > rects.append(IntRect(offset.width(), offset.height(), 0, 0)); >@@ -553,7 +553,7 @@ void RenderInline::culledInlineAbsoluteRects(const RenderInline* container, Vect > } > } > >-void RenderInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) >+void RenderInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const > { > if (!alwaysCreateLineBoxes()) > culledInlineAbsoluteQuads(this, quads); >@@ -569,7 +569,7 @@ void RenderInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) > continuation()->absoluteQuads(quads, wasFixed); > } > >-void RenderInline::culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>& quads) >+void RenderInline::culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>& quads) const > { > if (!culledInlineFirstLineBox()) { > quads.append(localToAbsoluteQuad(FloatRect())); >diff --git a/Source/WebCore/rendering/RenderInline.h b/Source/WebCore/rendering/RenderInline.h >index afd4aad448b0e81819329ea0aa686e5b09ceb667..fe95af1fe18754265ba97909f7edb6eb3e73ae69 100644 >--- a/Source/WebCore/rendering/RenderInline.h >+++ b/Source/WebCore/rendering/RenderInline.h >@@ -46,8 +46,8 @@ public: > virtual LayoutUnit marginStart() const; > virtual LayoutUnit marginEnd() const; > >- virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset); >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const; >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > > virtual LayoutSize offsetFromContainer(RenderObject*, const LayoutPoint&) const; > >@@ -102,8 +102,8 @@ private: > LayoutRect culledInlineVisualOverflowBoundingBox() const; > InlineBox* culledInlineFirstLineBox() const; > InlineBox* culledInlineLastLineBox() const; >- void culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>&, const LayoutSize&); >- void culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>&); >+ void culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>&, const LayoutSize&) const; >+ void culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>&) const; > > void addChildToContinuation(RenderObject* newChild, RenderObject* beforeChild); > virtual void addChildIgnoringContinuation(RenderObject* newChild, RenderObject* beforeChild = 0); >diff --git a/Source/WebCore/rendering/RenderMenuList.cpp b/Source/WebCore/rendering/RenderMenuList.cpp >index 897aa88eaf1ea2a46ed136f50f7c626239139e01..9ba3b5e7a1972cc84fc35464dc3f5dc21da754a1 100644 >--- a/Source/WebCore/rendering/RenderMenuList.cpp >+++ b/Source/WebCore/rendering/RenderMenuList.cpp >@@ -302,7 +302,7 @@ void RenderMenuList::showPopup() > // Compute the top left taking transforms into account, but use > // the actual width of the element to size the popup. > FloatPoint absTopLeft = localToAbsolute(FloatPoint(), false, true); >- LayoutRect absBounds = absoluteBoundingBoxRect(); >+ LayoutRect absBounds = absoluteBoundingBoxRectIgnoringTransforms(); > absBounds.setLocation(roundedIntPoint(absTopLeft)); > m_popup->show(absBounds, document()->view(), > select->optionToListIndex(select->selectedIndex())); >diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp >index 730be1dcd1e34611bcdf23e671d7a3d3fc02300b..94c898d8305887f29d6931ef8604637446ba213f 100644 >--- a/Source/WebCore/rendering/RenderObject.cpp >+++ b/Source/WebCore/rendering/RenderObject.cpp >@@ -1165,7 +1165,7 @@ void RenderObject::paintOutline(GraphicsContext* graphicsContext, const LayoutRe > graphicsContext->endTransparencyLayer(); > } > >-IntRect RenderObject::absoluteBoundingBoxRect(bool useTransforms) >+IntRect RenderObject::absoluteBoundingBoxRect(bool useTransforms) const > { > if (useTransforms) { > Vector<FloatQuad> quads; >@@ -1215,14 +1215,14 @@ void RenderObject::absoluteFocusRingQuads(Vector<FloatQuad>& quads) > void RenderObject::addAbsoluteRectForLayer(IntRect& result) > { > if (hasLayer()) >- result.unite(absoluteBoundingBoxRect()); >+ result.unite(absoluteBoundingBoxRectIgnoringTransforms()); > for (RenderObject* current = firstChild(); current; current = current->nextSibling()) > current->addAbsoluteRectForLayer(result); > } > > LayoutRect RenderObject::paintingRootRect(LayoutRect& topLevelRect) > { >- LayoutRect result = absoluteBoundingBoxRect(); >+ LayoutRect result = absoluteBoundingBoxRectIgnoringTransforms(); > topLevelRect = result; > for (RenderObject* current = firstChild(); current; current = current->nextSibling()) > current->addAbsoluteRectForLayer(result); >diff --git a/Source/WebCore/rendering/RenderObject.h b/Source/WebCore/rendering/RenderObject.h >index 6dd4bacf728354083d93c2d50b4ac2c185516be1..0f60794319a07b8dd28f768a3c62780d75bddf46 100644 >--- a/Source/WebCore/rendering/RenderObject.h >+++ b/Source/WebCore/rendering/RenderObject.h >@@ -638,12 +638,14 @@ public: > // Return the offset from an object up the container() chain. Asserts that none of the intermediate objects have transforms. > LayoutSize offsetFromAncestorContainer(RenderObject*) const; > >- virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint&) { } >+ virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint&) const { } >+ > // FIXME: useTransforms should go away eventually >- IntRect absoluteBoundingBoxRect(bool useTransforms = false); >+ IntRect absoluteBoundingBoxRect(bool useTransform = true) const; >+ IntRect absoluteBoundingBoxRectIgnoringTransforms() const { return absoluteBoundingBoxRect(false); } > > // Build an array of quads in absolute coords for line boxes >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* /*wasFixed*/ = 0) { } >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* /*wasFixed*/ = 0) const { } > > void absoluteFocusRingQuads(Vector<FloatQuad>&); > >diff --git a/Source/WebCore/rendering/RenderText.cpp b/Source/WebCore/rendering/RenderText.cpp >index e88861f3d04a086844d3a70d215a474de68924c9..6b6da2444e12c7326f196d64b8812588274f98c0 100644 >--- a/Source/WebCore/rendering/RenderText.cpp >+++ b/Source/WebCore/rendering/RenderText.cpp >@@ -301,7 +301,7 @@ PassRefPtr<StringImpl> RenderText::originalText() const > return (e && e->isTextNode()) ? static_cast<Text*>(e)->dataImpl() : 0; > } > >-void RenderText::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) >+void RenderText::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const > { > for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) > rects.append(enclosingLayoutRect(FloatRect(accumulatedOffset + box->topLeft(), box->size()))); >@@ -388,7 +388,7 @@ static IntRect ellipsisRectForBox(InlineTextBox* box, unsigned startPos, unsigne > return IntRect(); > } > >-void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed, ClippingOption option) >+void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed, ClippingOption option) const > { > for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) { > IntRect boundaries = box->calculateBoundaries(); >@@ -405,7 +405,7 @@ void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed, Clippin > } > } > >-void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) >+void RenderText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const > { > absoluteQuads(quads, wasFixed, NoClipping); > } >diff --git a/Source/WebCore/rendering/RenderText.h b/Source/WebCore/rendering/RenderText.h >index 4020d8aa37122d125d1dc4ef110709d18f951398..42e9aec96b3b32b2d19e3bc5195c13d471ca0936 100644 >--- a/Source/WebCore/rendering/RenderText.h >+++ b/Source/WebCore/rendering/RenderText.h >@@ -54,14 +54,14 @@ public: > InlineTextBox* createInlineTextBox(); > void dirtyLineBoxes(bool fullLayout); > >- virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset); >+ virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const; > void absoluteRectsForRange(Vector<IntRect>&, unsigned startOffset = 0, unsigned endOffset = UINT_MAX, bool useSelectionHeight = false, bool* wasFixed = 0); > >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > void absoluteQuadsForRange(Vector<FloatQuad>&, unsigned startOffset = 0, unsigned endOffset = UINT_MAX, bool useSelectionHeight = false, bool* wasFixed = 0); > > enum ClippingOption { NoClipping, ClipToEllipsis }; >- void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed = 0, ClippingOption = NoClipping); >+ void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed = 0, ClippingOption = NoClipping) const; > > virtual VisiblePosition positionForPoint(const LayoutPoint&); > >diff --git a/Source/WebCore/rendering/RenderTextControlSingleLine.cpp b/Source/WebCore/rendering/RenderTextControlSingleLine.cpp >index 17097b1fbab3618088e0b48937c608e5c2d84cfa..ff90770f09557891075db91e29e1dfe78704afb6 100644 >--- a/Source/WebCore/rendering/RenderTextControlSingleLine.cpp >+++ b/Source/WebCore/rendering/RenderTextControlSingleLine.cpp >@@ -174,7 +174,7 @@ void RenderTextControlSingleLine::showPopup() > m_searchPopup->saveRecentSearches(name, m_recentSearches); > } > >- m_searchPopup->popupMenu()->show(absoluteBoundingBoxRect(true), document()->view(), -1); >+ m_searchPopup->popupMenu()->show(absoluteBoundingBoxRect(), document()->view(), -1); > } > > void RenderTextControlSingleLine::hidePopup() >diff --git a/Source/WebCore/rendering/RenderThemeSafari.cpp b/Source/WebCore/rendering/RenderThemeSafari.cpp >index d27021c9d19a13f959ad22f7da1b82979c0c3adc..999f2f73d531a2e48794b5576353e08644ac789d 100644 >--- a/Source/WebCore/rendering/RenderThemeSafari.cpp >+++ b/Source/WebCore/rendering/RenderThemeSafari.cpp >@@ -1080,7 +1080,7 @@ bool RenderThemeSafari::paintSearchFieldCancelButton(RenderObject* o, const Pain > RenderObject* renderer = input->renderer(); > ASSERT(renderer); > >- IntRect searchRect = renderer->absoluteBoundingBoxRect(); >+ IntRect searchRect = renderer->absoluteBoundingBoxRectIgnoringTransforms(); > > paintThemePart(SafariTheme::SearchFieldCancelButtonPart, paintInfo.context->platformContext(), searchRect, controlSizeFromRect(searchRect, searchFieldSizes()), determineState(o)); > return false; >@@ -1134,7 +1134,7 @@ bool RenderThemeSafari::paintSearchFieldResultsDecoration(RenderObject* o, const > RenderObject* renderer = input->renderer(); > ASSERT(renderer); > >- IntRect searchRect = renderer->absoluteBoundingBoxRect(); >+ IntRect searchRect = renderer->absoluteBoundingBoxRectIgnoringTransforms(); > > paintThemePart(SafariTheme::SearchFieldResultsDecorationPart, paintInfo.context->platformContext(), searchRect, controlSizeFromRect(searchRect, searchFieldSizes()), determineState(o)); > return false; >@@ -1157,7 +1157,7 @@ bool RenderThemeSafari::paintSearchFieldResultsButton(RenderObject* o, const Pai > RenderObject* renderer = input->renderer(); > ASSERT(renderer); > >- IntRect searchRect = renderer->absoluteBoundingBoxRect(); >+ IntRect searchRect = renderer->absoluteBoundingBoxRectIgnoringTransforms(); > > paintThemePart(SafariTheme::SearchFieldResultsButtonPart, paintInfo.context->platformContext(), searchRect, controlSizeFromRect(searchRect, searchFieldSizes()), determineState(o)); > return false; >diff --git a/Source/WebCore/rendering/RenderView.cpp b/Source/WebCore/rendering/RenderView.cpp >index 1fefac4f0192ea3eb05415cb3434af5b09f6a741..f421f981da267dd57d5994abc3ec1a7565d18057 100644 >--- a/Source/WebCore/rendering/RenderView.cpp >+++ b/Source/WebCore/rendering/RenderView.cpp >@@ -329,12 +329,12 @@ void RenderView::computeRectForRepaint(RenderBoxModelObject* repaintContainer, I > rect = m_layer->transform()->mapRect(rect); > } > >-void RenderView::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) >+void RenderView::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const > { > rects.append(LayoutRect(accumulatedOffset, m_layer->size())); > } > >-void RenderView::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) >+void RenderView::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const > { > if (wasFixed) > *wasFixed = false; >diff --git a/Source/WebCore/rendering/RenderView.h b/Source/WebCore/rendering/RenderView.h >index bbdd4542a2be0829af7d819210cb7256664e8538..9d4e9e4307b0f9d0fd15f0c513f416c51184166f 100644 >--- a/Source/WebCore/rendering/RenderView.h >+++ b/Source/WebCore/rendering/RenderView.h >@@ -86,8 +86,8 @@ public: > > bool printing() const; > >- virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset); >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const; >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > > #if USE(ACCELERATED_COMPOSITING) > void setMaximalOutlineSize(int o); >diff --git a/Source/WebCore/rendering/svg/RenderSVGBlock.cpp b/Source/WebCore/rendering/svg/RenderSVGBlock.cpp >index 2c815908ebf6b98906757d8bc54be6947a7179e3..7b16a4d5bfc9cb7bb65e65bb15abc8e2f6ebaea3 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGBlock.cpp >+++ b/Source/WebCore/rendering/svg/RenderSVGBlock.cpp >@@ -78,7 +78,7 @@ void RenderSVGBlock::updateBoxModelInfoFromStyle() > setHasOverflowClip(false); > } > >-void RenderSVGBlock::absoluteRects(Vector<LayoutRect>&, const LayoutPoint&) >+void RenderSVGBlock::absoluteRects(Vector<LayoutRect>&, const LayoutPoint&) const > { > // This code path should never be taken for SVG, as we're assuming useTransforms=true everywhere, absoluteQuads should be used. > ASSERT_NOT_REACHED(); >diff --git a/Source/WebCore/rendering/svg/RenderSVGBlock.h b/Source/WebCore/rendering/svg/RenderSVGBlock.h >index 22c1f18e36e02310be7e7d3e4ec8123a29b5a714..58cf2620a9818d64ae27834fed8d41b716920473 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGBlock.h >+++ b/Source/WebCore/rendering/svg/RenderSVGBlock.h >@@ -38,7 +38,7 @@ private: > virtual void setStyle(PassRefPtr<RenderStyle>); > virtual void updateBoxModelInfoFromStyle(); > >- virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset); >+ virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const; > > virtual void willBeDestroyed(); > virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle); >diff --git a/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp b/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp >index d29d85ec93971dee18db12bd8e7805f581772f1e..895b2544900123fdbf3ea025854cb9cedbe04fd9 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp >+++ b/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp >@@ -44,7 +44,7 @@ void RenderSVGHiddenContainer::paint(PaintInfo&, const LayoutPoint&) > // This subtree does not paint. > } > >-void RenderSVGHiddenContainer::absoluteQuads(Vector<FloatQuad>&, bool*) >+void RenderSVGHiddenContainer::absoluteQuads(Vector<FloatQuad>&, bool*) const > { > // This subtree does not take up space or paint > } >diff --git a/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h b/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h >index efff92151d2c361a6d0c8d9777b31f634464d10c..f26c5fc61a37f8207d4d649be6809d52a2f8825f 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h >+++ b/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h >@@ -44,7 +44,7 @@ private: > virtual void paint(PaintInfo&, const LayoutPoint&); > > virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject*) const { return LayoutRect(); } >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > > virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction); > }; >diff --git a/Source/WebCore/rendering/svg/RenderSVGInline.cpp b/Source/WebCore/rendering/svg/RenderSVGInline.cpp >index f4a29e284d4f3ba579bb3d8bc578f607158bcdb6..c22244fc6e10e9bfe0aa13d704df7e28763127c2 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGInline.cpp >+++ b/Source/WebCore/rendering/svg/RenderSVGInline.cpp >@@ -82,9 +82,9 @@ void RenderSVGInline::mapLocalToContainer(RenderBoxModelObject* repaintContainer > SVGRenderSupport::mapLocalToContainer(this, repaintContainer, transformState, wasFixed); > } > >-void RenderSVGInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) >+void RenderSVGInline::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const > { >- RenderObject* object = RenderSVGText::locateRenderSVGTextAncestor(this); >+ const RenderObject* object = RenderSVGText::locateRenderSVGTextAncestor(this); > if (!object) > return; > >diff --git a/Source/WebCore/rendering/svg/RenderSVGInline.h b/Source/WebCore/rendering/svg/RenderSVGInline.h >index 0a60837f4775969037e84975bcf2008066bb82f7..d2fa1cc524024b61aa7d4aa77a4e8dd8e5608440 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGInline.h >+++ b/Source/WebCore/rendering/svg/RenderSVGInline.h >@@ -48,7 +48,7 @@ public: > virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const; > virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect&, bool fixed = false) const; > virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&, bool* wasFixed = 0) const; >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > > private: > virtual InlineFlowBox* createInlineFlowBox(); >diff --git a/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp b/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp >index c2e3fdff805d7788d5efe7cdbbfc15a7fe3c66e9..7086d4ce91e6645c1e1c70d83bc4f49c82fccab6 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp >+++ b/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp >@@ -70,14 +70,14 @@ LayoutRect RenderSVGModelObject::outlineBoundsForRepaint(RenderBoxModelObject* r > return containerRelativeQuad.enclosingBoundingBox(); > } > >-void RenderSVGModelObject::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) >+void RenderSVGModelObject::absoluteRects(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset) const > { > LayoutRect rect = enclosingLayoutRect(strokeBoundingBox()); > rect.moveBy(accumulatedOffset); > rects.append(rect); > } > >-void RenderSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) >+void RenderSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const > { > quads.append(localToAbsoluteQuad(strokeBoundingBox(), false, wasFixed)); > } >diff --git a/Source/WebCore/rendering/svg/RenderSVGModelObject.h b/Source/WebCore/rendering/svg/RenderSVGModelObject.h >index c28d3c6607d554ea20c2ba5c5aeeedcc2de73b79..7041d449ef632c4fc3009260f92c0003b010d7e1 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGModelObject.h >+++ b/Source/WebCore/rendering/svg/RenderSVGModelObject.h >@@ -55,8 +55,8 @@ public: > virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect&, bool fixed = false) const; > virtual LayoutRect outlineBoundsForRepaint(RenderBoxModelObject* repaintContainer, LayoutPoint*) const; > >- virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset); >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteRects(Vector<LayoutRect>&, const LayoutPoint& accumulatedOffset) const; >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > > virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&, bool* wasFixed = 0) const; > virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle); >diff --git a/Source/WebCore/rendering/svg/RenderSVGText.cpp b/Source/WebCore/rendering/svg/RenderSVGText.cpp >index 57b4f574ea00205d334a0067d8ff66e35455ec28..1453cb16a602a028fab834a556c28f5f1407b15c 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGText.cpp >+++ b/Source/WebCore/rendering/svg/RenderSVGText.cpp >@@ -225,7 +225,7 @@ VisiblePosition RenderSVGText::positionForPoint(const LayoutPoint& pointInConten > return closestBox->renderer()->positionForPoint(LayoutPoint(pointInContents.x(), closestBox->y())); > } > >-void RenderSVGText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) >+void RenderSVGText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const > { > quads.append(localToAbsoluteQuad(strokeBoundingBox(), false, wasFixed)); > } >diff --git a/Source/WebCore/rendering/svg/RenderSVGText.h b/Source/WebCore/rendering/svg/RenderSVGText.h >index b3e0f43f8f649c7fa67e0b8420367af0d6e92d3e..a0ada4cb4efe980cabe27a9fa504baa390189dc8 100644 >--- a/Source/WebCore/rendering/svg/RenderSVGText.h >+++ b/Source/WebCore/rendering/svg/RenderSVGText.h >@@ -60,7 +60,7 @@ private: > virtual bool requiresLayer() const { return false; } > virtual void layout(); > >- virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed); >+ virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; > > virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const; > virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect&, bool fixed = false) const; >diff --git a/Source/WebCore/testing/Internals.cpp b/Source/WebCore/testing/Internals.cpp >index df8ac2eabd212451c0c747e0e6e4f373dc6b11c3..c907ae82250808221604259836fdd8fad704b5ce 100644 >--- a/Source/WebCore/testing/Internals.cpp >+++ b/Source/WebCore/testing/Internals.cpp >@@ -202,7 +202,7 @@ PassRefPtr<ClientRect> Internals::boundingBox(Element* element, ExceptionCode& e > RenderObject* renderer = element->renderer(); > if (!renderer) > return ClientRect::create(); >- return ClientRect::create(renderer->absoluteBoundingBoxRect()); >+ return ClientRect::create(renderer->absoluteBoundingBoxRectIgnoringTransforms()); > } > > unsigned Internals::markerCountForNode(Node* node, ExceptionCode& ec) >diff --git a/Source/WebKit/qt/Api/qwebframe.cpp b/Source/WebKit/qt/Api/qwebframe.cpp >index 5f12e101439f5fbf0d6cdcb1034117061b5927f4..07f2df987d2cff56dfc8d87d7a5cabb5c1966e1a 100644 >--- a/Source/WebKit/qt/Api/qwebframe.cpp >+++ b/Source/WebKit/qt/Api/qwebframe.cpp >@@ -1751,7 +1751,7 @@ QWebHitTestResultPrivate::QWebHitTestResultPrivate(const WebCore::HitTestResult > imageUrl = hitTest.absoluteImageURL(); > innerNode = hitTest.innerNode(); > innerNonSharedNode = hitTest.innerNonSharedNode(); >- boundingRect = innerNonSharedNode ? innerNonSharedNode->renderer()->absoluteBoundingBoxRect(true) : IntRect(); >+ boundingRect = innerNonSharedNode ? innerNonSharedNode->renderer()->absoluteBoundingBoxRect() : IntRect(); > WebCore::Image *img = hitTest.image(); > if (img) { > QPixmap *pix = img->nativeImageForCurrentFrame(); >diff --git a/Source/WebKit/qt/ChangeLog b/Source/WebKit/qt/ChangeLog >index eabd82a09be7874201bf3a66803553435da9f3e9..9774fdbbcd24dfbbd34c16a170eba4f298600ed3 100644 >--- a/Source/WebKit/qt/ChangeLog >+++ b/Source/WebKit/qt/ChangeLog >@@ -1,3 +1,13 @@ >+2011-10-06 Fady Samuel <fsamuel@chromium.org> >+ >+ 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. >+ >+ * Api/qwebframe.cpp: >+ (QWebHitTestResultPrivate::QWebHitTestResultPrivate): >+ > 2011-10-03 Pierre Rossi <pierre.rossi@gmail.com> > > [Qt] Build fix: Qt::escape is deprecated in Qt5 >diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog >index 6f47a2dbb1bc2f74c0432a0d2d5fd3cda0655972..4a36754e8e660b5a01a757098b92930116b85797 100644 >--- a/Source/WebKit2/ChangeLog >+++ b/Source/WebKit2/ChangeLog >@@ -1,3 +1,13 @@ >+2011-10-06 Fady Samuel <fsamuel@chromium.org> >+ >+ 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. >+ >+ * win/WebKit2.def: >+ * win/WebKit2CFLite.def: >+ > 2011-10-06 Carlos Garcia Campos <cgarcia@igalia.com> > > [GTK] Add estimated-progress property to WebKitWebLoaderClient >diff --git a/Source/WebKit2/win/WebKit2.def b/Source/WebKit2/win/WebKit2.def >index e82291f78bca1148273b79ec17a64c888fbc9122..5ab54e95ce58d00f23c59db37d1584fb8a73bb4c 100644 >--- a/Source/WebKit2/win/WebKit2.def >+++ b/Source/WebKit2/win/WebKit2.def >@@ -143,7 +143,8 @@ EXPORTS > ??0ClientRect@WebCore@@AAE@XZ > ??0String@WTF@@QAE@PBD@Z > ??0String@WTF@@QAE@PB_W@Z >- ?absoluteBoundingBoxRect@RenderObject@WebCore@@QAE?AVIntRect@2@_N@Z >+ ?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z >+ ?absoluteBoundingBoxRectIgnoringTransforms@RenderObject@WebCore@@QBE?AVIntRect@2@XZ > ?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBD@Z > ?addSlowCase@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PAVStringImpl@2@@Z > ?cacheDOMStructure@WebCore@@YAPAVStructure@JSC@@PAVJSDOMGlobalObject@1@PAV23@PBUClassInfo@3@@Z >diff --git a/Source/WebKit2/win/WebKit2CFLite.def b/Source/WebKit2/win/WebKit2CFLite.def >index aa1d316944a2df13b338b761165d6ba35ef85b54..7d746290e3b3a903f43f56089c7f4d9901b6bb9f 100644 >--- a/Source/WebKit2/win/WebKit2CFLite.def >+++ b/Source/WebKit2/win/WebKit2CFLite.def >@@ -135,7 +135,8 @@ EXPORTS > ??0String@WTF@@QAE@PB_W@Z > ??1NodeRenderingContext@WebCore@@QAE@XZ > ??1Range@WebCore@@QAE@XZ >- ?absoluteBoundingBoxRect@RenderObject@WebCore@@QAE?AVIntRect@2@_N@Z >+ ?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z >+ ?absoluteBoundingBoxRectIgnoringTransforms@RenderObject@WebCore@@QBE?AVIntRect@2@XZ > ?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBD@Z > ?addSlowCase@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PAVStringImpl@2@@Z > ?cacheDOMStructure@WebCore@@YAPAVStructure@JSC@@PAVJSDOMGlobalObject@1@PAV23@PBUClassInfo@3@@Z >diff --git a/Source/autotools/symbols.filter b/Source/autotools/symbols.filter >index 1ab97373358c3a8b24fa351566fc6f8919bda4e3..2ffbe99547b3b64cec5ea1a40deaa8c7c60d57e9 100644 >--- a/Source/autotools/symbols.filter >+++ b/Source/autotools/symbols.filter >@@ -41,7 +41,7 @@ _ZN7WebCore10ClientRectC1ERKNS_7IntRectE; > _ZN7WebCore11EventTarget17toGeneratedStreamEv; > _ZN7WebCore11EventTarget8toStreamEv; > _ZN7WebCore12JSDOMWrapper34virtualFunctionToPreventWeakVtableEv; >-_ZN7WebCore12RenderObject23absoluteBoundingBoxRectEb; >+_ZNK7WebCore12RenderObject23absoluteBoundingBoxRectEb; > _ZN7WebCore13createWrapperEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_4NodeE; > _ZN7WebCore15setDOMExceptionEPN3JSC9ExecStateEi; > _ZN7WebCore16HTMLInputElement17setSuggestedValueERKN3WTF6StringE;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 69009
:
109037
|
109063
|
109064
|
109084
|
109085
|
109094
|
109183
|
109197
|
109200
|
109311
|
109515
|
109703
|
109976
|
110010
| 110014