Skip to content
  • thatcher's avatar
    WebCore: · 3166fbf7
    thatcher authored
            Reviewed by Darin.
            
            http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
            elementAtPoint is expensive and should return a smart dictionary
    
            Support for WebKit. This removes the old elementAtPoint: on the bridge.
            WebKit now uses the bridge method getInnerNonSharedNode:innerNode:URLElement:atPoint:
    
            * WebCore.exp: removes the WebCore* dictionary keys
            * bindings/objc/DOM.mm:
            (-[DOMElement image]): new method to get an NSImage if the element has an image renderer
            * bindings/objc/DOMHTML.mm:
            (-[DOMHTMLElement titleDisplayString]): new method that returns the title after doing the backslash as currency symbol conversion
            (-[DOMHTMLInputElement altDisplayString]): ditto for alt
            (-[DOMHTMLImageElement altDisplayString]): ditto
            (-[DOMHTMLAppletElement altDisplayString]): ditto
            (-[DOMHTMLAreaElement altDisplayString]): ditto
            (-[DOMHTMLAnchorElement absoluteLinkURL]): new method to get the absolute NSURL
            (-[DOMHTMLAreaElement absoluteLinkURL]): ditto
            (-[DOMHTMLLinkElement absoluteLinkURL]): ditto
            (-[DOMHTMLInputElement absoluteImageURL]): new method to get the absolute image location as an NSURL
            (-[DOMHTMLImageElement absoluteImageURL]): ditto
            (-[DOMHTMLObjectElement absoluteImageURL]): ditto
            * bindings/objc/DOMPrivate.h:
            * bridge/mac/WebCoreFrameBridge.h:
            * bridge/mac/WebCoreFrameBridge.mm:
            (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:]):
            (-[WebCoreFrameBridge isPointInsideSelection:]):
            * dom/DocumentImpl.cpp:
            (WebCore::DocumentImpl::prepareMouseEvent):
            (WebCore::DocumentImpl::backslashAsCurrencySymbol):
            * dom/DocumentImpl.h:
            * rendering/render_layer.cpp:
            (WebCore::RenderLayer::hitTest):
            * rendering/render_object.h:
            (WebCore::RenderObject::NodeInfo::URLElement):
            (WebCore::RenderObject::NodeInfo::setURLElement):
    
    WebKit:
    
            Reviewed by Darin.
    
            http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
            elementAtPoint is expensive and should return a smart dictionary
            
            elementAtPoint for WebHTMLView now returns a WebElementDictionary,
            when objectForKey is called it will lookup in the DOM, cache and return the value
    
            * Misc/WebElementDictionary.h: Added.
            * Misc/WebElementDictionary.m: Added.
            (addLookupKey):
            (cacheValueForKey):
            (+[WebElementDictionary initializeLookupTable]):
            (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
            (-[WebElementDictionary dealloc]):
            (-[WebElementDictionary _fillCache]):
            (-[WebElementDictionary count]):
            (-[WebElementDictionary keyEnumerator]):
            (-[WebElementDictionary objectForKey:]):
            (-[WebElementDictionary _domNode]):
            (-[WebElementDictionary _webFrame]):
            (-[WebElementDictionary _targetWebFrame]):
            (-[WebElementDictionary _title]):
            (-[WebElementDictionary _imageRect]):
            (-[WebElementDictionary _isSelected]):
            * Misc/WebNSViewExtras.m:
            (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
            * WebKit.xcodeproj/project.pbxproj:
            * WebView/WebHTMLView.m:
            (-[WebHTMLView _updateMouseoverWithEvent:]):
            (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
            (-[NSArray elementAtPoint:]):
            * WebView/WebView.m:
            * WebView/WebViewPrivate.h:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    3166fbf7