Skip to content
  • darin's avatar
    WebCore: · 7638f30c
    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