Diff
Modified: trunk/Source/WebCore/ChangeLog (100058 => 100059)
--- trunk/Source/WebCore/ChangeLog 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/ChangeLog 2011-11-12 02:53:52 UTC (rev 100059)
@@ -1,3 +1,50 @@
+2011-11-11 Levi Weintraub <[email protected]>
+
+ Revert Page to operate on integers
+ https://bugs.webkit.org/show_bug.cgi?id=72185
+
+ Reviewed by Eric Seidel.
+
+ Reverting the page classes to integers from LayoutUnits. It's not necessary to expose
+ LayoutUnits in these classes, so we'll avoid doing so.
+
+ No new tests, no change in behavior.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::sendContextMenuEventForKey):
+ (WebCore::EventHandler::dragHysteresisExceeded):
+ (WebCore::EventHandler::handleDrag):
+ * page/EventHandler.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::documentAtPoint):
+ * page/Frame.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::create):
+ (WebCore::FrameView::invalidateRect):
+ (WebCore::FrameView::setFrameRect):
+ (WebCore::FrameView::setContentsSize):
+ (WebCore::FrameView::adjustViewSize):
+ (WebCore::FrameView::repaintContentRectangle):
+ (WebCore::FrameView::invalidateScrollbarRect):
+ (WebCore::FrameView::getTickmarks):
+ (WebCore::FrameView::windowResizerRect):
+ (WebCore::FrameView::setVisibleScrollerThumbRect):
+ (WebCore::FrameView::updateScrollCorner):
+ (WebCore::FrameView::paintScrollCorner):
+ (WebCore::FrameView::paintContents):
+ (WebCore::FrameView::paintOverhangAreas):
+ (WebCore::FrameView::convertFromRenderer):
+ (WebCore::FrameView::convertToRenderer):
+ (WebCore::FrameView::convertToContainingView):
+ (WebCore::FrameView::convertFromContainingView):
+ * page/FrameView.h:
+ * page/Page.cpp:
+ (WebCore::Page::setPageScaleFactor):
+ * page/Page.h:
+ * page/SpatialNavigation.cpp:
+ (WebCore::scrollInDirection):
+
2011-11-11 Dominic Mazzoni <[email protected]>
New iframe content may not be reflected in the ax tree.
Modified: trunk/Source/WebCore/page/EventHandler.cpp (100058 => 100059)
--- trunk/Source/WebCore/page/EventHandler.cpp 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2011-11-12 02:53:52 UTC (rev 100059)
@@ -1398,7 +1398,7 @@
HitTestRequest request(HitTestRequest::Active);
// Save the document point we generate in case the window coordinate is invalidated by what happens
// when we dispatch the event.
- LayoutPoint documentPoint = documentPointForWindowPoint(m_frame, mouseEvent.pos());
+ IntPoint documentPoint = documentPointForWindowPoint(m_frame, mouseEvent.pos());
MouseEventWithHitTestResults mev = m_frame->document()->prepareMouseEvent(request, documentPoint, mouseEvent);
if (!targetNode(mev)) {
@@ -1445,7 +1445,7 @@
if (FrameView* view = m_frame->view()) {
RenderLayer* layer = m_clickNode->renderer() ? m_clickNode->renderer()->enclosingLayer() : 0;
- LayoutPoint p = view->windowToContents(mouseEvent.pos());
+ IntPoint p = view->windowToContents(mouseEvent.pos());
if (layer && layer->isPointInResizeControl(p)) {
layer->setInResizeMode(true);
m_resizeLayer = layer;
@@ -2308,7 +2308,7 @@
#else
int rightAligned = 0;
#endif
- LayoutPoint location;
+ IntPoint location;
Node* focusedNode = doc->focusedNode();
FrameSelection* selection = m_frame->selection();
@@ -2316,26 +2316,26 @@
if (start.deprecatedNode() && (selection->rootEditableElement() || selection->isRange())) {
RefPtr<Range> selectionRange = selection->toNormalizedRange();
- LayoutRect firstRect = m_frame->editor()->firstRectForRange(selectionRange.get());
+ IntRect firstRect = m_frame->editor()->firstRectForRange(selectionRange.get());
- LayoutUnit x = rightAligned ? firstRect.maxX() : firstRect.x();
- location = LayoutPoint(x, firstRect.maxY());
+ int x = rightAligned ? firstRect.maxX() : firstRect.x();
+ location = IntPoint(x, firstRect.maxY());
} else if (focusedNode) {
RenderBoxModelObject* box = focusedNode->renderBoxModelObject();
if (!box)
return false;
- LayoutRect clippedRect = box->absoluteClippedOverflowRect();
- location = LayoutPoint(clippedRect.x(), clippedRect.maxY() - 1);
+ IntRect clippedRect = box->absoluteClippedOverflowRect();
+ location = IntPoint(clippedRect.x(), clippedRect.maxY() - 1);
} else {
- location = LayoutPoint(
+ location = IntPoint(
rightAligned ? view->contentsWidth() - kContextMenuMargin : kContextMenuMargin,
kContextMenuMargin);
}
m_frame->view()->setCursor(pointerCursor());
- LayoutPoint position = view->contentsToWindow(location);
- LayoutPoint globalPosition = view->contentsToScreen(LayoutRect(location, LayoutSize())).location();
+ IntPoint position = view->contentsToWindow(location);
+ IntPoint globalPosition = view->contentsToScreen(IntRect(location, IntSize())).location();
Node* targetNode = doc->focusedNode();
if (!targetNode)
@@ -2720,8 +2720,8 @@
FrameView* view = m_frame->view();
if (!view)
return false;
- LayoutPoint dragLocation = view->windowToContents(flooredLayoutPoint(dragViewportLocation));
- LayoutSize delta = dragLocation - m_mouseDownPos;
+ IntPoint dragLocation = view->windowToContents(flooredIntPoint(dragViewportLocation));
+ IntSize delta = dragLocation - m_mouseDownPos;
int threshold = GeneralDragHysteresis;
switch (dragState().m_dragType) {
@@ -2873,7 +2873,7 @@
if (RenderObject* renderer = dragState().m_dragSrc->renderer()) {
// FIXME: This doesn't work correctly with transforms.
FloatPoint absPos = renderer->localToAbsolute();
- LayoutSize delta = m_mouseDownPos - roundedLayoutPoint(absPos);
+ IntSize delta = m_mouseDownPos - roundedIntPoint(absPos);
dragState().m_dragClipboard->setDragImageElement(dragState().m_dragSrc.get(), toPoint(delta));
} else {
// The renderer has disappeared, this can happen if the onStartDrag handler has hidden
Modified: trunk/Source/WebCore/page/EventHandler.h (100058 => 100059)
--- trunk/Source/WebCore/page/EventHandler.h 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/EventHandler.h 2011-11-12 02:53:52 UTC (rev 100059)
@@ -401,7 +401,7 @@
LayoutSize m_offsetFromResizeCorner; // In the coords of m_resizeLayer.
IntPoint m_currentMousePosition;
- LayoutPoint m_mouseDownPos; // In our view's coords.
+ IntPoint m_mouseDownPos; // In our view's coords.
double m_mouseDownTimestamp;
PlatformMouseEvent m_mouseDown;
Modified: trunk/Source/WebCore/page/Frame.cpp (100058 => 100059)
--- trunk/Source/WebCore/page/Frame.cpp 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/Frame.cpp 2011-11-12 02:53:52 UTC (rev 100059)
@@ -815,7 +815,7 @@
return visiblePos;
}
-Document* Frame::documentAtPoint(const LayoutPoint& point)
+Document* Frame::documentAtPoint(const IntPoint& point)
{
if (!view())
return 0;
Modified: trunk/Source/WebCore/page/Frame.h (100058 => 100059)
--- trunk/Source/WebCore/page/Frame.h 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/Frame.h 2011-11-12 02:53:52 UTC (rev 100059)
@@ -187,7 +187,7 @@
DragImageRef dragImageForSelection();
VisiblePosition visiblePositionForPoint(const LayoutPoint& framePoint);
- Document* documentAtPoint(const LayoutPoint& windowPoint);
+ Document* documentAtPoint(const IntPoint& windowPoint);
PassRefPtr<Range> rangeForPoint(const LayoutPoint& framePoint);
String searchForLabelsAboveCell(RegularExpression*, HTMLTableCellElement*, size_t* resultDistanceFromStartOfCell);
Modified: trunk/Source/WebCore/page/FrameView.cpp (100058 => 100059)
--- trunk/Source/WebCore/page/FrameView.cpp 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/FrameView.cpp 2011-11-12 02:53:52 UTC (rev 100059)
@@ -170,7 +170,7 @@
PassRefPtr<FrameView> FrameView::create(Frame* frame, const IntSize& initialSize)
{
RefPtr<FrameView> view = adoptRef(new FrameView(frame));
- view->Widget::setFrameRect(LayoutRect(view->location(), initialSize));
+ view->Widget::setFrameRect(IntRect(view->location(), initialSize));
view->show();
return view.release();
}
@@ -373,7 +373,7 @@
return !m_firstLayout;
}
-void FrameView::invalidateRect(const LayoutRect& rect)
+void FrameView::invalidateRect(const IntRect& rect)
{
if (!parent()) {
if (hostWindow())
@@ -388,15 +388,15 @@
if (!renderer)
return;
- LayoutRect repaintRect = rect;
+ IntRect repaintRect = rect;
repaintRect.move(renderer->borderLeft() + renderer->paddingLeft(),
renderer->borderTop() + renderer->paddingTop());
renderer->repaintRectangle(repaintRect);
}
-void FrameView::setFrameRect(const LayoutRect& newRect)
+void FrameView::setFrameRect(const IntRect& newRect)
{
- LayoutRect oldRect = frameRect();
+ IntRect oldRect = frameRect();
if (newRect == oldRect)
return;
@@ -488,7 +488,7 @@
return ScrollView::createScrollbar(orientation);
}
-void FrameView::setContentsSize(const LayoutSize& size)
+void FrameView::setContentsSize(const IntSize& size)
{
if (size == contentsSize())
return;
@@ -518,9 +518,9 @@
ASSERT(m_frame->view() == this);
- const LayoutRect& rect = root->documentRect();
- const LayoutSize& size = rect.size();
- ScrollView::setScrollOrigin(LayoutPoint(-rect.x(), -rect.y()), !m_frame->document()->printing(), size == contentsSize());
+ const IntRect rect = root->documentRect();
+ const IntSize& size = rect.size();
+ ScrollView::setScrollOrigin(IntPoint(-rect.x(), -rect.y()), !m_frame->document()->printing(), size == contentsSize());
setContentsSize(size);
}
@@ -1731,25 +1731,25 @@
const unsigned cRepaintRectUnionThreshold = 25;
-void FrameView::repaintContentRectangle(const LayoutRect& r, bool immediate)
+void FrameView::repaintContentRectangle(const IntRect& r, bool immediate)
{
ASSERT(!m_frame->ownerElement());
if (m_isTrackingRepaints) {
- LayoutRect repaintRect = r;
+ IntRect repaintRect = r;
repaintRect.move(-scrollOffset());
m_trackedRepaintRects.append(repaintRect);
}
double delay = m_deferringRepaints ? 0 : adjustedDeferredRepaintDelay();
if ((m_deferringRepaints || m_deferredRepaintTimer.isActive() || delay) && !immediate) {
- LayoutRect paintRect = r;
+ IntRect paintRect = r;
if (clipsRepaints() && !paintsEntireContents())
paintRect.intersect(visibleContentRect());
if (paintRect.isEmpty())
return;
if (m_repaintCount == cRepaintRectUnionThreshold) {
- LayoutRect unionedRect;
+ IntRect unionedRect;
for (unsigned i = 0; i < cRepaintRectUnionThreshold; ++i)
unionedRect.unite(m_repaintRects[i]);
m_repaintRects.clear();
@@ -2359,15 +2359,15 @@
frame()->loader()->client()->didChangeScrollOffset();
}
-void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const LayoutRect& rect)
+void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rect)
{
// Add in our offset within the FrameView.
- LayoutRect dirtyRect = rect;
+ IntRect dirtyRect = rect;
dirtyRect.moveBy(scrollbar->location());
invalidateRect(dirtyRect);
}
-void FrameView::getTickmarks(Vector<LayoutRect>& tickmarks) const
+void FrameView::getTickmarks(Vector<IntRect>& tickmarks) const
{
tickmarks = frame()->document()->markers()->renderedRectsForMarkers(DocumentMarker::TextMatch);
}
@@ -2376,7 +2376,7 @@
{
Page* page = frame() ? frame()->page() : 0;
if (!page)
- return LayoutRect();
+ return IntRect();
return page->chrome()->windowResizerRect();
}
@@ -2412,7 +2412,7 @@
return page->chrome()->client()->didCompleteAnimatedScroll();
}
-void FrameView::setVisibleScrollerThumbRect(const LayoutRect& scrollerThumb)
+void FrameView::setVisibleScrollerThumbRect(const IntRect& scrollerThumb)
{
Page* page = m_frame->page();
if (!page)
@@ -2508,7 +2508,7 @@
{
RenderObject* renderer = 0;
RefPtr<RenderStyle> cornerStyle;
- LayoutRect cornerRect = scrollCornerRect();
+ IntRect cornerRect = scrollCornerRect();
if (!cornerRect.isEmpty()) {
// Try the <body> element first as a scroll corner source.
@@ -2548,7 +2548,7 @@
ScrollView::updateScrollCorner();
}
-void FrameView::paintScrollCorner(GraphicsContext* context, const LayoutRect& cornerRect)
+void FrameView::paintScrollCorner(GraphicsContext* context, const IntRect& cornerRect)
{
if (context->updatingControlTints()) {
updateScrollCorner();
@@ -2690,7 +2690,7 @@
m_wasScrolledByUser = wasScrolledByUser;
}
-void FrameView::paintContents(GraphicsContext* p, const LayoutRect& rect)
+void FrameView::paintContents(GraphicsContext* p, const IntRect& rect)
{
if (!frame())
return;
@@ -2809,7 +2809,7 @@
m_nodeToDraw = node;
}
-void FrameView::paintOverhangAreas(GraphicsContext* context, const LayoutRect& horizontalOverhangArea, const LayoutRect& verticalOverhangArea, const LayoutRect& dirtyRect)
+void FrameView::paintOverhangAreas(GraphicsContext* context, const IntRect& horizontalOverhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect)
{
if (context->paintingDisabled())
return;
@@ -2943,9 +2943,9 @@
*newBottom = oldBottom;
}
-LayoutRect FrameView::convertFromRenderer(const RenderObject* renderer, const LayoutRect& rendererRect) const
+IntRect FrameView::convertFromRenderer(const RenderObject* renderer, const IntRect& rendererRect) const
{
- LayoutRect rect = renderer->localToAbsoluteQuad(FloatRect(rendererRect)).enclosingBoundingBox();
+ IntRect rect = renderer->localToAbsoluteQuad(FloatRect(rendererRect)).enclosingBoundingBox();
// Convert from page ("absolute") to FrameView coordinates.
rect.moveBy(-scrollPosition());
@@ -2953,31 +2953,31 @@
return rect;
}
-LayoutRect FrameView::convertToRenderer(const RenderObject* renderer, const LayoutRect& viewRect) const
+IntRect FrameView::convertToRenderer(const RenderObject* renderer, const IntRect& viewRect) const
{
- LayoutRect rect = viewRect;
+ IntRect rect = viewRect;
// Convert from FrameView coords into page ("absolute") coordinates.
rect.moveBy(scrollPosition());
// FIXME: we don't have a way to map an absolute rect down to a local quad, so just
// move the rect for now.
- rect.setLocation(roundedLayoutPoint(renderer->absoluteToLocal(rect.location(), false, true /* use transforms */)));
+ rect.setLocation(roundedIntPoint(renderer->absoluteToLocal(rect.location(), false, true /* use transforms */)));
return rect;
}
-LayoutPoint FrameView::convertFromRenderer(const RenderObject* renderer, const LayoutPoint& rendererPoint) const
+IntPoint FrameView::convertFromRenderer(const RenderObject* renderer, const IntPoint& rendererPoint) const
{
- LayoutPoint point = roundedLayoutPoint(renderer->localToAbsolute(rendererPoint, false, true /* use transforms */));
+ IntPoint point = roundedIntPoint(renderer->localToAbsolute(rendererPoint, false, true /* use transforms */));
// Convert from page ("absolute") to FrameView coordinates.
point.moveBy(-scrollPosition());
return point;
}
-LayoutPoint FrameView::convertToRenderer(const RenderObject* renderer, const LayoutPoint& viewPoint) const
+IntPoint FrameView::convertToRenderer(const RenderObject* renderer, const IntPoint& viewPoint) const
{
- LayoutPoint point = viewPoint;
+ IntPoint point = viewPoint;
// Convert from FrameView coords into page ("absolute") coordinates.
point += IntSize(scrollX(), scrollY());
@@ -2985,7 +2985,7 @@
return roundedIntPoint(renderer->absoluteToLocal(point, false, true /* use transforms */));
}
-LayoutRect FrameView::convertToContainingView(const LayoutRect& localRect) const
+IntRect FrameView::convertToContainingView(const IntRect& localRect) const
{
if (const ScrollView* parentScrollView = parent()) {
if (parentScrollView->isFrameView()) {
@@ -2995,7 +2995,7 @@
if (!renderer)
return localRect;
- LayoutRect rect(localRect);
+ IntRect rect(localRect);
// Add borders and padding??
rect.move(renderer->borderLeft() + renderer->paddingLeft(),
renderer->borderTop() + renderer->paddingTop());
@@ -3008,7 +3008,7 @@
return localRect;
}
-LayoutRect FrameView::convertFromContainingView(const LayoutRect& parentRect) const
+IntRect FrameView::convertFromContainingView(const IntRect& parentRect) const
{
if (const ScrollView* parentScrollView = parent()) {
if (parentScrollView->isFrameView()) {
@@ -3019,7 +3019,7 @@
if (!renderer)
return parentRect;
- LayoutRect rect = parentView->convertToRenderer(renderer, parentRect);
+ IntRect rect = parentView->convertToRenderer(renderer, parentRect);
// Subtract borders and padding
rect.move(-renderer->borderLeft() - renderer->paddingLeft(),
-renderer->borderTop() - renderer->paddingTop());
@@ -3032,7 +3032,7 @@
return parentRect;
}
-LayoutPoint FrameView::convertToContainingView(const LayoutPoint& localPoint) const
+IntPoint FrameView::convertToContainingView(const IntPoint& localPoint) const
{
if (const ScrollView* parentScrollView = parent()) {
if (parentScrollView->isFrameView()) {
@@ -3043,7 +3043,7 @@
if (!renderer)
return localPoint;
- LayoutPoint point(localPoint);
+ IntPoint point(localPoint);
// Add borders and padding
point.move(renderer->borderLeft() + renderer->paddingLeft(),
@@ -3057,7 +3057,7 @@
return localPoint;
}
-LayoutPoint FrameView::convertFromContainingView(const LayoutPoint& parentPoint) const
+IntPoint FrameView::convertFromContainingView(const IntPoint& parentPoint) const
{
if (const ScrollView* parentScrollView = parent()) {
if (parentScrollView->isFrameView()) {
@@ -3068,7 +3068,7 @@
if (!renderer)
return parentPoint;
- LayoutPoint point = parentView->convertToRenderer(renderer, parentPoint);
+ IntPoint point = parentView->convertToRenderer(renderer, parentPoint);
// Subtract borders and padding
point.move(-renderer->borderLeft() - renderer->paddingLeft(),
-renderer->borderTop() - renderer->paddingTop());
Modified: trunk/Source/WebCore/page/FrameView.h (100058 => 100059)
--- trunk/Source/WebCore/page/FrameView.h 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/FrameView.h 2011-11-12 02:53:52 UTC (rev 100059)
@@ -219,15 +219,15 @@
void addWidgetToUpdate(RenderEmbeddedObject*);
void removeWidgetToUpdate(RenderEmbeddedObject*);
- virtual void paintContents(GraphicsContext*, const LayoutRect& damageRect);
+ virtual void paintContents(GraphicsContext*, const IntRect& damageRect);
void setPaintBehavior(PaintBehavior);
PaintBehavior paintBehavior() const;
bool isPainting() const;
bool hasEverPainted() const { return m_lastPaintTime; }
void setNodeToDraw(Node*);
- virtual void paintOverhangAreas(GraphicsContext*, const LayoutRect& horizontalOverhangArea, const LayoutRect& verticalOverhangArea, const LayoutRect& dirtyRect);
- virtual void paintScrollCorner(GraphicsContext*, const LayoutRect& cornerRect);
+ virtual void paintOverhangAreas(GraphicsContext*, const IntRect& horizontalOverhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect);
+ virtual void paintScrollCorner(GraphicsContext*, const IntRect& cornerRect);
Color documentBackgroundColor() const;
@@ -336,7 +336,7 @@
void forceLayoutParentViewIfNeeded();
void performPostLayoutTasks();
- virtual void repaintContentRectangle(const LayoutRect&, bool immediate);
+ virtual void repaintContentRectangle(const IntRect&, bool immediate);
virtual void contentsResized();
virtual void visibleContentsResized();
Modified: trunk/Source/WebCore/page/Page.cpp (100058 => 100059)
--- trunk/Source/WebCore/page/Page.cpp 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/Page.cpp 2011-11-12 02:53:52 UTC (rev 100059)
@@ -619,7 +619,7 @@
}
}
-void Page::setPageScaleFactor(float scale, const LayoutPoint& origin)
+void Page::setPageScaleFactor(float scale, const IntPoint& origin)
{
if (scale == m_pageScaleFactor)
return;
Modified: trunk/Source/WebCore/page/Page.h (100058 => 100059)
--- trunk/Source/WebCore/page/Page.h 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/Page.h 2011-11-12 02:53:52 UTC (rev 100059)
@@ -245,7 +245,7 @@
float mediaVolume() const { return m_mediaVolume; }
void setMediaVolume(float volume);
- void setPageScaleFactor(float scale, const LayoutPoint& origin);
+ void setPageScaleFactor(float scale, const IntPoint& origin);
float pageScaleFactor() const { return m_pageScaleFactor; }
float deviceScaleFactor() const { return m_deviceScaleFactor; }
Modified: trunk/Source/WebCore/page/SpatialNavigation.cpp (100058 => 100059)
--- trunk/Source/WebCore/page/SpatialNavigation.cpp 2011-11-12 02:24:27 UTC (rev 100058)
+++ trunk/Source/WebCore/page/SpatialNavigation.cpp 2011-11-12 02:53:52 UTC (rev 100059)
@@ -361,7 +361,7 @@
return false;
}
- frame->view()->scrollBy(LayoutSize(dx, dy));
+ frame->view()->scrollBy(IntSize(dx, dy));
return true;
}
return false;