Changeset 17399 in webkit
- Timestamp:
- Oct 28, 2006 11:28:00 AM (18 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 75 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r17398 r17399 1 2006-10-28 Beth Dakin <bdakin@apple.com> 2 3 Reviewed by Darin. 4 5 This is the WebCore half of pushing elementAtPoint and the backend 6 of WebElementDictionary into WebCore. Most of the changes below are 7 to accommodate one of the following: 8 9 -NodeInfo is now a stand-alone class called HitTestResult. 10 Previously it was defined in RenderObject.h, but not for 11 any particular reason. The WebElementDictionary 12 functionality that was pushed into WebCore has been pushed 13 specifically into the this class. In fact, 14 WebElementDictionary now keeps a HitTestResult as a member 15 varibale. 16 17 -The enumeration AccessPolicy is now called 18 ClipboardAccessPolicy and is defined in its own header. It 19 was previously defined in ClipboardMac.h, but is now 20 defined independently to avoid including ClipboardMac.h 21 from within FrameMac.h since FrameMac.h is now included in 22 WebElementDictionary.m in WebKit. 23 24 -Element now has a virtual target() for the sake of 25 NodeInfo::targetFrame() 26 27 * WebCore.exp: Several WebCore functions are newly called from 28 WebKit, so they have been added here. 29 * WebCore.xcodeproj/project.pbxproj: 30 * bindings/objc/DOM.mm: Must include Image.h because of adjustments 31 to ClipboardMac. 32 * bridge/mac/FrameMac.h: Adjust to HitTestResult changes. 33 * bridge/mac/FrameMac.mm: 34 (WebCore::FrameMac::freeClipboard): Adjust to ClipboardAccessPolicy 35 and HitTestResult changes. 36 (WebCore::FrameMac::eventMayStartDrag): Same. 37 (WebCore::FrameMac::handleMouseMoveEvent): Same. 38 (WebCore::FrameMac::dispatchCPPEvent): Same. 39 (WebCore::FrameMac::mayDHTMLCut): Same. 40 (WebCore::FrameMac::mayDHTMLCopy): Same. 41 (WebCore::FrameMac::mayDHTMLPaste): Same. 42 (WebCore::FrameMac::tryDHTMLCut): Same 43 (WebCore::FrameMac::tryDHTMLCopy): Same. 44 (WebCore::FrameMac::tryDHTMLPaste): Same. 45 * bridge/mac/WebCoreAXObject.mm: 46 (-[WebCoreAXObject doAXTextMarkerForPosition:]): Adjust to 47 HitTestResult changes. 48 (-[WebCoreAXObject accessibilityHitTest:]): Same. 49 * bridge/mac/WebCoreFrameBridge.h: Same. 50 * bridge/mac/WebCoreFrameBridge.mm: 51 (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): Adjust for 52 ClipboardAccessPolicy changes. 53 (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): Same. 54 (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): Same. 55 * dom/Document.cpp: 56 (WebCore::Document::elementFromPoint): Adjust for HitTestResult 57 changes. 58 (WebCore::Document::prepareMouseEvent): Same. 59 * dom/Element.h: 60 (WebCore::Element::target): Now has a virtual target() 61 * html/HTMLAnchorElement.h: Same. 62 * html/HTMLAreaElement.cpp: 63 (WebCore::HTMLAreaElement::mapMouseEvent): Adjust for HitTestResult 64 changes. 65 * html/HTMLAreaElement.h: Virtual target() 66 * html/HTMLBaseElement.h: 67 (WebCore::HTMLBaseElement::target): Same. 68 * html/HTMLFormElement.h: Same. 69 * html/HTMLLinkElement.h: Same. 70 * html/HTMLMapElement.cpp: 71 (WebCore::HTMLMapElement::mapMouseEvent): Adjust for HitTestResult 72 changes. 73 * html/HTMLMapElement.h: Same. 74 * page/Frame.cpp: 75 (WebCore::Frame::isPointInsideSelection): Same. 76 (WebCore::Frame::hitTestResultAtPoint): Same. 77 * page/Frame.h: Same. 78 * page/FrameView.cpp: 79 (WebCore::FrameView::handleWheelEvent): Same. 80 * platform/mac/ClipboardAccessPolicy.h: Added. 81 (WebCore::): 82 * platform/mac/ClipboardMac.h: Remove definition of AccessPolicy, 83 include ClipboardAccessPolicy.h, and rename AccessPolicy to 84 ClipboardAccessPolicy. 85 * platform/mac/ClipboardMac.mm: Rename ClipboardAccessPolicy. 86 (WebCore::ClipboardMac::ClipboardMac): 87 (WebCore::ClipboardMac::setAccessPolicy): 88 (WebCore::ClipboardMac::clearData): 89 (WebCore::ClipboardMac::clearAllData): 90 (WebCore::ClipboardMac::getData): 91 (WebCore::ClipboardMac::setData): 92 (WebCore::ClipboardMac::types): 93 (WebCore::ClipboardMac::setDragImage): 94 (WebCore::ClipboardMac::setDropEffect): 95 (WebCore::ClipboardMac::setEffectAllowed): 96 * rendering/EllipsisBox.cpp: 97 (WebCore::EllipsisBox::nodeAtPoint): Adjust for HitTestResult 98 changes. 99 * rendering/EllipsisBox.h: 100 * rendering/HitTestResult.cpp: Added. 101 (WebCore::HitTestResult::HitTestResult): 102 (WebCore::HitTestResult::~HitTestResult): 103 (WebCore::HitTestResult::operator=): 104 (WebCore::HitTestResult::setInnerNode): 105 (WebCore::HitTestResult::setInnerNonSharedNode): 106 (WebCore::HitTestResult::setURLElement): 107 (WebCore::HitTestResult::setScrollbar): 108 (WebCore::HitTestResult::targetFrame): 109 (WebCore::HitTestResult::boundingBox): 110 (WebCore::HitTestResult::isSelected): 111 (WebCore::HitTestResult::title): 112 * rendering/HitTestResult.h: Added. 113 (WebCore::HitTestResult::readonly): 114 (WebCore::HitTestResult::active): 115 (WebCore::HitTestResult::mouseMove): 116 (WebCore::HitTestResult::innerNode): 117 (WebCore::HitTestResult::innerNonSharedNode): 118 (WebCore::HitTestResult::point): 119 (WebCore::HitTestResult::URLElement): 120 (WebCore::HitTestResult::scrollbar): 121 (WebCore::HitTestResult::setPoint): 122 (WebCore::HitTestResult::setReadonly): 123 (WebCore::HitTestResult::setActive): 124 (WebCore::HitTestResult::setMouseMove): 125 * rendering/InlineBox.cpp: 126 (WebCore::InlineBox::nodeAtPoint): Adjust to HitTestResult changes. 127 * rendering/InlineBox.h: Same. 128 * rendering/InlineFlowBox.cpp: 129 (WebCore::InlineFlowBox::nodeAtPoint): Same. 130 * rendering/InlineFlowBox.h: Same. 131 * rendering/InlineTextBox.cpp: 132 (WebCore::InlineTextBox::nodeAtPoint): Same. 133 * rendering/InlineTextBox.h: Same. 134 * rendering/RenderBlock.cpp: 135 (WebCore::RenderBlock::isPointInScrollbar): Same. 136 (WebCore::RenderBlock::nodeAtPoint): Same. 137 * rendering/RenderBlock.h: Same. 138 * rendering/RenderBox.cpp: 139 (WebCore::RenderBox::nodeAtPoint): Same. 140 * rendering/RenderBox.h: Same. 141 * rendering/RenderFlow.cpp: 142 (WebCore::RenderFlow::hitTestLines): Same. 143 * rendering/RenderFlow.h: Same. 144 * rendering/RenderForeignObject.cpp: 145 (WebCore::RenderForeignObject::nodeAtPoint): Same. 146 * rendering/RenderForeignObject.h: Same. 147 * rendering/RenderFrameSet.cpp: 148 (WebCore::RenderFrameSet::nodeAtPoint): Same. 149 * rendering/RenderFrameSet.h: Same. 150 * rendering/RenderImage.cpp: 151 (WebCore::RenderImage::nodeAtPoint): Same. 152 * rendering/RenderImage.h: Same. 153 * rendering/RenderInline.cpp: 154 (WebCore::RenderInline::nodeAtPoint): Same. 155 * rendering/RenderInline.h: Same. 156 * rendering/RenderLayer.cpp: 157 (WebCore::RenderLayer::autoscroll): Same. 158 (WebCore::RenderLayer::hitTest): Same. 159 (WebCore::RenderLayer::hitTestLayer): Same. 160 (WebCore::RenderLayer::updateHoverActiveState): Same. 161 * rendering/RenderLayer.h: Same. 162 * rendering/RenderListBox.cpp: 163 (WebCore::RenderListBox::isPointInScrollbar): Same. 164 * rendering/RenderListBox.h: Same. 165 * rendering/RenderObject.cpp: 166 (WebCore::RenderObject::hitTest): Same. 167 (WebCore::RenderObject::setInnerNode): Same. 168 (WebCore::RenderObject::nodeAtPoint): Same. 169 * rendering/RenderObject.h: Remove NodeInfo class and forward 170 declare HitTestResult. 171 * rendering/RenderPath.cpp: 172 (WebCore::RenderPath::nodeAtPoint): Adjust to HitTestResult 173 changes. 174 * rendering/RenderPath.h: Same. 175 * rendering/RenderSVGImage.cpp: 176 (WebCore::RenderSVGImage::nodeAtPoint): Same. 177 * rendering/RenderSVGImage.h: Same 178 * rendering/RenderSVGText.cpp: 179 (WebCore::RenderSVGText::nodeAtPoint): Same. 180 * rendering/RenderSVGText.h: Same. 181 * rendering/RenderTableRow.cpp: 182 (WebCore::RenderTableRow::nodeAtPoint): Same. 183 * rendering/RenderTableRow.h: Same. 184 * rendering/RenderTableSection.cpp: 185 (WebCore::RenderTableSection::nodeAtPoint): Same. 186 * rendering/RenderTableSection.h: Same. 187 * rendering/RenderText.h: Same. 188 (WebCore::RenderText::nodeAtPoint): Same. 189 * rendering/RenderTextControl.cpp: 190 (WebCore::RenderTextControl::nodeAtPoint): Same. 191 * rendering/RenderTextControl.h: Same. 192 * rendering/RootInlineBox.cpp: 193 (WebCore::RootInlineBox::nodeAtPoint): Same. 194 * rendering/RootInlineBox.h: Same. 195 1 196 2006-10-27 Maciej Stachowiak <mjs@apple.com> 2 197 -
trunk/WebCore/WebCore.exp
r17396 r17399 160 160 __ZN7WebCore11RenderLayer18gAlignCenterAlwaysE 161 161 __ZN7WebCore12AtomicString3addEPNS_10StringImplE 162 __ZN7WebCore13HitTestResultC1ERKS0_ 163 __ZN7WebCore13HitTestResultC1Ebbb 164 __ZN7WebCore13HitTestResultD1Ev 165 __ZN7WebCore13HitTestResultaSERKS0_ 162 166 __ZN7WebCore14DocumentLoader12setCommittedEb 163 167 __ZN7WebCore14DocumentLoader13attachToFrameEv … … 182 186 __ZN7WebCore5Frame14scrollToAnchorERKNS_4KURLE 183 187 __ZN7WebCore5Frame17setWindowHasFocusEb 188 __ZN7WebCore5Frame20hitTestResultAtPointERKNS_8IntPointEb 184 189 __ZN7WebCore5Frame20setSelectionFromNoneEv 185 190 __ZN7WebCore5Frame21setProhibitsScrollingEb … … 210 215 __ZN7WebCore8FrameMac8keyEventEP7NSEvent 211 216 __ZN7WebCore8FrameMac9mouseDownEP7NSEvent 217 __ZN7WebCore8IntPointC1ERK8_NSPoint 212 218 __ZN7WebCore9FrameTree11appendChildEN3WTF10PassRefPtrINS_5FrameEEE 213 219 __ZN7WebCore9FrameTree7setNameERKNS_12AtomicStringE … … 218 224 __ZNK7WebCore10StringImplcvP8NSStringEv 219 225 __ZNK7WebCore10StringImplcvP8NSStringEv 226 __ZNK7WebCore10StringImplcvP8NSStringEv 220 227 __ZNK7WebCore11FrameLoader14documentLoaderEv 221 228 __ZNK7WebCore11FrameLoader15defersCallbacksEv … … 223 230 __ZNK7WebCore11FrameLoader20activeDocumentLoaderEv 224 231 __ZNK7WebCore11FrameLoader21isQuickRedirectComingEv 232 __ZNK7WebCore11FrameLoader27numPendingOrLoadingRequestsEb 225 233 __ZNK7WebCore11FrameLoader6clientEv 226 234 __ZNK7WebCore11FrameLoader8loadTypeEv 235 __ZNK7WebCore13HitTestResult10isSelectedEv 236 __ZNK7WebCore13HitTestResult11boundingBoxEv 237 __ZNK7WebCore13HitTestResult11targetFrameEv 238 __ZNK7WebCore13HitTestResult5titleEv 227 239 __ZNK7WebCore14DocumentLoader10isStoppingEv 228 240 __ZNK7WebCore14DocumentLoader11frameLoaderEv … … 258 270 __ZNK7WebCore5Frame8documentEv 259 271 __ZNK7WebCore5Frame8referrerEv 272 __ZNK7WebCore5Frame8rendererEv 260 273 __ZNK7WebCore7IntRectcv6CGRectEv 274 __ZNK7WebCore7IntRectcv7_NSRectEv 261 275 __ZNK7WebCore7IntRectcv7_NSRectEv 262 276 __ZNK7WebCore8FrameMac14selectionImageEb … … 266 280 __ZNK7WebCore9FloatRectcv6CGRectEv 267 281 __ZNK7WebCore9FloatRectcv7_NSRectEv 282 __ZNK7WebCore9FrameTree12traverseNextEPKNS_5FrameE 283 __ZNK7WebCore9FrameTree14isDescendantOfEPKNS_5FrameE 268 284 __ZNK7WebCore9FrameTree20traverseNextWithWrapEb 269 285 __ZNK7WebCore9FrameTree24traversePreviousWithWrapEb … … 325 341 _wkSignalCFReadStreamHasBytes 326 342 _wkSupportsMultipartXMixedReplace 327 __ZNK7WebCore11FrameLoader27numPendingOrLoadingRequestsEb328 __ZNK7WebCore9FrameTree12traverseNextEPKNS_5FrameE329 __ZNK7WebCore9FrameTree14isDescendantOfEPKNS_5FrameE330 343 -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r17396 r17399 954 954 85B498F30ADB336A00925CBB /* DOMCSSValueInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85B498F20ADB336A00925CBB /* DOMCSSValueInternal.h */; }; 955 955 85B498F50ADB337A00925CBB /* DOMEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85B498F40ADB337A00925CBB /* DOMEventInternal.h */; }; 956 85B498FB0ADB340200925CBB /* DOMNodeInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85B498FA0ADB340200925CBB /* DOMNodeInternal.h */; };956 85B498FB0ADB340200925CBB /* DOMNodeInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85B498FA0ADB340200925CBB /* DOMNodeInternal.h */; settings = {ATTRIBUTES = (); }; }; 957 957 85B498FF0ADB348100925CBB /* DOMStyleSheetInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85B498FE0ADB348100925CBB /* DOMStyleSheetInternal.h */; }; 958 958 85B499010ADB34B300925CBB /* DOMSVGPathSegInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85B499000ADB34B300925CBB /* DOMSVGPathSegInternal.h */; }; … … 1186 1186 85E711960AC5D5350053270F /* DOMDocumentTypeInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711470AC5D5340053270F /* DOMDocumentTypeInternal.h */; }; 1187 1187 85E711970AC5D5350053270F /* DOMDOMImplementationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711480AC5D5340053270F /* DOMDOMImplementationInternal.h */; }; 1188 85E711980AC5D5350053270F /* DOMElementInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711490AC5D5340053270F /* DOMElementInternal.h */; };1188 85E711980AC5D5350053270F /* DOMElementInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711490AC5D5340053270F /* DOMElementInternal.h */; settings = {ATTRIBUTES = (); }; }; 1189 1189 85E711990AC5D5350053270F /* DOMEntityInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E7114A0AC5D5340053270F /* DOMEntityInternal.h */; }; 1190 1190 85E7119A0AC5D5350053270F /* DOMEntityReferenceInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E7114B0AC5D5340053270F /* DOMEntityReferenceInternal.h */; }; … … 1246 1246 85E711D20AC5D5350053270F /* DOMNamedNodeMapInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711830AC5D5350053270F /* DOMNamedNodeMapInternal.h */; }; 1247 1247 85E711D30AC5D5350053270F /* DOMNodeListInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711840AC5D5350053270F /* DOMNodeListInternal.h */; }; 1248 85E711D40AC5D5350053270F /* DOMNotationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711850AC5D5350053270F /* DOMNotationInternal.h */; };1248 85E711D40AC5D5350053270F /* DOMNotationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711850AC5D5350053270F /* DOMNotationInternal.h */; settings = {ATTRIBUTES = (); }; }; 1249 1249 85E711D50AC5D5350053270F /* DOMProcessingInstructionInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711860AC5D5350053270F /* DOMProcessingInstructionInternal.h */; }; 1250 1250 85E711D60AC5D5350053270F /* DOMRectInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711870AC5D5350053270F /* DOMRectInternal.h */; }; … … 1314 1314 93032CC809AEC34300F82A18 /* PathCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93032CC709AEC34300F82A18 /* PathCG.cpp */; }; 1315 1315 93032CCA09AEC34B00F82A18 /* Path.h in Headers */ = {isa = PBXBuildFile; fileRef = 93032CC909AEC34B00F82A18 /* Path.h */; }; 1316 930500200AF025D300FFF491 /* ClipboardAccessPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 9305001F0AF025D300FFF491 /* ClipboardAccessPolicy.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1316 1317 9305B24D098F1B6B00C28855 /* Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9305B24C098F1B6B00C28855 /* Timer.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1317 1318 9307056C09E0AF8F00B17FE4 /* csshelper.h in Headers */ = {isa = PBXBuildFile; fileRef = BCEA4786097CAAC80094C9E4 /* csshelper.h */; }; … … 1320 1321 930705E909E0C9F000B17FE4 /* JSCSSPrimitiveValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 930705E809E0C9F000B17FE4 /* JSCSSPrimitiveValue.cpp */; }; 1321 1322 930705EB09E0C9F600B17FE4 /* JSCSSPrimitiveValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 930705EA09E0C9F600B17FE4 /* JSCSSPrimitiveValue.h */; }; 1323 9307F1130AF2C8BE00DBA31A /* DOMNodeInternal.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 85B498FA0ADB340200925CBB /* DOMNodeInternal.h */; }; 1324 9307F1D70AF2D59000DBA31A /* HitTestResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9307F1D50AF2D59000DBA31A /* HitTestResult.cpp */; }; 1325 9307F1D80AF2D59000DBA31A /* HitTestResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 9307F1D60AF2D59000DBA31A /* HitTestResult.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1322 1326 93126F6109D7A736008D9626 /* StringHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 93126F6009D7A736008D9626 /* StringHash.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1323 1327 9326DC0B09DAD5BE00AFC847 /* CharsetData.h in Headers */ = {isa = PBXBuildFile; fileRef = 9326DC0A09DAD5BE00AFC847 /* CharsetData.h */; }; … … 2533 2537 BC1A37BF097C715F0019F3D8 /* DOMUtility.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC1A37A9097C715F0019F3D8 /* DOMUtility.mm */; }; 2534 2538 BC1A37C0097C715F0019F3D8 /* DOMViews.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1A37AA097C715F0019F3D8 /* DOMViews.h */; settings = {ATTRIBUTES = (Private, ); }; }; 2535 BC3FCAA90AC3DB5800BA54AD /* PlatformScrollBar.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3FCAA80AC3DB5800BA54AD /* PlatformScrollBar.h */; };2539 BC3FCAA90AC3DB5800BA54AD /* PlatformScrollBar.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3FCAA80AC3DB5800BA54AD /* PlatformScrollBar.h */; settings = {ATTRIBUTES = (); }; }; 2536 2540 BC6B7BAF0993603C0052867B /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC6B7BAE0993603C0052867B /* Image.cpp */; }; 2537 2541 BC6B7ECF0998AC7F0052867B /* ImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = BC6B7ECE0998AC7F0052867B /* ImageSource.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 2733 2737 1CB4214B0AF2B2CA0085AD91 /* DOMElementInternal.h in Copy Generated Headers */, 2734 2738 1CB4214C0AF2B2CA0085AD91 /* DOMHTMLElementInternal.h in Copy Generated Headers */, 2739 9307F1130AF2C8BE00DBA31A /* DOMNodeInternal.h in Copy Generated Headers */, 2735 2740 1CB4214D0AF2B2CA0085AD91 /* DOMRangeInternal.h in Copy Generated Headers */, 2736 2741 85B916870AEBDBC4008DD727 /* DOMHTMLFormElementPrivate.h in Copy Generated Headers */, … … 4176 4181 93032CC709AEC34300F82A18 /* PathCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathCG.cpp; sourceTree = "<group>"; }; 4177 4182 93032CC909AEC34B00F82A18 /* Path.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Path.h; sourceTree = "<group>"; }; 4183 9305001F0AF025D300FFF491 /* ClipboardAccessPolicy.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClipboardAccessPolicy.h; sourceTree = "<group>"; }; 4178 4184 9305B24C098F1B6B00C28855 /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Timer.h; sourceTree = "<group>"; }; 4179 4185 9307059009E0C75800B17FE4 /* CSSPrimitiveValue.idl */ = {isa = PBXFileReference; explicitFileType = sourcecode; fileEncoding = 4; path = CSSPrimitiveValue.idl; sourceTree = "<group>"; }; … … 4184 4190 930705EA09E0C9F600B17FE4 /* JSCSSPrimitiveValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCSSPrimitiveValue.h; sourceTree = "<group>"; }; 4185 4191 9307061309E0CA8200B17FE4 /* DerivedSources.make */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = DerivedSources.make; sourceTree = "<group>"; usesTabs = 1; }; 4192 9307F1D50AF2D59000DBA31A /* HitTestResult.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HitTestResult.cpp; sourceTree = "<group>"; }; 4193 9307F1D60AF2D59000DBA31A /* HitTestResult.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HitTestResult.h; sourceTree = "<group>"; }; 4186 4194 930CAAD609C495B600229C04 /* CanvasRenderingContext2D.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CanvasRenderingContext2D.idl; sourceTree = "<group>"; }; 4187 4195 930CAB8809C49EFA00229C04 /* CanvasGradient.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CanvasGradient.idl; sourceTree = "<group>"; }; … … 6376 6384 65A640F00533BB1F0085E777 /* BlockExceptions.h */, 6377 6385 65F80697054D9F86008BF776 /* BlockExceptions.mm */, 6386 9305001F0AF025D300FFF491 /* ClipboardAccessPolicy.h */, 6378 6387 2D90660B0665D937006B6F1A /* ClipboardMac.h */, 6379 6388 2D90660C0665D937006B6F1A /* ClipboardMac.mm */, … … 8786 8795 A8CFF04A0A154F09000A4234 /* FixedTableLayout.h */, 8787 8796 935C477409AC4D8D00A6AAB4 /* GapRects.h */, 8797 9307F1D50AF2D59000DBA31A /* HitTestResult.cpp */, 8798 9307F1D60AF2D59000DBA31A /* HitTestResult.h */, 8788 8799 A8CFF5DF0A155A05000A4234 /* InlineBox.cpp */, 8789 8800 A8CFF5DE0A155A05000A4234 /* InlineBox.h */, … … 10468 10479 655A81BB0AEF67D4000975F0 /* WebCoreResourceLoaderImp.h in Headers */, 10469 10480 655A81BE0AEF67E6000975F0 /* HTTPHeaderMap.h in Headers */, 10481 930500200AF025D300FFF491 /* ClipboardAccessPolicy.h in Headers */, 10482 9307F1D80AF2D59000DBA31A /* HitTestResult.h in Headers */, 10470 10483 ); 10471 10484 runOnlyForDeploymentPostprocessing = 0; … … 10502 10515 isa = PBXProject; 10503 10516 buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject "WebCore" */; 10504 compatibilityVersion = "Xcode 2.4";10505 10517 hasScannedForEncodings = 1; 10506 10518 knownRegions = ( … … 10516 10528 productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; 10517 10529 projectDirPath = ""; 10518 projectRoot = "";10519 shouldCheckCompatibility = 1;10520 10530 targets = ( 10521 10531 93F198A508245E59001E9ABC /* WebCore */, … … 11705 11715 654F68880AF1B7C50065BDD6 /* CachedResourceMac.mm in Sources */, 11706 11716 655A81BC0AEF67D4000975F0 /* WebCoreResourceLoaderImp.mm in Sources */, 11717 9307F1D70AF2D59000DBA31A /* HitTestResult.cpp in Sources */, 11707 11718 ); 11708 11719 runOnlyForDeploymentPostprocessing = 0; -
trunk/WebCore/bindings/objc/DOM.mm
r17121 r17399 48 48 #import "HTMLNames.h" 49 49 #import "HTMLPlugInElement.h" 50 #import "Image.h" 50 51 #import "IntRect.h" 51 52 #import "NodeFilter.h" -
trunk/WebCore/bridge/mac/FrameMac.h
r17393 r17399 27 27 #define FrameMac_h 28 28 29 #import "Clipboard Mac.h"29 #import "ClipboardAccessPolicy.h" 30 30 #import "Frame.h" 31 31 #import "IntRect.h" … … 85 85 class WebScriptObject; 86 86 87 typedef unsigned int NSDragOperation; 87 88 typedef int NSWritingDirection; 88 89 … … 91 92 namespace WebCore { 92 93 94 class ClipboardMac; 93 95 class DocumentFragment; 94 96 class EditorClient; … … 338 340 static NSView* documentViewForNode(Node*); 339 341 340 bool dispatchCPPEvent(const AtomicString &eventType, Clipboard Mac::AccessPolicy policy);342 bool dispatchCPPEvent(const AtomicString &eventType, ClipboardAccessPolicy policy); 341 343 342 344 NSImage* imageFromRect(NSRect) const; -
trunk/WebCore/bridge/mac/FrameMac.mm
r17397 r17399 34 34 #import "Cache.h" 35 35 #import "ClipboardEvent.h" 36 #import "ClipboardMac.h" 36 37 #import "Cursor.h" 37 38 #import "WebDocumentLoader.h" … … 59 60 #import "Logging.h" 60 61 #import "MouseEventWithHitTestResults.h" 62 #import "HitTestResult.h" 61 63 #import "PlatformKeyboardEvent.h" 62 64 #import "PlatformScrollBar.h" … … 383 385 { 384 386 if (_dragClipboard) 385 _dragClipboard->setAccessPolicy(Clipboard Mac::Numb);387 _dragClipboard->setAccessPolicy(ClipboardNumb); 386 388 } 387 389 … … 1557 1559 NSPoint loc = [event locationInWindow]; 1558 1560 IntPoint mouseDownPos = d->m_view->windowToContents(IntPoint(loc)); 1559 RenderObject::NodeInfo nodeInfo(true, false);1560 renderer()->layer()->hitTest( nodeInfo, mouseDownPos);1561 HitTestResult result(true, false); 1562 renderer()->layer()->hitTest(result, mouseDownPos); 1561 1563 bool srcIsDHTML; 1562 return nodeInfo.innerNode()->renderer()->draggableNode(DHTMLFlag, UAFlag, mouseDownPos.x(), mouseDownPos.y(), srcIsDHTML);1564 return result.innerNode()->renderer()->draggableNode(DHTMLFlag, UAFlag, mouseDownPos.x(), mouseDownPos.y(), srcIsDHTML); 1563 1565 } 1564 1566 … … 1617 1619 if (mouseDownMayStartDrag() && !_dragSrc) { 1618 1620 // try to find an element that wants to be dragged 1619 RenderObject::NodeInfo nodeInfo(true, false);1620 renderer()->layer()->hitTest( nodeInfo, m_mouseDownPos);1621 Node *node = nodeInfo.innerNode();1621 HitTestResult result(true, false); 1622 renderer()->layer()->hitTest(result, m_mouseDownPos); 1623 Node *node = result.innerNode(); 1622 1624 _dragSrc = (node && node->renderer()) ? node->renderer()->draggableNode(_dragSrcMayBeDHTML, _dragSrcMayBeUA, m_mouseDownPos.x(), m_mouseDownPos.y(), _dragSrcIsDHTML) : 0; 1623 1625 if (!_dragSrc) { 1624 1626 setMouseDownMayStartDrag(false); // no element is draggable 1625 1627 } else { 1626 // remember some facts about this source, while we have a NodeInfohandy1627 node = nodeInfo.URLElement();1628 // remember some facts about this source, while we have a HitTestResult handy 1629 node = result.URLElement(); 1628 1630 _dragSrcIsLink = node && node->isLink(); 1629 1631 1630 node = nodeInfo.innerNonSharedNode();1632 node = result.innerNonSharedNode(); 1631 1633 _dragSrcIsImage = node && node->renderer() && node->renderer()->isImage(); 1632 1634 … … 1667 1669 freeClipboard(); // would only happen if we missed a dragEnd. Do it anyway, just 1668 1670 // to make sure it gets numbified 1669 _dragClipboard = new ClipboardMac(true, pasteboard, Clipboard Mac::Writable, this);1671 _dragClipboard = new ClipboardMac(true, pasteboard, ClipboardWritable, this); 1670 1672 1671 1673 // If this is drag of an element, get set up to generate a default image. Otherwise … … 1681 1683 // Invalidate clipboard here against anymore pasteboard writing for security. The drag 1682 1684 // image can still be changed as we drag, but not the pasteboard data. 1683 _dragClipboard->setAccessPolicy(Clipboard Mac::ImageWritable);1685 _dragClipboard->setAccessPolicy(ClipboardImageWritable); 1684 1686 1685 1687 if (mouseDownMayStartDrag()) { … … 1739 1741 // Returns whether caller should continue with "the default processing", which is the same as 1740 1742 // the event handler NOT setting the return value to false 1741 bool FrameMac::dispatchCPPEvent(const AtomicString &eventType, Clipboard Mac::AccessPolicy policy)1743 bool FrameMac::dispatchCPPEvent(const AtomicString &eventType, ClipboardAccessPolicy policy) 1742 1744 { 1743 1745 Node* target = selectionController()->start().element(); … … 1749 1751 target = target->shadowParentNode(); 1750 1752 1751 RefPtr<ClipboardMac> clipboard = new ClipboardMac(false, [NSPasteboard generalPasteboard], (Clipboard Mac::AccessPolicy)policy);1753 RefPtr<ClipboardMac> clipboard = new ClipboardMac(false, [NSPasteboard generalPasteboard], (ClipboardAccessPolicy)policy); 1752 1754 1753 1755 ExceptionCode ec = 0; … … 1757 1759 1758 1760 // invalidate clipboard here for security 1759 clipboard->setAccessPolicy(Clipboard Mac::Numb);1761 clipboard->setAccessPolicy(ClipboardNumb); 1760 1762 1761 1763 return !noDefaultProcessing; … … 1769 1771 bool FrameMac::mayDHTMLCut() 1770 1772 { 1771 return mayCopy() && !dispatchCPPEvent(beforecutEvent, Clipboard Mac::Numb);1773 return mayCopy() && !dispatchCPPEvent(beforecutEvent, ClipboardNumb); 1772 1774 } 1773 1775 1774 1776 bool FrameMac::mayDHTMLCopy() 1775 1777 { 1776 return mayCopy() && !dispatchCPPEvent(beforecopyEvent, Clipboard Mac::Numb);1778 return mayCopy() && !dispatchCPPEvent(beforecopyEvent, ClipboardNumb); 1777 1779 } 1778 1780 1779 1781 bool FrameMac::mayDHTMLPaste() 1780 1782 { 1781 return !dispatchCPPEvent(beforepasteEvent, Clipboard Mac::Numb);1783 return !dispatchCPPEvent(beforepasteEvent, ClipboardNumb); 1782 1784 } 1783 1785 … … 1791 1793 [[NSPasteboard generalPasteboard] declareTypes:[NSArray array] owner:nil]; 1792 1794 1793 return !dispatchCPPEvent(cutEvent, Clipboard Mac::Writable);1795 return !dispatchCPPEvent(cutEvent, ClipboardWritable); 1794 1796 } 1795 1797 … … 1803 1805 [[NSPasteboard generalPasteboard] declareTypes:[NSArray array] owner:nil]; 1804 1806 1805 return !dispatchCPPEvent(copyEvent, Clipboard Mac::Writable);1807 return !dispatchCPPEvent(copyEvent, ClipboardWritable); 1806 1808 } 1807 1809 1808 1810 bool FrameMac::tryDHTMLPaste() 1809 1811 { 1810 return !dispatchCPPEvent(pasteEvent, Clipboard Mac::Readable);1812 return !dispatchCPPEvent(pasteEvent, ClipboardReadable); 1811 1813 } 1812 1814 -
trunk/WebCore/bridge/mac/WebCoreAXObject.mm
r17373 r17399 43 43 #import "HTMLNames.h" 44 44 #import "HTMLSelectElement.h" 45 #import "HitTestResult.h" 45 46 #import "RenderImage.h" 46 47 #import "RenderListMarker.h" … … 1263 1264 ourpoint = [view convertPoint:windowCoord fromView:nil]; 1264 1265 1265 RenderObject::NodeInfo nodeInfo(true, true);1266 renderer->layer()->hitTest( nodeInfo, IntPoint(ourpoint));1267 innerNode = nodeInfo.innerNode();1266 HitTestResult result(true, true); 1267 renderer->layer()->hitTest(result, IntPoint(ourpoint)); 1268 innerNode = result.innerNode(); 1268 1269 if (!innerNode || !innerNode->renderer()) 1269 1270 return nil; … … 2303 2304 return NSAccessibilityUnignoredAncestor(self); 2304 2305 2305 RenderObject::NodeInfo nodeInfo(true, true);2306 m_renderer->layer()->hitTest( nodeInfo, IntPoint(point));2307 if (! nodeInfo.innerNode())2306 HitTestResult result(true, true); 2307 m_renderer->layer()->hitTest(result, IntPoint(point)); 2308 if (!result.innerNode()) 2308 2309 return NSAccessibilityUnignoredAncestor(self); 2309 Node* node = nodeInfo.innerNode()->shadowAncestorNode();2310 Node* node = result.innerNode()->shadowAncestorNode(); 2310 2311 RenderObject* obj = node->renderer(); 2311 2312 if (!obj) -
trunk/WebCore/bridge/mac/WebCoreFrameBridge.h
r17396 r17399 253 253 - (NSString *)renderTreeAsExternalRepresentation; 254 254 255 - (void)getInnerNonSharedNode:(DOMNode **)innerNonSharedNode innerNode:(DOMNode **)innerNode URLElement:(DOMElement **)URLElement atPoint:(NSPoint)point allowShadowContent:(BOOL)allow;256 255 - (BOOL)isPointInsideSelection:(NSPoint)point; 257 256 -
trunk/WebCore/bridge/mac/WebCoreFrameBridge.mm
r17396 r17399 31 31 #import "AXObjectCache.h" 32 32 #import "Cache.h" 33 #import "ClipboardMac.h" 33 34 #import "DOMImplementation.h" 34 35 #import "DOMInternal.h" … … 55 56 #import "ModifySelectionListLevel.h" 56 57 #import "MoveSelectionCommand.h" 58 #import "HitTestResult.h" 57 59 #import "Page.h" 58 60 #import "PlugInInfoStore.h" … … 996 998 } 997 999 998 - (void)getInnerNonSharedNode:(DOMNode **)innerNonSharedNode innerNode:(DOMNode **)innerNode URLElement:(DOMElement **)URLElement atPoint:(NSPoint)point allowShadowContent:(BOOL) allow999 {1000 RenderObject *renderer = m_frame->renderer();1001 if (!renderer) {1002 *innerNonSharedNode = nil;1003 *innerNode = nil;1004 *URLElement = nil;1005 return;1006 }1007 1008 RenderObject::NodeInfo nodeInfo = m_frame->nodeInfoAtPoint(IntPoint(point), allow);1009 *innerNonSharedNode = [DOMNode _nodeWith:nodeInfo.innerNonSharedNode()];1010 *innerNode = [DOMNode _nodeWith:nodeInfo.innerNode()];1011 *URLElement = [DOMElement _elementWith:nodeInfo.URLElement()];1012 }1013 1014 1000 - (BOOL)isPointInsideSelection:(NSPoint)point 1015 1001 { … … 1744 1730 { 1745 1731 IntPoint outerPoint(point); 1746 Node* node = m_frame-> nodeInfoAtPoint(outerPoint, true).innerNode();1732 Node* node = m_frame->hitTestResultAtPoint(outerPoint, true).innerNode(); 1747 1733 if (!node) 1748 1734 return VisiblePosition(); … … 1914 1900 RefPtr<FrameView> v = m_frame->view(); 1915 1901 if (v) { 1916 Clipboard Mac::AccessPolicy policy = m_frame->baseURL().isLocalFile() ? ClipboardMac::Readable : ClipboardMac::TypesReadable;1902 ClipboardAccessPolicy policy = m_frame->baseURL().isLocalFile() ? ClipboardReadable : ClipboardTypesReadable; 1917 1903 RefPtr<ClipboardMac> clipboard = new ClipboardMac(true, [info draggingPasteboard], policy); 1918 1904 NSDragOperation srcOp = [info draggingSourceOperationMask]; … … 1939 1925 } 1940 1926 } 1941 clipboard->setAccessPolicy(Clipboard Mac::Numb); // invalidate clipboard here for security1927 clipboard->setAccessPolicy(ClipboardNumb); // invalidate clipboard here for security 1942 1928 return op; 1943 1929 } … … 1952 1938 if (v) { 1953 1939 // Sending an event can result in the destruction of the view and part. 1954 Clipboard Mac::AccessPolicy policy = m_frame->baseURL().isLocalFile() ? ClipboardMac::Readable : ClipboardMac::TypesReadable;1940 ClipboardAccessPolicy policy = m_frame->baseURL().isLocalFile() ? ClipboardReadable : ClipboardTypesReadable; 1955 1941 RefPtr<ClipboardMac> clipboard = new ClipboardMac(true, [info draggingPasteboard], policy); 1956 1942 clipboard->setSourceOperation([info draggingSourceOperationMask]); 1957 1943 v->cancelDragAndDrop(createMouseEventFromDraggingInfo([self window], info), clipboard.get()); 1958 clipboard->setAccessPolicy(Clipboard Mac::Numb); // invalidate clipboard here for security1944 clipboard->setAccessPolicy(ClipboardNumb); // invalidate clipboard here for security 1959 1945 } 1960 1946 } … … 1967 1953 if (v) { 1968 1954 // Sending an event can result in the destruction of the view and part. 1969 RefPtr<ClipboardMac> clipboard = new ClipboardMac(true, [info draggingPasteboard], Clipboard Mac::Readable);1955 RefPtr<ClipboardMac> clipboard = new ClipboardMac(true, [info draggingPasteboard], ClipboardReadable); 1970 1956 clipboard->setSourceOperation([info draggingSourceOperationMask]); 1971 1957 BOOL result = v->performDragAndDrop(createMouseEventFromDraggingInfo([self window], info), clipboard.get()); 1972 clipboard->setAccessPolicy(Clipboard Mac::Numb); // invalidate clipboard here for security1958 clipboard->setAccessPolicy(ClipboardNumb); // invalidate clipboard here for security 1973 1959 return result; 1974 1960 } -
trunk/WebCore/dom/Document.cpp
r17395 r17399 65 65 #include "NameNodeList.h" 66 66 #include "NodeFilter.h" 67 #include "HitTestResult.h" 67 68 #include "NodeIterator.h" 68 69 #include "PlatformKeyboardEvent.h" … … 677 678 return 0; 678 679 679 RenderObject::NodeInfo nodeInfo(true, true);680 renderer()->layer()->hitTest( nodeInfo, IntPoint(x, y));681 682 Node* n = nodeInfo.innerNode();680 HitTestResult result(true, true); 681 renderer()->layer()->hitTest(result, IntPoint(x, y)); 682 683 Node* n = result.innerNode(); 683 684 while (n && !n->isElementNode()) 684 685 n = n->parentNode(); … … 1674 1675 1675 1676 assert(renderer()->isRenderView()); 1676 RenderObject::NodeInforenderInfo(readonly, active, mouseMove);1677 HitTestResult renderInfo(readonly, active, mouseMove); 1677 1678 renderer()->layer()->hitTest(renderInfo, point); 1678 1679 -
trunk/WebCore/dom/Element.h
r16359 r17399 155 155 156 156 virtual bool isURLAttribute(Attribute *attr) const; 157 virtual String target() const { return String(); } 157 158 158 159 virtual void focus(); -
trunk/WebCore/html/HTMLAnchorElement.h
r16760 r17399 81 81 void setTabIndex(int); 82 82 83 String target() const;83 virtual String target() const; 84 84 void setTarget(const String&); 85 85 -
trunk/WebCore/html/HTMLAreaElement.cpp
r16451 r17399 27 27 #include "HTMLNames.h" 28 28 #include "FloatRect.h" 29 #include "IntSize.h" 29 #include "HitTestResult.h" 30 #include "RenderObject.h" 30 31 31 32 using namespace std; … … 69 70 } 70 71 71 bool HTMLAreaElement::mapMouseEvent(int x, int y, const IntSize& size, RenderObject::NodeInfo& info)72 bool HTMLAreaElement::mapMouseEvent(int x, int y, const IntSize& size, HitTestResult& info) 72 73 { 73 74 if (m_lastSize != size) { -
trunk/WebCore/html/HTMLAreaElement.h
r14393 r17399 27 27 28 28 #include "HTMLAnchorElement.h" 29 #include "IntSize.h" 29 30 #include "Path.h" 30 #include "RenderObject.h" // for RenderObject::NodeInfo31 31 32 32 namespace WebCore { 33 34 class HitTestResult; 33 35 34 36 class HTMLAreaElement : public HTMLAnchorElement { … … 46 48 bool isDefault() const { return m_shape == Default; } 47 49 48 bool mapMouseEvent(int x, int y, const IntSize&, RenderObject::NodeInfo&);50 bool mapMouseEvent(int x, int y, const IntSize&, HitTestResult&); 49 51 50 52 virtual IntRect getRect(RenderObject*) const; … … 71 73 void setTabIndex(int); 72 74 73 String target() const;75 virtual String target() const; 74 76 void setTarget(const String&); 75 77 -
trunk/WebCore/html/HTMLBaseElement.h
r14332 r17399 39 39 40 40 String href() const { return m_href; } 41 String target() const { return m_target; }41 virtual String target() const { return m_target; } 42 42 43 43 virtual void parseMappedAttribute(MappedAttribute*); -
trunk/WebCore/html/HTMLFormElement.h
r17177 r17399 98 98 void setMethod(const String&); 99 99 100 String target() const;100 virtual String target() const; 101 101 void setTarget(const String&); 102 102 -
trunk/WebCore/html/HTMLLinkElement.h
r16689 r17399 63 63 void setRev(const String&); 64 64 65 String target() const;65 virtual String target() const; 66 66 void setTarget(const String&); 67 67 -
trunk/WebCore/html/HTMLMapElement.cpp
r16451 r17399 28 28 #include "HTMLCollection.h" 29 29 #include "HTMLNames.h" 30 #include "IntSize.h" 31 #include "HitTestResult.h" 30 32 31 33 using namespace std; … … 51 53 } 52 54 53 bool HTMLMapElement::mapMouseEvent(int x, int y, const IntSize& size, RenderObject::NodeInfo& info)55 bool HTMLMapElement::mapMouseEvent(int x, int y, const IntSize& size, HitTestResult& info) 54 56 { 55 57 HTMLAreaElement* defaultArea = 0; -
trunk/WebCore/html/HTMLMapElement.h
r14393 r17399 27 27 28 28 #include "HTMLElement.h" 29 #include "RenderObject.h" // for RenderObject::NodeInfo30 29 31 30 namespace WebCore { 31 32 class IntSize; 33 class HitTestResult; 32 34 33 35 class HTMLMapElement : public HTMLElement { … … 44 46 virtual void parseMappedAttribute(MappedAttribute*); 45 47 46 bool mapMouseEvent(int x, int y, const IntSize&, RenderObject::NodeInfo&);48 bool mapMouseEvent(int x, int y, const IntSize&, HitTestResult&); 47 49 48 50 PassRefPtr<HTMLCollection> areas(); -
trunk/WebCore/page/Frame.cpp
r17297 r17399 61 61 #include "MediaFeatureNames.h" 62 62 #include "MouseEventWithHitTestResults.h" 63 #include "HitTestResult.h" 63 64 #include "NodeList.h" 64 65 #include "Page.h" … … 68 69 #include "PluginDocument.h" 69 70 #include "RenderListBox.h" 71 #include "RenderObject.h" 70 72 #include "RenderPart.h" 71 73 #include "RenderTextControl.h" … … 1790 1792 return false; 1791 1793 1792 RenderObject::NodeInfo nodeInfo(true, true);1793 document()->renderer()->layer()->hitTest( nodeInfo, point);1794 Node *innerNode = nodeInfo.innerNode();1794 HitTestResult result(true, true); 1795 document()->renderer()->layer()->hitTest(result, point); 1796 Node *innerNode = result.innerNode(); 1795 1797 if (!innerNode || !innerNode->renderer()) 1796 1798 return false; … … 2923 2925 } 2924 2926 2925 RenderObject::NodeInfo Frame::nodeInfoAtPoint(const IntPoint& point, bool allowShadowContent)2926 { 2927 RenderObject::NodeInfo nodeInfo(true, true);2928 renderer()->layer()->hitTest( nodeInfo, point);2927 HitTestResult Frame::hitTestResultAtPoint(const IntPoint& point, bool allowShadowContent) 2928 { 2929 HitTestResult result(true, true); 2930 renderer()->layer()->hitTest(result, point); 2929 2931 2930 2932 Node *n; … … 2933 2935 2934 2936 while (true) { 2935 n = nodeInfo.innerNode();2937 n = result.innerNode(); 2936 2938 if (!n || !n->renderer() || !n->renderer()->isWidget()) 2937 2939 break; … … 2948 2950 widgetPoint.setY(widgetPoint.y() - absY + view->contentsY()); 2949 2951 2950 RenderObject::NodeInfo widgetNodeInfo(true, true); 2951 frame->renderer()->layer()->hitTest(widgetNodeInfo, widgetPoint); 2952 nodeInfo = widgetNodeInfo; 2952 HitTestResult widgetHitTestResult(true, true); 2953 frame->renderer()->layer()->hitTest(widgetHitTestResult, widgetPoint); 2954 result = widgetHitTestResult; 2955 result.setPoint(widgetPoint); 2953 2956 } 2954 2957 2955 2958 if (!allowShadowContent) { 2956 Node* node = nodeInfo.innerNode();2959 Node* node = result.innerNode(); 2957 2960 if (node) 2958 2961 node = node->shadowAncestorNode(); 2959 nodeInfo.setInnerNode(node);2960 node = nodeInfo.innerNonSharedNode();2962 result.setInnerNode(node); 2963 node = result.innerNonSharedNode(); 2961 2964 if (node) 2962 2965 node = node->shadowAncestorNode(); 2963 nodeInfo.setInnerNonSharedNode(node);2964 } 2965 return nodeInfo;2966 result.setInnerNonSharedNode(node); 2967 } 2968 return result; 2966 2969 } 2967 2970 -
trunk/WebCore/page/Frame.h
r17393 r17399 34 34 #include "KURL.h" 35 35 #include "Node.h" 36 #include "RenderObject.h"37 36 #include "RenderLayer.h" 38 37 #include "ScrollBar.h" … … 74 73 class Plugin; 75 74 class MouseEventWithHitTestResults; 75 class HitTestResult; 76 76 class Range; 77 77 class RenderLayer; 78 class RenderObject; 78 79 class ResourceRequest; 79 80 class Selection; … … 801 802 #endif 802 803 803 RenderObject::NodeInfo nodeInfoAtPoint(const IntPoint&, bool allowShadowContent);804 HitTestResult hitTestResultAtPoint(const IntPoint&, bool allowShadowContent); 804 805 bool hasSelection(); 805 806 String documentTypeString() const; -
trunk/WebCore/page/FrameView.cpp
r17095 r17399 41 41 #include "MouseEvent.h" 42 42 #include "MouseEventWithHitTestResults.h" 43 #include "HitTestResult.h" 43 44 #include "OverflowEvent.h" 44 45 #include "PlatformKeyboardEvent.h" … … 1239 1240 IntPoint vPoint = windowToContents(e.pos()); 1240 1241 1241 RenderObject::NodeInfohitTestResult(true, false);1242 HitTestResult hitTestResult(true, false); 1242 1243 doc->renderer()->layer()->hitTest(hitTestResult, vPoint); 1243 1244 Node *node = hitTestResult.innerNode(); -
trunk/WebCore/platform/mac/ClipboardMac.h
r16479 r17399 32 32 #include "IntPoint.h" 33 33 #include "Clipboard.h" 34 #include "ClipboardAccessPolicy.h" 34 35 #include "CachedResourceClient.h" 35 36 … … 49 50 class ClipboardMac : public Clipboard, public CachedResourceClient { 50 51 public: 51 // security mechanisms 52 typedef enum { 53 Numb, ImageWritable, Writable, TypesReadable, Readable 54 } AccessPolicy; 55 56 ClipboardMac(bool forDragging, NSPasteboard *pasteboard, AccessPolicy policy, FrameMac *frame = 0); 52 ClipboardMac(bool forDragging, NSPasteboard *pasteboard, ClipboardAccessPolicy policy, FrameMac *frame = 0); 57 53 virtual ~ClipboardMac(); 58 54 … … 87 83 #endif 88 84 89 void setAccessPolicy(AccessPolicy policy); 90 AccessPolicy accessPolicy() const; 85 void setAccessPolicy(ClipboardAccessPolicy); 91 86 void setDragHasStarted() { m_dragStarted = true; } 92 87 … … 101 96 CachedImage* m_dragImage; 102 97 RefPtr<Node> m_dragImageElement; 103 AccessPolicy m_policy;98 ClipboardAccessPolicy m_policy; 104 99 int m_changeCount; 105 100 bool m_dragStarted; -
trunk/WebCore/platform/mac/ClipboardMac.mm
r16479 r17399 34 34 namespace WebCore { 35 35 36 ClipboardMac::ClipboardMac(bool forDragging, NSPasteboard *pasteboard, AccessPolicy policy, FrameMac *frame)36 ClipboardMac::ClipboardMac(bool forDragging, NSPasteboard *pasteboard, ClipboardAccessPolicy policy, FrameMac *frame) 37 37 : m_pasteboard(HardRetain(pasteboard)), m_forDragging(forDragging), m_dragImage(0), 38 38 m_policy(policy), m_dragStarted(false), m_frame(frame) … … 51 51 } 52 52 53 void ClipboardMac::setAccessPolicy( AccessPolicy policy)53 void ClipboardMac::setAccessPolicy(ClipboardAccessPolicy policy) 54 54 { 55 55 // once you go numb, can never go back 56 ASSERT(m_policy != Numb || policy ==Numb);56 ASSERT(m_policy != ClipboardNumb || policy == ClipboardNumb); 57 57 m_policy = policy; 58 }59 60 ClipboardMac::AccessPolicy ClipboardMac::accessPolicy() const61 {62 return m_policy;63 58 } 64 59 … … 122 117 void ClipboardMac::clearData(const String &type) 123 118 { 124 if (m_policy != Writable) {119 if (m_policy != ClipboardWritable) { 125 120 return; 126 121 } … … 135 130 void ClipboardMac::clearAllData() 136 131 { 137 if (m_policy != Writable) {132 if (m_policy != ClipboardWritable) { 138 133 return; 139 134 } … … 146 141 { 147 142 success = false; 148 if (m_policy != Readable) {143 if (m_policy != ClipboardReadable) { 149 144 return String(); 150 145 } … … 208 203 bool ClipboardMac::setData(const String &type, const String &data) 209 204 { 210 if (m_policy != Writable)205 if (m_policy != ClipboardWritable) 211 206 return false; 212 207 // note NSPasteboard enforces changeCount itself on writing - can't write if not the owner … … 241 236 HashSet<String> ClipboardMac::types() const 242 237 { 243 if (m_policy != Readable && m_policy !=TypesReadable)238 if (m_policy != ClipboardReadable && m_policy != ClipboardTypesReadable) 244 239 return HashSet<String>(); 245 240 … … 297 292 void ClipboardMac::setDragImage(CachedImage* image, Node *node, const IntPoint &loc) 298 293 { 299 if (m_policy == ImageWritable || m_policy ==Writable) {294 if (m_policy == ClipboardImageWritable || m_policy == ClipboardWritable) { 300 295 if (m_dragImage) 301 296 m_dragImage->deref(this); … … 363 358 void ClipboardMac::setDropEffect(const String &s) 364 359 { 365 if (m_policy == Readable || m_policy ==TypesReadable) {360 if (m_policy == ClipboardReadable || m_policy == ClipboardTypesReadable) { 366 361 m_dropEffect = s; 367 362 } … … 375 370 void ClipboardMac::setEffectAllowed(const String &s) 376 371 { 377 if (m_policy == Writable)372 if (m_policy == ClipboardWritable) 378 373 m_effectAllowed = s; 379 374 } -
trunk/WebCore/rendering/EllipsisBox.cpp
r17338 r17399 25 25 #include "Document.h" 26 26 #include "GraphicsContext.h" 27 #include "HitTestResult.h" 27 28 #include "TextStyle.h" 28 29 … … 61 62 } 62 63 63 bool EllipsisBox::nodeAtPoint( RenderObject::NodeInfo& info, int x, int y, int tx, int ty)64 bool EllipsisBox::nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty) 64 65 { 65 66 tx += m_x; -
trunk/WebCore/rendering/EllipsisBox.h
r17338 r17399 27 27 namespace WebCore { 28 28 29 class HitTestResult; 30 29 31 class EllipsisBox : public InlineBox { 30 32 public: … … 36 38 { 37 39 } 38 39 virtual void paint(RenderObject::PaintInfo& , int tx, intty);40 virtual bool nodeAtPoint( RenderObject::NodeInfo&, int x, int y, int tx, intty);40 41 virtual void paint(RenderObject::PaintInfo& i, int _tx, int _ty); 42 virtual bool nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty); 41 43 42 44 private: -
trunk/WebCore/rendering/InlineBox.cpp
r17338 r17399 24 24 25 25 #include "InlineFlowBox.h" 26 #include "HitTestResult.h" 26 27 #include "RenderArena.h" 27 28 #include "RootInlineBox.h" … … 149 150 } 150 151 151 bool InlineBox::nodeAtPoint( RenderObject::NodeInfo& i, int x, int y, int tx, int ty)152 bool InlineBox::nodeAtPoint(HitTestResult& i, int x, int y, int tx, int ty) 152 153 { 153 154 // Hit test all phases of replaced elements atomically, as though the replaced element established its -
trunk/WebCore/rendering/InlineBox.h
r17338 r17399 28 28 namespace WebCore { 29 29 30 class HitTestResult; 30 31 class RootInlineBox; 31 32 … … 82 83 83 84 virtual void paint(RenderObject::PaintInfo&, int tx, int ty); 84 virtual bool nodeAtPoint( RenderObject::NodeInfo&, int x, int y, int tx, int ty);85 virtual bool nodeAtPoint(HitTestResult&, int x, int y, int tx, int ty); 85 86 86 87 // Overloaded new operator. -
trunk/WebCore/rendering/InlineFlowBox.cpp
r17338 r17399 28 28 #include "GraphicsContext.h" 29 29 #include "InlineTextBox.h" 30 #include "HitTestResult.h" 31 #include "RootInlineBox.h" 30 32 #include "RenderBlock.h" 31 33 #include "RenderFlow.h" … … 522 524 } 523 525 524 bool InlineFlowBox::nodeAtPoint( RenderObject::NodeInfo& i, int x, int y, int tx, int ty)526 bool InlineFlowBox::nodeAtPoint(HitTestResult& i, int x, int y, int tx, int ty) 525 527 { 526 528 // Check children first. -
trunk/WebCore/rendering/InlineFlowBox.h
r17338 r17399 27 27 28 28 namespace WebCore { 29 30 class HitTestResult; 29 31 30 32 class InlineFlowBox : public InlineRunBox { … … 71 73 virtual void clearTruncation(); 72 74 73 virtual void paintBackgroundAndBorder(RenderObject::PaintInfo& , int tx, intty);74 void paintBackgrounds(GraphicsContext* , const Color&, const BackgroundLayer*,75 int my, int mh, int tx, intty, int w, int h);76 void paintBackground(GraphicsContext* , const Color&, const BackgroundLayer*,77 int my, int mh, int tx, intty, int w, int h);78 virtual void paintDecorations(RenderObject::PaintInfo& , int tx, intty, bool paintedChildren = false);79 virtual void paint(RenderObject::PaintInfo& , int tx, intty);80 virtual bool nodeAtPoint( RenderObject::NodeInfo&, int x, int y, int tx, int ty);75 virtual void paintBackgroundAndBorder(RenderObject::PaintInfo& i, int _tx, int _ty); 76 void paintBackgrounds(GraphicsContext* p, const Color& c, const BackgroundLayer* bgLayer, 77 int my, int mh, int _tx, int _ty, int w, int h); 78 void paintBackground(GraphicsContext* p, const Color& c, const BackgroundLayer* bgLayer, 79 int my, int mh, int _tx, int _ty, int w, int h); 80 virtual void paintDecorations(RenderObject::PaintInfo& i, int _tx, int _ty, bool paintedChildren = false); 81 virtual void paint(RenderObject::PaintInfo& i, int _tx, int _ty); 82 virtual bool nodeAtPoint(HitTestResult&, int, int, int, int); 81 83 82 84 int marginBorderPaddingLeft(); -
trunk/WebCore/rendering/InlineTextBox.cpp
r17391 r17399 29 29 #include "Frame.h" 30 30 #include "GraphicsContext.h" 31 #include "HitTestResult.h" 31 32 #include "Range.h" 32 33 #include "RenderArena.h" … … 220 221 } 221 222 222 bool InlineTextBox::nodeAtPoint( RenderObject::NodeInfo& i, int x, int y, int tx, int ty)223 bool InlineTextBox::nodeAtPoint(HitTestResult& i, int x, int y, int tx, int ty) 223 224 { 224 225 if (isLineBreak()) -
trunk/WebCore/rendering/InlineTextBox.h
r17391 r17399 38 38 class StringImpl; 39 39 class MarkedTextUnderline; 40 class HitTestResult; 40 41 class Position; 41 42 … … 70 71 bool isSelected(int startPos, int endPos) const; 71 72 void selectionStartEnd(int& sPos, int& ePos); 72 73 virtual void paint(RenderObject::PaintInfo& , int tx, int ty);74 virtual bool nodeAtPoint( RenderObject::NodeInfo&, int x, int y, int tx, int ty);73 74 virtual void paint(RenderObject::PaintInfo& i, int tx, int ty); 75 virtual bool nodeAtPoint(HitTestResult&, int, int, int, int); 75 76 76 77 RenderText* textObject() const; -
trunk/WebCore/rendering/RenderBlock.cpp
r17098 r17399 30 30 #include "GraphicsContext.h" 31 31 #include "InlineTextBox.h" 32 #include "HitTestResult.h" 32 33 #include "RenderTableCell.h" 33 34 #include "RenderTextFragment.h" … … 2499 2500 } 2500 2501 2501 bool RenderBlock::isPointInScrollbar( NodeInfo& info, int _x, int _y, int _tx, int _ty)2502 bool RenderBlock::isPointInScrollbar(HitTestResult& info, int _x, int _y, int _tx, int _ty) 2502 2503 { 2503 2504 if (!scrollsOverflow()) … … 2529 2530 } 2530 2531 2531 bool RenderBlock::nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction)2532 bool RenderBlock::nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction) 2532 2533 { 2533 2534 bool inlineFlow = isInlineFlow(); -
trunk/WebCore/rendering/RenderBlock.h
r16678 r17399 199 199 int leftOffset(int y) const { return leftRelOffset(y, leftOffset(), true); } 200 200 201 virtual bool nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty,201 virtual bool nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, 202 202 HitTestAction hitTestAction); 203 203 204 virtual bool isPointInScrollbar( NodeInfo& info, int x, int y, int tx, int ty);204 virtual bool isPointInScrollbar(HitTestResult& info, int x, int y, int tx, int ty); 205 205 206 206 virtual VisiblePosition positionForCoordinates(int x, int y); -
trunk/WebCore/rendering/RenderBox.cpp
r17068 r17399 255 255 256 256 // Hit Testing 257 bool RenderBox::nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty, HitTestAction action)257 bool RenderBox::nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, HitTestAction action) 258 258 { 259 259 tx += m_x; -
trunk/WebCore/rendering/RenderBox.h
r15666 r17399 44 44 virtual void setStyle(RenderStyle*); 45 45 virtual void paint(PaintInfo& i, int _tx, int _ty); 46 virtual bool nodeAtPoint( NodeInfo& i, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction);46 virtual bool nodeAtPoint(HitTestResult& i, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction); 47 47 48 48 virtual void destroy(); -
trunk/WebCore/rendering/RenderFlow.cpp
r17052 r17399 417 417 } 418 418 419 bool RenderFlow::hitTestLines( NodeInfo& i, int x, int y, int tx, int ty, HitTestAction hitTestAction)419 bool RenderFlow::hitTestLines(HitTestResult& i, int x, int y, int tx, int ty, HitTestAction hitTestAction) 420 420 { 421 421 if (hitTestAction != HitTestForeground) -
trunk/WebCore/rendering/RenderFlow.h
r17052 r17399 77 77 78 78 void paintLines(PaintInfo& i, int _tx, int _ty); 79 bool hitTestLines( NodeInfo& i, int x, int y, int tx, int ty, HitTestAction hitTestAction);79 bool hitTestLines(HitTestResult& i, int x, int y, int tx, int ty, HitTestAction hitTestAction); 80 80 81 81 virtual IntRect getAbsoluteRepaintRect(); -
trunk/WebCore/rendering/RenderForeignObject.cpp
r17270 r17399 119 119 } 120 120 121 bool RenderForeignObject::nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty, HitTestAction hitTestAction)121 bool RenderForeignObject::nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, HitTestAction hitTestAction) 122 122 { 123 123 AffineTransform totalTransform = absoluteTransform(); -
trunk/WebCore/rendering/RenderForeignObject.h
r17270 r17399 47 47 virtual void layout(); 48 48 49 virtual bool nodeAtPoint( NodeInfo&, int x, int y, int tx, int ty, HitTestAction);49 virtual bool nodeAtPoint(HitTestResult&, int x, int y, int tx, int ty, HitTestAction); 50 50 51 51 private: -
trunk/WebCore/rendering/RenderFrameSet.cpp
r15253 r17399 34 34 #include "TextStream.h" 35 35 #include "MouseEvent.h" 36 #include "HitTestResult.h" 36 37 #include "RenderFrame.h" 37 38 #include "RenderView.h" … … 75 76 } 76 77 77 bool RenderFrameSet::nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty,78 bool RenderFrameSet::nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, 78 79 HitTestAction hitTestAction) 79 80 { -
trunk/WebCore/rendering/RenderFrameSet.h
r15253 r17399 55 55 void setResizing(bool); 56 56 57 virtual bool nodeAtPoint( NodeInfo&, int x, int y, int tx, int ty, HitTestAction);57 virtual bool nodeAtPoint(HitTestResult&, int x, int y, int tx, int ty, HitTestAction); 58 58 59 59 HTMLFrameSetElement* element() const -
trunk/WebCore/rendering/RenderImage.cpp
r16697 r17399 35 35 #include "HTMLMapElement.h" 36 36 #include "HTMLNames.h" 37 #include "HitTestResult.h" 37 38 #include "RenderView.h" 38 39 #include "TextStyle.h" … … 311 312 } 312 313 313 bool RenderImage::nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction)314 bool RenderImage::nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction) 314 315 { 315 316 bool inside = RenderReplaced::nodeAtPoint(info, _x, _y, _tx, _ty, hitTestAction); -
trunk/WebCore/rendering/RenderImage.h
r15839 r17399 69 69 Image* image() { return m_cachedImage ? m_cachedImage->image() : nullImage(); } 70 70 71 virtual bool nodeAtPoint( NodeInfo&, int x, int y, int tx, int ty, HitTestAction);71 virtual bool nodeAtPoint(HitTestResult&, int x, int y, int tx, int ty, HitTestAction); 72 72 73 73 virtual int calcReplacedWidth() const; -
trunk/WebCore/rendering/RenderInline.cpp
r16250 r17399 336 336 } 337 337 338 bool RenderInline::nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty,338 bool RenderInline::nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, 339 339 HitTestAction hitTestAction) 340 340 { -
trunk/WebCore/rendering/RenderInline.h
r16250 r17399 60 60 virtual void paint(PaintInfo& i, int tx, int ty); 61 61 62 virtual bool nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty,62 virtual bool nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, 63 63 HitTestAction hitTestAction); 64 64 -
trunk/WebCore/rendering/RenderLayer.cpp
r17171 r17399 54 54 #include "HTMLMarqueeElement.h" 55 55 #include "HTMLNames.h" 56 #include "HitTestResult.h" 56 57 #include "OverflowEvent.h" 57 58 #include "PlatformMouseEvent.h" … … 865 866 866 867 if (currentFrame->mouseDownMayStartSelect()) { 867 RenderObject::NodeInforenderInfo(true, false, true);868 HitTestResult renderInfo(true, false, true); 868 869 if (hitTest(renderInfo, currentPos)) { 869 870 VisiblePosition pos(renderInfo.innerNode()->renderer()->positionForPoint(currentPos)); … … 1471 1472 } 1472 1473 1473 bool RenderLayer::hitTest( RenderObject::NodeInfo& info, const IntPoint& point)1474 bool RenderLayer::hitTest(HitTestResult& info, const IntPoint& point) 1474 1475 { 1475 1476 renderer()->document()->updateLayout(); … … 1497 1498 } 1498 1499 1499 RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderObject::NodeInfo& info, 1500 const IntPoint& mousePos, const IntRect& hitTestRect) 1500 RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, HitTestResult& info, const IntPoint& mousePos, const IntRect& hitTestRect) 1501 1501 { 1502 1502 // Calculate the clip rects we should use. … … 1830 1830 } 1831 1831 1832 void RenderLayer::updateHoverActiveState( RenderObject::NodeInfo& info)1832 void RenderLayer::updateHoverActiveState(HitTestResult& info) 1833 1833 { 1834 1834 // We don't update :hover/:active state when the info is marked as readonly. -
trunk/WebCore/rendering/RenderLayer.h
r17002 r17399 52 52 53 53 class CachedResource; 54 class HitTestResult; 54 55 class RenderView; 55 56 class RenderFrameSet; … … 292 293 // layers that intersect the point from front to back. 293 294 void paint(GraphicsContext*, const IntRect& damageRect, PaintRestriction = PaintRestrictionNone, RenderObject* paintingRoot = 0); 294 bool hitTest( RenderObject::NodeInfo&, const IntPoint&);295 bool hitTest(HitTestResult&, const IntPoint&); 295 296 296 297 // This method figures out our layerBounds in coordinates relative to … … 309 310 IntRect absoluteBoundingBox() const; 310 311 311 void updateHoverActiveState( RenderObject::NodeInfo& info);312 void updateHoverActiveState(HitTestResult&); 312 313 313 314 IntRect repaintRect() const { return m_repaintRect; } … … 337 338 void paintLayer(RenderLayer* rootLayer, GraphicsContext*, const IntRect& paintDirtyRect, 338 339 bool haveTransparency, PaintRestriction, RenderObject* paintingRoot); 339 RenderLayer* hitTestLayer(RenderLayer* rootLayer, RenderObject::NodeInfo&, const IntPoint&, const IntRect& hitTestRect);340 RenderLayer* hitTestLayer(RenderLayer* rootLayer, HitTestResult&, const IntPoint&, const IntRect& hitTestRect); 340 341 void computeScrollDimensions(bool* needHBar = 0, bool* needVBar = 0); 341 342 -
trunk/WebCore/rendering/RenderListBox.cpp
r17331 r17399 33 33 #include "HTMLOptGroupElement.h" 34 34 #include "HTMLSelectElement.h" 35 #include "HitTestResult.h" 35 36 #include "PlatformScrollBar.h" 36 37 #include "RenderBR.h" … … 326 327 } 327 328 328 bool RenderListBox::isPointInScrollbar( NodeInfo& info, int _x, int _y, int _tx, int _ty)329 bool RenderListBox::isPointInScrollbar(HitTestResult& info, int _x, int _y, int _tx, int _ty) 329 330 { 330 331 if (!m_vBar) -
trunk/WebCore/rendering/RenderListBox.h
r17002 r17399 45 45 virtual const char* renderName() const { return "RenderListBox"; } 46 46 virtual void paintObject(PaintInfo&, int tx, int ty); 47 virtual bool isPointInScrollbar( NodeInfo&, int x, int y, int tx, int ty);47 virtual bool isPointInScrollbar(HitTestResult&, int x, int y, int tx, int ty); 48 48 49 49 virtual bool scroll(ScrollDirection direction, ScrollGranularity granularity, float multiplier=1.0); -
trunk/WebCore/rendering/RenderObject.cpp
r17140 r17399 43 43 #include "HTMLOListElement.h" 44 44 #include "KURL.h" 45 #include "HitTestResult.h" 45 46 #include "Position.h" 46 47 #include "RenderArena.h" … … 2534 2535 } 2535 2536 2536 bool RenderObject::hitTest( NodeInfo& info, int x, int y, int tx, int ty, HitTestFilter hitTestFilter)2537 bool RenderObject::hitTest(HitTestResult& info, int x, int y, int tx, int ty, HitTestFilter hitTestFilter) 2537 2538 { 2538 2539 bool inside = false; … … 2557 2558 } 2558 2559 2559 void RenderObject::setInnerNode( NodeInfo& info)2560 void RenderObject::setInnerNode(HitTestResult& info) 2560 2561 { 2561 2562 if (info.innerNode()) … … 2578 2579 } 2579 2580 2580 bool RenderObject::nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty,2581 bool RenderObject::nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, 2581 2582 HitTestAction hitTestAction) 2582 2583 { -
trunk/WebCore/rendering/RenderObject.h
r17054 r17399 58 58 class InlineBox; 59 59 class InlineFlowBox; 60 class HitTestResult; 60 61 class PlatformScrollbar; 61 62 class Position; … … 491 492 void collectDashboardRegions(Vector<DashboardRegionValue>&); 492 493 493 // does a query on the rendertree and finds the innernode494 // and overURL for the given position495 // if readonly == false, it will recalc hover styles accordingly496 class NodeInfo {497 public:498 NodeInfo(bool readonly, bool active, bool mouseMove = false)499 : m_innerNode(0), m_innerNonSharedNode(0), m_innerURLElement(0),500 m_scrollbar(0), m_readonly(readonly), m_active(active), m_mouseMove(mouseMove)501 { }502 503 Node* innerNode() const { return m_innerNode; }504 Node* innerNonSharedNode() const { return m_innerNonSharedNode; }505 Element* URLElement() const { return m_innerURLElement; }506 PlatformScrollbar* scrollbar() const { return m_scrollbar; }507 bool readonly() const { return m_readonly; }508 bool active() const { return m_active; }509 bool mouseMove() const { return m_mouseMove; }510 511 void setInnerNode(Node* n) { m_innerNode = n; }512 void setInnerNonSharedNode(Node* n) { m_innerNonSharedNode = n; }513 void setURLElement(Element* n) { m_innerURLElement = n; }514 void setScrollbar(PlatformScrollbar* s) { m_scrollbar = s; }515 516 private:517 Node* m_innerNode;518 Node* m_innerNonSharedNode;519 Element* m_innerURLElement;520 PlatformScrollbar* m_scrollbar;521 bool m_readonly;522 bool m_active;523 bool m_mouseMove;524 };525 526 494 // Used to signal a specific subrect within an object that must be repainted after 527 495 // layout is complete. … … 533 501 }; 534 502 535 bool hitTest( NodeInfo& info, int x, int y, int tx, int ty, HitTestFilter hitTestFilter = HitTestAll);536 virtual bool nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty,503 bool hitTest(HitTestResult& info, int x, int y, int tx, int ty, HitTestFilter hitTestFilter = HitTestAll); 504 virtual bool nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, 537 505 HitTestAction hitTestAction); 538 void setInnerNode( NodeInfo& info);506 void setInnerNode(HitTestResult& info); 539 507 540 508 virtual VisiblePosition positionForCoordinates(int x, int y); -
trunk/WebCore/rendering/RenderPath.cpp
r17270 r17399 284 284 } 285 285 286 bool RenderPath::nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction)286 bool RenderPath::nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction) 287 287 { 288 288 // We only draw in the forground phase, so we only hit-test then. -
trunk/WebCore/rendering/RenderPath.h
r17270 r17399 72 72 virtual void absoluteRects(Vector<IntRect>&, int tx, int ty); 73 73 74 virtual bool nodeAtPoint( NodeInfo&, int x, int y, int tx, int ty, HitTestAction);74 virtual bool nodeAtPoint(HitTestResult&, int x, int y, int tx, int ty, HitTestAction); 75 75 76 76 // FIXME: When the other SVG classes get pointer-events support this should be moved elsewhere -
trunk/WebCore/rendering/RenderSVGImage.cpp
r17270 r17399 206 206 } 207 207 208 bool RenderSVGImage::nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction)208 bool RenderSVGImage::nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction) 209 209 { 210 210 AffineTransform totalTransform = absoluteTransform(); -
trunk/WebCore/rendering/RenderSVGImage.h
r17270 r17399 55 55 virtual void computeAbsoluteRepaintRect(IntRect&, bool f); 56 56 57 virtual bool nodeAtPoint( NodeInfo&, int _x, int _y, int _tx, int _ty, HitTestAction);57 virtual bool nodeAtPoint(HitTestResult&, int _x, int _y, int _tx, int _ty, HitTestAction); 58 58 59 59 private: -
trunk/WebCore/rendering/RenderSVGText.cpp
r17270 r17399 96 96 } 97 97 98 bool RenderSVGText::nodeAtPoint( NodeInfo& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction)98 bool RenderSVGText::nodeAtPoint(HitTestResult& info, int _x, int _y, int _tx, int _ty, HitTestAction hitTestAction) 99 99 { 100 100 AffineTransform totalTransform = absoluteTransform(); -
trunk/WebCore/rendering/RenderSVGText.h
r17270 r17399 42 42 virtual void setLocalTransform(const AffineTransform& transform) { m_transform = transform; } 43 43 virtual void paint(PaintInfo& i, int _tx, int _ty); 44 virtual bool nodeAtPoint( NodeInfo&, int x, int y, int tx, int ty, HitTestAction);44 virtual bool nodeAtPoint(HitTestResult&, int x, int y, int tx, int ty, HitTestAction); 45 45 virtual void absoluteRects(Vector<IntRect>&, int tx, int ty); 46 46 virtual void computeAbsoluteRepaintRect(IntRect& r, bool f); -
trunk/WebCore/rendering/RenderTableRow.cpp
r15421 r17399 139 139 140 140 // Hit Testing 141 bool RenderTableRow::nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty, HitTestAction action)141 bool RenderTableRow::nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, HitTestAction action) 142 142 { 143 143 // Table rows cannot ever be hit tested. Effectively they do not exist. -
trunk/WebCore/rendering/RenderTableRow.h
r15666 r17399 46 46 virtual void layout(); 47 47 virtual IntRect getAbsoluteRepaintRect(); 48 virtual bool nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty, HitTestAction action);48 virtual bool nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, HitTestAction action); 49 49 50 50 // The only time rows get a layer is when they have transparency. -
trunk/WebCore/rendering/RenderTableSection.cpp
r15421 r17399 987 987 988 988 // Hit Testing 989 bool RenderTableSection::nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty, HitTestAction action)989 bool RenderTableSection::nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, HitTestAction action) 990 990 { 991 991 // Table sections cannot ever be hit tested. Effectively they do not exist. -
trunk/WebCore/rendering/RenderTableSection.h
r15666 r17399 112 112 virtual RenderObject* removeChildNode(RenderObject* child); 113 113 114 virtual bool nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty, HitTestAction action);114 virtual bool nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, HitTestAction action); 115 115 116 116 // this gets a cell grid data structure. changing the number of -
trunk/WebCore/rendering/RenderText.h
r16250 r17399 71 71 virtual void layout() { assert(false); } 72 72 73 virtual bool nodeAtPoint( NodeInfo&, int, int, int, int, HitTestAction) { assert(false); return false; }73 virtual bool nodeAtPoint(HitTestResult&, int, int, int, int, HitTestAction) { assert(false); return false; } 74 74 75 75 virtual void absoluteRects(Vector<IntRect>&, int tx, int ty); -
trunk/WebCore/rendering/RenderTextControl.cpp
r16280 r17399 31 31 #include "HTMLTextAreaElement.h" 32 32 #include "HTMLTextFieldInnerElement.h" 33 #include "HitTestResult.h" 33 34 #include "RenderTheme.h" 34 35 #include "SelectionController.h" … … 345 346 } 346 347 347 bool RenderTextControl::nodeAtPoint( NodeInfo& info, int x, int y, int tx, int ty, HitTestAction hitTestAction)348 bool RenderTextControl::nodeAtPoint(HitTestResult& info, int x, int y, int tx, int ty, HitTestAction hitTestAction) 348 349 { 349 350 // If we're within the text control, we want to act as if we've hit the inner div, incase the point -
trunk/WebCore/rendering/RenderTextControl.h
r16567 r17399 41 41 virtual bool canHaveChildren() const { return false; } 42 42 virtual short baselinePosition( bool, bool ) const; 43 virtual bool nodeAtPoint( NodeInfo&, int x, int y, int tx, int ty, HitTestAction);43 virtual bool nodeAtPoint(HitTestResult&, int x, int y, int tx, int ty, HitTestAction); 44 44 45 45 RenderStyle* createDivStyle(RenderStyle* startStyle); -
trunk/WebCore/rendering/RootInlineBox.cpp
r17338 r17399 31 31 #include "FrameMac.h" 32 32 #endif 33 #include "HitTestResult.h" 33 34 34 35 using namespace std; … … 142 143 } 143 144 144 bool RootInlineBox::nodeAtPoint( RenderObject::NodeInfo& i, int x, int y, int tx, int ty)145 bool RootInlineBox::nodeAtPoint(HitTestResult& i, int x, int y, int tx, int ty) 145 146 { 146 147 if (m_ellipsisBox && object()->style()->visibility() == VISIBLE) { -
trunk/WebCore/rendering/RootInlineBox.h
r17338 r17399 30 30 31 31 class EllipsisBox; 32 class HitTestResult; 33 32 34 struct GapRects; 33 35 … … 86 88 87 89 EllipsisBox* ellipsisBox() const { return m_ellipsisBox; } 88 void paintEllipsisBox(RenderObject::PaintInfo&, int tx, int ty) const; 89 bool hitTestEllipsisBox(RenderObject::NodeInfo&, int x, int y, int tx, int ty, HitTestAction, bool inBox); 90 91 void paintEllipsisBox(RenderObject::PaintInfo& i, int _tx, int _ty) const; 92 bool hitTestEllipsisBox(HitTestResult& info, int _x, int _y, int _tx, int _ty, 93 HitTestAction hitTestAction, bool inBox); 90 94 91 95 virtual void clearTruncation(); … … 96 100 #endif 97 101 98 virtual void paint(RenderObject::PaintInfo& , int tx, intty);99 virtual bool nodeAtPoint( RenderObject::NodeInfo&, int x, int y, int tx, int ty);102 virtual void paint(RenderObject::PaintInfo& i, int _tx, int _ty); 103 virtual bool nodeAtPoint(HitTestResult&, int, int, int, int); 100 104 101 105 bool hasSelectedChildren() const { return m_hasSelectedChildren; } -
trunk/WebKit/ChangeLog
r17398 r17399 1 2006-10-28 Beth Dakin <bdakin@apple.com> 2 3 Reviewed by Darin. 4 5 This is the WebKit half of pushing the guts of elementAtPoint and 6 WebElementDictionary into WebCore. Among other things, this patch 7 makes WebElementDictionary.m and WebHTMLView.m Objective-C++ 8 9 * MigrateHeaders.make: Add DOMElementInternal.h to the list of 10 headers to migrate. 11 * Misc/WebElementDictionary.h: Replaced DOMNode, DOMElement, and 12 NSPoint member variables with a HitTestResult member variable. 13 * Misc/WebElementDictionary.m: 14 (addLookupKey): Formatting. 15 (-[WebElementDictionary initWithHitTestResult:]): Constructor just 16 takes a HitTestResult now and sets the member variable. 17 (-[WebElementDictionary dealloc]): delete HitTestResult. 18 (-[WebElementDictionary finalize]): Address HitTestResult. 19 (-[WebElementDictionary _domNode]): Use HitTestResult and call into 20 WebCore. 21 (-[WebElementDictionary objectForKey:]): Same. 22 (-[WebElementDictionary _webFrame]): Same. 23 (-[WebElementDictionary _targetWebFrame]): Same. 24 (-[WebElementDictionary _title]): Same. 25 (-[WebElementDictionary _imageRect]): Same. 26 (-[WebElementDictionary _isSelected]): Same. 27 * WebKit.xcodeproj/project.pbxproj: 28 * WebView/WebFrame.mm: 29 (core): Convert from DOMNode* to Node* 30 (kit): Convert from Node* to DOMNode* 31 * WebView/WebFrameInternal.h: Support for the above. 32 * WebView/WebHTMLView.m: 33 (-[WebHTMLView elementAtPoint:allowShadowContent:]): Call directly 34 into Frame.cpp to get HitTestResult. 35 1 36 2006-10-27 Maciej Stachowiak <mjs@apple.com> 2 37 -
trunk/WebKit/MigrateHeaders.make
r17390 r17399 156 156 $(PUBLIC_HEADERS_DIR)/DOMNamedNodeMap.h \ 157 157 $(PUBLIC_HEADERS_DIR)/DOMNode.h \ 158 $(INTERNAL_HEADERS_DIR)/DOMNodeInternal.h \ 158 159 $(PRIVATE_HEADERS_DIR)/DOMNodePrivate.h \ 159 160 $(PUBLIC_HEADERS_DIR)/DOMNodeFilter.h \ -
trunk/WebKit/Misc/WebElementDictionary.h
r13090 r17399 29 29 #import <Foundation/NSDictionary.h> 30 30 31 @class DOMNode; 32 @class DOMElement; 31 namespace WebCore { 32 class HitTestResult; 33 } 33 34 34 35 @interface WebElementDictionary : NSDictionary { 35 DOMNode *_innerNode; 36 DOMNode *_innerNonSharedNode; 37 DOMElement *_URLElement; 36 WebCore::HitTestResult* _result; 38 37 NSMutableDictionary *_cache; 39 38 NSMutableSet *_nilValues; 40 NSPoint _point;41 39 BOOL _cacheComplete; 42 40 } 43 - (id)initWith InnerNonSharedNode:(DOMNode *)innerNonSharedNode innerNode:(DOMNode *)innerNode URLElement:(DOMElement *)URLElement andPoint:(NSPoint)point;41 - (id)initWithHitTestResult:(const WebCore::HitTestResult&)result; 44 42 @end -
trunk/WebKit/Misc/WebElementDictionary.m
r17352 r17399 38 38 #import <WebKit/DOMCore.h> 39 39 #import <WebKit/DOMExtensions.h> 40 #import <WebCore/FrameMac.h> 41 #import <WebCore/HitTestResult.h> 42 43 using namespace WebCore; 40 44 41 45 typedef enum { … … 55 59 static void addLookupKey(NSString *key, SEL selector, WebElementTargetObject target) 56 60 { 57 WebElementMethod *elementMethod = static_cast<WebElementMethod*>(malloc(sizeof(WebElementMethod)));61 WebElementMethod* elementMethod = static_cast<WebElementMethod*>(malloc(sizeof(WebElementMethod))); 58 62 elementMethod->target = target; 59 63 elementMethod->selector = selector; … … 89 93 } 90 94 91 - (id)initWith InnerNonSharedNode:(DOMNode *)innerNonSharedNode innerNode:(DOMNode *)innerNode URLElement:(DOMElement *)URLElement andPoint:(NSPoint)point95 - (id)initWithHitTestResult:(const HitTestResult&)result 92 96 { 93 97 [[self class] initializeLookupTable]; 94 98 [super init]; 95 _point = point; 96 _innerNode = [innerNode retain]; 97 _innerNonSharedNode = [innerNonSharedNode retain]; 98 _URLElement = [URLElement retain]; 99 _result = new HitTestResult(result); 99 100 return self; 100 101 } … … 102 103 - (void)dealloc 103 104 { 104 [_innerNode release]; 105 [_innerNonSharedNode release]; 106 [_URLElement release]; 105 delete _result; 107 106 [_cache release]; 108 107 [_nilValues release]; … … 110 109 } 111 110 111 - (void)finalize 112 { 113 delete _result; 114 [super finalize]; 115 } 116 112 117 - (void)_fillCache 113 118 { … … 128 133 [self _fillCache]; 129 134 return [_cache keyEnumerator]; 135 } 136 137 - (DOMNode *)_domNode 138 { 139 return kit(_result->innerNonSharedNode()); 130 140 } 131 141 … … 146 156 break; 147 157 case WebElementInnerNonSharedNode: 148 target = _innerNonSharedNode;158 target = [self _domNode]; 149 159 break; 150 160 case WebElementInnerNode: 151 target = _innerNode;161 target = kit(_result->innerNode()); 152 162 break; 153 163 case WebElementURLElement: 154 target = _URLElement;164 target = kit(_result->URLElement()); 155 165 break; 156 166 } … … 176 186 } 177 187 178 - (DOMNode *)_domNode179 {180 return [[_innerNonSharedNode retain] autorelease];181 }182 183 188 - (WebFrame *)_webFrame 184 189 { 185 return [[ _innerNonSharedNodeownerDocument] webFrame];190 return [[[self _domNode] ownerDocument] webFrame]; 186 191 } 187 192 188 193 - (WebFrame *)_targetWebFrame 189 194 { 190 if (!_URLElement || ![_URLElement respondsToSelector:@selector(target)]) 191 return nil; 192 WebFrame *webFrame = [[_innerNonSharedNode ownerDocument] webFrame]; 193 NSString *targetName = [_URLElement performSelector:@selector(target)]; 194 if ([targetName length]) 195 return [webFrame findFrameNamed:targetName]; 196 return webFrame; 195 FrameMac* webCoreFrame = Mac(_result->targetFrame()); 196 return kit(webCoreFrame); 197 197 } 198 198 199 199 - (NSString *)_title 200 200 { 201 // Find the title in the nearest enclosing DOM node. 202 // For <area> tags in image maps, walk the tree for the <area>, not the <img> using it. 203 for (DOMNode *titleNode = _innerNode; titleNode; titleNode = [titleNode parentNode]) { 204 if ([titleNode isKindOfClass:[DOMHTMLElement class]]) { 205 NSString *title = [(DOMHTMLElement *)titleNode titleDisplayString]; 206 if ([title length]) 207 return title; 208 } 209 } 201 return _result->title(); 202 } 203 204 - (NSValue *)_imageRect 205 { 206 if ([self objectForKey:WebElementImageURLKey]) 207 return [NSValue valueWithRect:_result->boundingBox()]; 210 208 return nil; 211 209 } 212 210 213 - (NSValue *)_imageRect214 {215 if ([self objectForKey:WebElementImageURLKey])216 return [NSValue valueWithRect:[_innerNonSharedNode boundingBox]];217 return nil;218 }219 220 211 - (NSNumber *)_isSelected 221 212 { 222 return [NSNumber numberWithBool: [[[[_innerNonSharedNode ownerDocument] webFrame] _bridge] isPointInsideSelection:_point]];213 return [NSNumber numberWithBool:_result->isSelected()]; 223 214 } 224 215 @end -
trunk/WebKit/WebKit.xcodeproj/project.pbxproj
r17396 r17399 1231 1231 isa = PBXProject; 1232 1232 buildConfigurationList = 149C283208902B0F008A9EFC /* Build configuration list for PBXProject "WebKit" */; 1233 compatibilityVersion = "Xcode 2.4";1234 1233 hasScannedForEncodings = 1; 1235 1234 knownRegions = ( … … 1245 1244 productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; 1246 1245 projectDirPath = ""; 1247 projectRoot = "";1248 shouldCheckCompatibility = 1;1249 1246 targets = ( 1250 1247 9398100A0824BF01008DF038 /* WebKit */, -
trunk/WebKit/WebView/WebFrame.mm
r17396 r17399 32 32 #import "DOMElementInternal.h" 33 33 #import "DOMHTMLElementInternal.h" 34 #import "DOMNodeInternal.h" 34 35 #import "DOMRangeInternal.h" 35 36 #import "WebBackForwardList.h" … … 72 73 #import <WebKit/DOMElement.h> 73 74 #import <WebKit/DOMHTMLElement.h> 75 #import <WebKit/DOMNode.h> 74 76 #import <WebKit/DOMRange.h> 75 77 … … 158 160 { 159 161 return [DOMElement _elementWith:element]; 162 } 163 164 Node* core(DOMNode *node) 165 { 166 return [node _node]; 167 } 168 169 DOMNode *kit(Node* node) 170 { 171 return [DOMNode _nodeWith:node]; 160 172 } 161 173 -
trunk/WebKit/WebView/WebFrameInternal.h
r17365 r17399 36 36 37 37 @class DOMElement; 38 @class DOMNode; 38 39 @class DOMRange; 39 40 @class WebInspector; … … 53 54 class FrameLoader; 54 55 class HTMLElement; 56 class Node; 55 57 class Range; 56 58 } … … 61 63 WebCore::Element* core(DOMElement *); 62 64 DOMElement *kit(WebCore::Element*); 65 66 WebCore::Node* core(DOMNode *); 67 DOMNode *kit(WebCore::Node*); 63 68 64 69 WebCore::Document* core(DOMDocument *); -
trunk/WebKit/WebView/WebHTMLView.m
r17387 r17399 69 69 #import <WebCore/FloatRect.h> 70 70 #import <WebCore/FrameMac.h> 71 #import <WebCore/HitTestResult.h> 71 72 #import <WebCore/SelectionController.h> 72 73 #import <WebCore/WebCoreTextRenderer.h> … … 6043 6044 - (NSDictionary *)elementAtPoint:(NSPoint)point allowShadowContent:(BOOL)allow; 6044 6045 { 6045 DOMNode *innerNode = nil; 6046 DOMNode *innerNonSharedNode = nil; 6047 DOMElement *URLElement = nil; 6048 [[self _bridge] getInnerNonSharedNode:&innerNonSharedNode innerNode:&innerNode URLElement:&URLElement atPoint:point allowShadowContent:allow]; 6049 NSView *innerView = [[[[innerNonSharedNode ownerDocument] webFrame] frameView] documentView]; 6050 NSPoint innerPoint = innerView ? [self convertPoint:point toView:innerView] : point; 6051 return [[[WebElementDictionary alloc] initWithInnerNonSharedNode:innerNonSharedNode innerNode:innerNode URLElement:URLElement andPoint:innerPoint] autorelease]; 6046 Frame* frame = core([self _frame]); 6047 HitTestResult result(true, false); 6048 if (frame->renderer()) 6049 result = frame->hitTestResultAtPoint(IntPoint(point), allow); 6050 return [[[WebElementDictionary alloc] initWithHitTestResult:result] autorelease]; 6052 6051 } 6053 6052
Note: See TracChangeset
for help on using the changeset viewer.