[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
trey
trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:21:46 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 5fb2ab0dbb9522199479eb4a9166ff16fda16289
Author: trey <trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jan 24 19:14:26 2003 +0000
WebCore:
3155162 - cursor changes to I-beam after dragging image
3154468 - no mouseup event comes through after text snippet drag
Export a means to reset the cursor to WebKit, which is used to fix these bugs.
Reviewed by Darin.
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::resetCursor): New method that just calls through to khtmlview's
private resetCursor method.
* kwq/WebCoreBridge.h: Add new method.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge resetCursor]): Call view's reset cursor.
WebKit:
3155162 - cursor changes to I-beam after dragging image
3154468 - no mouseup event comes through after text snippet drag
During AK dragging the system takes over the event stream and we never get any mouse
move or up events. It also changes the cursor behind out back. When done
cached state that thinks it knows the current cursor is wrong.
The fix is that after the drag we reset the cursor and synthesize a mouseup event,
which then sets the cursor based on what we're really over.
Reviewed by Darin.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView draggedImage:endedAt:operation:]): After the drag,
reset the cursor, fake up a mouseup event.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index fa583c1..50a6b5a 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,20 @@
+2003-01-24 Trey Matteson <trey at apple.com>
+
+ 3155162 - cursor changes to I-beam after dragging image
+ 3154468 - no mouseup event comes through after text snippet drag
+
+ Export a means to reset the cursor to WebKit, which is used to fix these bugs.
+
+ Reviewed by Darin.
+
+ * kwq/KWQKHTMLPart.h:
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::resetCursor): New method that just calls through to khtmlview's
+ private resetCursor method.
+ * kwq/WebCoreBridge.h: Add new method.
+ * kwq/WebCoreBridge.mm:
+ (-[WebCoreBridge resetCursor]): Call view's reset cursor.
+
2003-01-23 Trey Matteson <trey at apple.com>
I ran our KURL tests and found that my previous fix for "localhost" urls, fixed too much.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index fa583c1..50a6b5a 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,20 @@
+2003-01-24 Trey Matteson <trey at apple.com>
+
+ 3155162 - cursor changes to I-beam after dragging image
+ 3154468 - no mouseup event comes through after text snippet drag
+
+ Export a means to reset the cursor to WebKit, which is used to fix these bugs.
+
+ Reviewed by Darin.
+
+ * kwq/KWQKHTMLPart.h:
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::resetCursor): New method that just calls through to khtmlview's
+ private resetCursor method.
+ * kwq/WebCoreBridge.h: Add new method.
+ * kwq/WebCoreBridge.mm:
+ (-[WebCoreBridge resetCursor]): Call view's reset cursor.
+
2003-01-23 Trey Matteson <trey at apple.com>
I ran our KURL tests and found that my previous fix for "localhost" urls, fixed too much.
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index 54dd278..dff0c0e 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -158,6 +158,8 @@ public:
void mouseMoved(NSEvent *);
bool keyEvent(NSEvent *);
+ void resetCursor();
+
void clearTimers();
static void clearTimers(KHTMLView *);
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 2541a61..948bb8c 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -788,6 +788,11 @@ bool KWQKHTMLPart::keyEvent(NSEvent *event)
return result;
}
+void KWQKHTMLPart::resetCursor()
+{
+ d->m_view->resetCursor();
+}
+
// This does the same kind of work that KHTMLPart::openURL does, except it relies on the fact
// that a higher level already checked that the URLs match and the scrolling is the right thing to do.
void KWQKHTMLPart::scrollToAnchor(const KURL &URL)
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index b996913..934b5b1 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -138,6 +138,11 @@ enum FrameBorderStyle {
- (void)mouseMoved:(NSEvent *)event;
- (void)mouseDragged:(NSEvent *)event;
+// Resets the cursor to arrow. This is useful to flush everyone's idea of the current cursor,
+// so we aren't foiled by optimizations where a layer doesn't change the cursor because of its
+// (incorrect) idea of what the cursor already is.
+- (void)resetCursor;
+
- (NSView *)nextKeyView;
- (NSView *)previousKeyView;
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 077a1ed..b871d05 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -427,6 +427,11 @@ static bool initializedObjectCacheSize = FALSE;
_part->mouseMoved(event);
}
+- (void)resetCursor
+{
+ _part->resetCursor();
+}
+
- (NSDictionary *)elementAtPoint:(NSPoint)point
{
RenderObject *renderer = _part->renderer();
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index bb671e9..24c6296 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,21 @@
+2003-01-23 Trey Matteson <trey at apple.com>
+
+ 3155162 - cursor changes to I-beam after dragging image
+ 3154468 - no mouseup event comes through after text snippet drag
+
+ During AK dragging the system takes over the event stream and we never get any mouse
+ move or up events. It also changes the cursor behind out back. When done
+ cached state that thinks it knows the current cursor is wrong.
+
+ The fix is that after the drag we reset the cursor and synthesize a mouseup event,
+ which then sets the cursor based on what we're really over.
+
+ Reviewed by Darin.
+
+ * WebView.subproj/WebHTMLView.m:
+ (-[WebHTMLView draggedImage:endedAt:operation:]): After the drag,
+ reset the cursor, fake up a mouseup event.
+
2003-01-24 John Sullivan <sullivan at apple.com>
Reviewed by Trey
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index b9ede00..4969fa7 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -634,9 +634,19 @@
- (void)draggedImage:(NSImage *)anImage endedAt:(NSPoint)aPoint operation:(NSDragOperation)operation
{
- // During a drag, we don't get any mouseMoved or flagsChanged events.
- // So after the drag we need to explicitly update the mouseover state.
- [self _updateMouseoverWithFakeEvent];
+ // Once the dragging machinery kicks in, we no longer get mouse drags or the up event.
+ // khtml expects to get balanced down/up's, so we must fake up a mouseup.
+ NSEvent *fakeEvent = [NSEvent mouseEventWithType:NSLeftMouseUp
+ location:[[self window] convertScreenToBase:aPoint]
+ modifierFlags:[[NSApp currentEvent] modifierFlags]
+ timestamp:[NSDate timeIntervalSinceReferenceDate]
+ windowNumber:[[self window] windowNumber]
+ context:[[NSApp currentEvent] context]
+ eventNumber:0 clickCount:0 pressure:0];
+ // must reset since AK dragging changed the cursor behind out backs. Otherwise various
+ // layers optimize out changing the cursor because the think they know what it is currently.
+ [[self _bridge] resetCursor];
+ [self mouseUp:fakeEvent]; // This will also update the mouseover state.
// Reregister for drag types because they were unregistered before the drag.
[[self _web_parentWebView] _reregisterDraggedTypes];
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list