-
darin authored
Moved "overURL" handling out of WebCore into WebKit and Alex. Also separated the two levels of the "element dictionary" so they don't rely on having the same keys. * khtml/khtml_part.h: Revert the APPLE_CHANGES to overURL. * khtml/khtml_part.cpp: (KHTMLPart::overURL): Removed the APPLE_CHANGES and just ifdef'd out the whole thing for our version. (KHTMLPart::khtmlMouseMoveEvent): Get rid of the APPLE_CHANGES and don't do any of the status bar setup. * kwq/KWQKHTMLPartImpl.h: Remove overURL. * kwq/KWQKHTMLPartImpl.mm: Ditto. * kwq/WebCoreBridge.h: Change keys so they don't match the WebKit ones so we don't accidentally rely on that. Add WebCoreElementLinkTarget. * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Add code to set up WebCoreElementLinkTarget. WebKit: Machinery so we can handle mouseover feedback at the browser level. * WebView.subproj/WebWindowOperationsDelegate.h: Added mouseDidMoveOverElement:modifierFlags:. * WebKit.exp: Export WebElementLinkTargetFrameKey. * WebView.subproj/WebController.h: Add WebElementLinkTargetFrameKey. * WebView.subproj/WebController.m: Ditto. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView removeMouseMovedObserver]): Send a callback when we stop tracking the mouse altogether. (-[WebHTMLView viewDidMoveToWindow]): Only set up the mouse moved observer if we are the top-level HTML view. (-[WebHTMLView windowDidBecomeMain:]): Ditto. (-[WebHTMLView mouseMovedNotification:]): Handle mouse over if we are over any subview of the HTML view. Also send the callback. * WebView.subproj/WebHTMLViewPrivate.h: Added lastMouseOverElementWasNotNil, _mouseOverElement:modifierFlags: and _insideAnotherHTMLView. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): Copy over each element separately so we don't rely on keys matching. Find the target frame given the target string, and include it in the dictionary. (-[WebHTMLView _mouseOverElement:modifierFlags]): Added. Calls the window operations delegate method, but doesn't call it over and over again if the information is still "nil". (-[WebHTMLView _insideAnotherHTMLView]): Added. (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]): Added. Helper for the _elementAtPoint method which could be moved to WebNSDictionaryExtras some day. WebBrowser: - fixed 2935687 -- cmd-shift-click should open new window behind - fixed 3050456 -- Click modifier actions are decided by WebBrowser, but status messages come from WebCore * BrowserWebController.m: (-[BrowserWebController mouseDidMoveOverElement:modifierFlags:]): Added. Contains the same logic that used to be in WebCore for mouseover messages, but translated into WebKit-ese as opposed to WebCore-ese. * WebBrowser.pbproj/project.pbxproj: Change encoding of BrowserWebController.m to UTF-8. Be careful if you open this file without having the project open in Project Builder. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
7638f30c