[webkit-changes] cvs commit: WebCore/kwq KWQPoint.mm
KWQPointArray.h WebCoreBridge.mm
Timothy
thatcher at opensource.apple.com
Mon Dec 5 11:56:57 PST 2005
thatcher 05/12/05 11:56:57
Modified: . Tag: Safari-1-3-branch ChangeLog
kwq Tag: Safari-1-3-branch KWQPoint.mm KWQPointArray.h
WebCoreBridge.mm
Log:
Merged fix from TOT to Safari-1-3-branch
2005-12-05 Vicki Murley <vicki at apple.com>
Reviewed by John.
- fix <rdar://problem/4363132> Regression: status bar shows wrong text when mousing over links
in wacky frameset at directory.apple.com
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge elementAtPoint:]): reuse point to work with nested frames; add the overflow clip to
accommodate any scrolling
Revision Changes Path
No revision
No revision
1.335.2.49 +15 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.335.2.48
retrieving revision 1.335.2.49
diff -u -r1.335.2.48 -r1.335.2.49
--- ChangeLog 4 Dec 2005 21:59:23 -0000 1.335.2.48
+++ ChangeLog 5 Dec 2005 19:56:49 -0000 1.335.2.49
@@ -1,3 +1,18 @@
+2005-12-05 Timothy Hatcher <timothy at apple.com>
+
+ Merged fix from TOT to Safari-1-3-branch
+
+ 2005-12-05 Vicki Murley <vicki at apple.com>
+
+ Reviewed by John.
+
+ - fix <rdar://problem/4363132> Regression: status bar shows wrong text when mousing over links
+ in wacky frameset at directory.apple.com
+
+ * kwq/WebCoreBridge.mm:
+ (-[WebCoreBridge elementAtPoint:]): reuse point to work with nested frames; add the overflow clip to
+ accommodate any scrolling
+
=== WebCore-315.12 ===
2005-12-04 Timothy Hatcher <timothy at apple.com>
No revision
No revision
1.9.16.1 +5 -0 WebCore/kwq/KWQPoint.mm
Index: KWQPoint.mm
===================================================================
RCS file: /cvs/root/WebCore/kwq/KWQPoint.mm,v
retrieving revision 1.9
retrieving revision 1.9.16.1
diff -u -r1.9 -r1.9.16.1
--- KWQPoint.mm 4 May 2004 16:29:50 -0000 1.9
+++ KWQPoint.mm 5 Dec 2005 19:56:55 -0000 1.9.16.1
@@ -52,6 +52,11 @@
return QPoint(a.xCoord - b.xCoord, a.yCoord - b.yCoord);
}
+const QPoint operator*(const QPoint &p, double s)
+{
+ return QPoint((int)(p.xCoord * s), (int)(p.yCoord * s));
+}
+
#ifdef _KWQ_IOSTREAM_
std::ostream &operator<<(std::ostream &o, const QPoint &p)
{
1.26.16.1 +5 -0 WebCore/kwq/KWQPointArray.h
Index: KWQPointArray.h
===================================================================
RCS file: /cvs/root/WebCore/kwq/KWQPointArray.h,v
retrieving revision 1.26
retrieving revision 1.26.16.1
diff -u -r1.26 -r1.26.16.1
--- KWQPointArray.h 4 May 2004 16:29:50 -0000 1.26
+++ KWQPointArray.h 5 Dec 2005 19:56:55 -0000 1.26.16.1
@@ -44,7 +44,12 @@
int x() const { return xCoord; }
int y() const { return yCoord; }
+
+ void setX(int x) { xCoord = x; }
+ void setY(int y) { yCoord = y; }
+ QPoint &operator -=(const QPoint &two) { xCoord -= two.xCoord; yCoord -= two.yCoord; return *this; }
+ friend const QPoint operator*(const QPoint &p, double s);
friend QPoint operator+(const QPoint &, const QPoint &);
friend QPoint operator-(const QPoint &, const QPoint &);
1.383.6.8 +8 -5 WebCore/kwq/WebCoreBridge.mm
Index: WebCoreBridge.mm
===================================================================
RCS file: /cvs/root/WebCore/kwq/WebCoreBridge.mm,v
retrieving revision 1.383.6.7
retrieving revision 1.383.6.8
diff -u -r1.383.6.7 -r1.383.6.8
--- WebCoreBridge.mm 1 Dec 2005 23:55:40 -0000 1.383.6.7
+++ WebCoreBridge.mm 5 Dec 2005 19:56:55 -0000 1.383.6.8
@@ -1027,6 +1027,7 @@
NodeImpl *n;
QWidget *widget = 0;
+ QPoint widgetPoint(point);
while (true) {
n = nodeInfo.innerNode();
@@ -1038,12 +1039,14 @@
KHTMLPart *kpart = static_cast<DOM::HTMLFrameElementImpl *>(n)->contentPart();
if (!kpart || !static_cast<KWQKHTMLPart *>(kpart)->renderer())
break;
- int _x, _y;
- n->renderer()->absolutePosition(_x, _y, true);
- _x = (int)point.x - _x;
- _y = (int)point.y - _y;
+ int absX, absY;
+ n->renderer()->absolutePosition(absX, absY, true);
+ KHTMLView *view = static_cast<KHTMLView *>(widget);
+ widgetPoint.setX(widgetPoint.x() - absX + view->contentsX());
+ widgetPoint.setY(widgetPoint.y() - absY + view->contentsY());
+
RenderObject::NodeInfo widgetNodeInfo(true, true);
- static_cast<KWQKHTMLPart *>(kpart)->renderer()->layer()->hitTest(widgetNodeInfo, _x, _y);
+ static_cast<KWQKHTMLPart *>(kpart)->renderer()->layer()->hitTest(widgetNodeInfo, widgetPoint.x(), widgetPoint.y());
nodeInfo = widgetNodeInfo;
}
More information about the webkit-changes
mailing list