Changeset 37854 in webkit
- Timestamp:
- Oct 24, 2008, 1:10:40 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 24 added
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r37845 r37854 1 2008-10-24 Greg Bolsinga <bolsinga@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 https://bugs.webkit.org/show_bug.cgi?id=21475 6 7 Provide support for the Geolocation API 8 9 http://dev.w3.org/geo/api/spec-source.html 10 11 * wtf/Platform.h: ENABLE_GEOLOCATION defaults to 0 12 1 13 2008-10-24 Darin Adler <darin@apple.com> 2 14 -
trunk/JavaScriptCore/wtf/Platform.h
r37842 r37854 352 352 #endif 353 353 354 #if !defined(ENABLE_GEOLOCATION) 355 #define ENABLE_GEOLOCATION 0 356 #endif 357 354 358 // CTI only supports x86 at the moment, and has only been tested on Mac and Windows. 355 359 #if !defined(ENABLE_CTI) && PLATFORM(X86) && (PLATFORM(MAC) || PLATFORM(WIN)) -
trunk/LayoutTests/ChangeLog
r37853 r37854 1 2008-10-24 Greg Bolsinga <bolsinga@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 https://bugs.webkit.org/show_bug.cgi?id=21475 6 7 Provide support for the Geolocation API 8 9 http://dev.w3.org/geo/api/spec-source.html 10 11 Tests to verify Geolocation isn't implemented (so that it didn't leak into 12 WebCore for platforms that do not support it). 13 14 * geolocation: Added. 15 * geolocation/geolocation-not-implemented-expected.txt: Added. 16 * geolocation/geolocation-not-implemented.html: Added. 17 * geolocation/geolocation-test.js: Copied from LayoutTests/media/video-test.js. 18 (reset): 19 (hanged): 20 (watchPositionAndEnd): 21 (watchPosition._positionCallback): 22 (watchPosition): 23 (watchPositionTestAndEnd): 24 (watchPositionAndFail): 25 (watchPositionAndTest._positionCallback): 26 (watchPositionAndTest): 27 (getCurrentPositionAndEnd): 28 (getCurrentPosition._positionCallback): 29 (getCurrentPosition): 30 (getCurrentPositionTestAndEnd): 31 (getCurrentPositionAndFail): 32 (getCurrentPositionAndTest._positionCallback): 33 (getCurrentPositionAndTest): 34 (endTest): 35 (relativeURL): 36 1 37 2008-10-24 Simon Fraser <simon.fraser@apple.com> 2 38 -
trunk/WebCore/ChangeLog
r37852 r37854 1 2008-10-24 Greg Bolsinga <bolsinga@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 https://bugs.webkit.org/show_bug.cgi?id=21475 6 7 Provide support for the Geolocation API 8 9 http://dev.w3.org/geo/api/spec-source.html 10 11 Test: geolocation/geolocation-not-implemented.html 12 13 * DerivedSources.make: 14 * GNUmakefile.am: Added Geolocation support 15 * WebCore.pro: Added Geolocation support 16 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support 17 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support 18 * WebCoreSources.bkl: Added Geolocation support 19 * bindings/js/JSCustomPositionCallback.cpp: Added. 20 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): 21 (WebCore::JSCustomPositionCallback::handleEvent): 22 * bindings/js/JSCustomPositionCallback.h: Added. 23 (WebCore::JSCustomPositionCallback::create): 24 * bindings/js/JSCustomPositionErrorCallback.cpp: Added. 25 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): 26 (WebCore::JSCustomPositionErrorCallback::handleEvent): 27 * bindings/js/JSCustomPositionErrorCallback.h: Added. 28 (WebCore::JSCustomPositionErrorCallback::create): 29 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom 30 (WebCore::markDOMObjectWrapper): 31 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom 32 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding 33 * bindings/js/JSGeolocationCustom.cpp: Added. 34 (WebCore::JSGeolocation::getCurrentPosition): 35 (WebCore::JSGeolocation::watchPosition): 36 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation 37 (WebCore::JSNavigator::mark): 38 * dom/Document.cpp: 39 (WebCore::Document::Document): 40 * dom/Document.h: 41 (WebCore::Document::setUsingGeolocation): 42 (WebCore::Document::usingGeolocation): 43 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation 44 (WebCore::FrameLoader::canCachePage): 45 * page/Geolocation.cpp: Added. 46 (WebCore::Geolocation::GeoNotifier::GeoNotifier): 47 (WebCore::Geolocation::GeoNotifier::timerFired): 48 (WebCore::Geolocation::Geolocation): 49 (WebCore::Geolocation::disconnectFrame): 50 (WebCore::Geolocation::getCurrentPosition): 51 (WebCore::Geolocation::watchPosition): 52 (WebCore::Geolocation::clearWatch): 53 (WebCore::Geolocation::stopUpdatingIfEmpty): 54 (WebCore::Geolocation::sendErrorToOneShots): 55 (WebCore::Geolocation::sendErrorToWatchers): 56 (WebCore::Geolocation::sendPositionToOneShots): 57 (WebCore::Geolocation::sendPositionToWatchers): 58 (WebCore::Geolocation::handleError): 59 (WebCore::Geolocation::geolocationServicePositionChanged): 60 (WebCore::Geolocation::geolocationServiceErrorOccurred): 61 * page/Geolocation.h: Added. 62 (WebCore::Geolocation::create): 63 (WebCore::Geolocation::~Geolocation): 64 (WebCore::Geolocation::lastPosition): 65 (WebCore::Geolocation::GeoNotifier::create): 66 * page/Geolocation.idl: Added. 67 * page/Geoposition.cpp: Added. 68 (WebCore::Geoposition::toString): 69 * page/Geoposition.h: Added. 70 (WebCore::Geoposition::create): 71 (WebCore::Geoposition::latitude): 72 (WebCore::Geoposition::longitude): 73 (WebCore::Geoposition::altitude): 74 (WebCore::Geoposition::accuracy): 75 (WebCore::Geoposition::altitudeAccuracy): 76 (WebCore::Geoposition::heading): 77 (WebCore::Geoposition::velocity): 78 (WebCore::Geoposition::timestamp): 79 (WebCore::Geoposition::Geoposition): 80 * page/Geoposition.idl: Added. 81 * page/Navigator.cpp: 82 (WebCore::Navigator::disconnectFrame): disconnect Geolocation 83 (WebCore::Navigator::geolocation): accessor for Geolocation 84 * page/Navigator.h: 85 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation 86 * page/Navigator.idl: accessor for Geolocation 87 * page/PositionCallback.h: Added. 88 (WebCore::PositionCallback::~PositionCallback): 89 * page/PositionCallback.idl: Added. 90 * page/PositionError.h: Added. 91 (WebCore::PositionError::): 92 (WebCore::PositionError::create): 93 (WebCore::PositionError::code): 94 (WebCore::PositionError::message): 95 (WebCore::PositionError::PositionError): 96 * page/PositionError.idl: Added. 97 * page/PositionErrorCallback.h: Added. 98 (WebCore::PositionErrorCallback::~PositionErrorCallback): 99 * page/PositionErrorCallback.idl: Added. 100 * page/PositionOptions.h: Added. 101 (WebCore::PositionOptions::create): 102 (WebCore::PositionOptions::enableHighAccuracy): 103 (WebCore::PositionOptions::setEnableHighAccuracy): 104 (WebCore::PositionOptions::timeout): 105 (WebCore::PositionOptions::setTimeout): 106 (WebCore::PositionOptions::PositionOptions): 107 * page/PositionOptions.idl: Added. 108 * platform/GeolocationService.cpp: Added. 109 (WebCore::GeolocationService::GeolocationService): 110 (WebCore::GeolocationService::positionChanged): 111 (WebCore::GeolocationService::errorOccurred): 112 * platform/GeolocationService.h: Added. 113 (WebCore::GeolocationServiceClient::~GeolocationServiceClient): 114 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged): 115 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred): 116 (WebCore::GeolocationService::~GeolocationService): 117 1 118 2008-10-24 Simon Fraser <simon.fraser@apple.com> 2 119 -
trunk/WebCore/DerivedSources.make
r37842 r37854 94 94 File \ 95 95 FileList \ 96 Geolocation \ 97 Geoposition \ 96 98 HTMLAnchorElement \ 97 99 HTMLAppletElement \ … … 181 183 Plugin \ 182 184 PluginArray \ 185 PositionCallback \ 186 PositionError \ 187 PositionErrorCallback \ 188 PositionOptions \ 183 189 ProcessingInstruction \ 184 190 ProgressEvent \ -
trunk/WebCore/GNUmakefile.am
r37852 r37854 210 210 WebCore/page/DOMSelection.idl \ 211 211 WebCore/page/DOMWindow.idl \ 212 WebCore/page/Geolocation.idl \ 213 WebCore/page/Geoposition.idl \ 212 214 WebCore/page/History.idl \ 213 215 WebCore/page/Location.idl \ 214 216 WebCore/page/Navigator.idl \ 217 WebCore/page/PositionCallback.idl \ 218 WebCore/page/PositionError.idl \ 219 WebCore/page/PositionErrorCallback.idl \ 220 WebCore/page/PositionOptions.idl \ 215 221 WebCore/page/Screen.idl \ 216 222 WebCore/plugins/MimeType.idl \ … … 326 332 WebCore/bindings/js/JSClipboardCustom.cpp \ 327 333 WebCore/bindings/js/JSConsoleCustom.cpp \ 334 WebCore/bindings/js/JSCustomPositionCallback.cpp \ 335 WebCore/bindings/js/JSCustomPositionCallback.h \ 336 WebCore/bindings/js/JSCustomPositionErrorCallback.cpp \ 337 WebCore/bindings/js/JSCustomPositionErrorCallback.h \ 328 338 WebCore/bindings/js/JSCustomVoidCallback.cpp \ 329 339 WebCore/bindings/js/JSCustomVoidCallback.h \ … … 350 360 WebCore/bindings/js/JSEventTargetBase.h \ 351 361 WebCore/bindings/js/JSEventTargetNodeCustom.cpp \ 362 WebCore/bindings/js/JSGeolocationCustom.cpp \ 352 363 WebCore/bindings/js/JSHTMLAllCollection.cpp \ 353 364 WebCore/bindings/js/JSHTMLAllCollection.h \ … … 1191 1202 WebCore/page/FrameView.cpp \ 1192 1203 WebCore/page/FrameView.h \ 1204 WebCore/page/Geolocation.cpp \ 1205 WebCore/page/Geolocation.h \ 1206 WebCore/page/Geoposition.cpp \ 1207 WebCore/page/Geoposition.h \ 1193 1208 WebCore/page/History.cpp \ 1194 1209 WebCore/page/History.h \ … … 1203 1218 WebCore/page/PageGroup.cpp \ 1204 1219 WebCore/page/PageGroup.h \ 1220 WebCore/page/PositionCallback.h \ 1221 WebCore/page/PositionError.h \ 1222 WebCore/page/PositionErrorCallback.h \ 1223 WebCore/page/PositionOptions.h \ 1205 1224 WebCore/page/PrintContext.cpp \ 1206 1225 WebCore/page/PrintContext.h \ … … 1248 1267 WebCore/platform/FileSystem.h \ 1249 1268 WebCore/platform/FloatConversion.h \ 1269 WebCore/platform/GeolocationService.cpp \ 1270 WebCore/platform/GeolocationService.h \ 1250 1271 WebCore/platform/HostWindow.h \ 1251 1272 WebCore/platform/KURL.cpp \ -
trunk/WebCore/WebCore.pro
r37842 r37854 370 370 bindings/js/JSCSSStyleDeclarationCustom.cpp \ 371 371 bindings/js/JSCSSValueCustom.cpp \ 372 bindings/js/JSCustomPositionCallback.cpp \ 373 bindings/js/JSCustomPositionErrorCallback.cpp \ 372 374 bindings/js/JSCustomVoidCallback.cpp \ 373 375 bindings/js/JSCustomXPathNSResolver.cpp \ … … 382 384 bindings/js/JSEventTarget.cpp \ 383 385 bindings/js/JSEventTargetNodeCustom.cpp \ 386 bindings/js/JSGeolocationCustom.cpp \ 384 387 bindings/js/JSHTMLAllCollection.cpp \ 385 388 bindings/js/JSHistoryCustom.cpp \ … … 778 781 page/FrameTree.cpp \ 779 782 page/FrameView.cpp \ 783 page/Geolocation.cpp \ 784 page/Geoposition.cpp \ 780 785 page/History.cpp \ 781 786 page/Location.cpp \ … … 805 810 platform/DragImage.cpp \ 806 811 platform/FileChooser.cpp \ 812 platform/GeolocationService.cpp \ 807 813 platform/graphics/FontDescription.cpp \ 808 814 platform/graphics/FontFamily.cpp \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r37852 r37854 681 681 </File> 682 682 <File 683 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSGeolocation.h" 684 > 685 </File> 686 <File 687 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSGeoposition.h" 688 > 689 </File> 690 <File 683 691 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSEvent.h" 684 692 > … … 1038 1046 <File 1039 1047 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSNotation.h" 1048 > 1049 </File> 1050 <File 1051 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSPositionError.h" 1052 > 1053 </File> 1054 <File 1055 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSPositionOptions.h" 1040 1056 > 1041 1057 </File> … … 2261 2277 </File> 2262 2278 <File 2279 RelativePath="..\page\Geolocation.cpp" 2280 > 2281 <FileConfiguration 2282 Name="Release_PGO|Win32" 2283 > 2284 <Tool 2285 Name="VCCLCompilerTool" 2286 WholeProgramOptimization="true" 2287 /> 2288 </FileConfiguration> 2289 </File> 2290 <File 2291 RelativePath="..\page\Geolocation.h" 2292 > 2293 </File> 2294 <File 2295 RelativePath="..\page\Geoposition.cpp" 2296 > 2297 <FileConfiguration 2298 Name="Release_PGO|Win32" 2299 > 2300 <Tool 2301 Name="VCCLCompilerTool" 2302 WholeProgramOptimization="true" 2303 /> 2304 </FileConfiguration> 2305 </File> 2306 <File 2307 RelativePath="..\page\Geoposition.h" 2308 > 2309 </File> 2310 <File 2263 2311 RelativePath="..\page\History.cpp" 2264 2312 > … … 2386 2434 <File 2387 2435 RelativePath="..\page\Plugin.h" 2436 > 2437 </File> 2438 <File 2439 RelativePath="..\page\PositionCallback.h" 2440 > 2441 </File> 2442 <File 2443 RelativePath="..\page\PositionError.h" 2444 > 2445 </File> 2446 <File 2447 RelativePath="..\page\PositionErrorCallback.h" 2448 > 2449 </File> 2450 <File 2451 RelativePath="..\page\PositionOptions.h" 2388 2452 > 2389 2453 </File> … … 3038 3102 <File 3039 3103 RelativePath="..\platform\FloatConversion.h" 3104 > 3105 </File> 3106 <File 3107 RelativePath="..\platform\GeolocationService.cpp" 3108 > 3109 </File> 3110 <File 3111 RelativePath="..\platform\GeolocationService.h" 3040 3112 > 3041 3113 </File> … … 13206 13278 </File> 13207 13279 <File 13280 RelativePath="..\bindings\js\JSCustomPositionCallback.cpp" 13281 > 13282 </File> 13283 <File 13284 RelativePath="..\bindings\js\JSCustomPositionErrorCallback.cpp" 13285 > 13286 </File> 13287 <File 13208 13288 RelativePath="..\bindings\js\JSCustomSQLStatementCallback.cpp" 13209 13289 > … … 13339 13419 <File 13340 13420 RelativePath="..\bindings\js\JSEventTargetNodeCustom.cpp" 13421 > 13422 </File> 13423 <File 13424 RelativePath="..\bindings\js\JSGeolocationCustom.cpp" 13341 13425 > 13342 13426 </File> -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r37852 r37854 4240 4240 F916C48E0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = F916C48C0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h */; }; 4241 4241 F9F0ED7A0DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F0ED770DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.h */; }; 4242 FE80D7A70E9C1ED2000D6F75 /* JSCustomPositionCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80D7A20E9C1ED2000D6F75 /* JSCustomPositionCallback.cpp */; }; 4243 FE80D7A80E9C1ED2000D6F75 /* JSCustomPositionCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80D7A30E9C1ED2000D6F75 /* JSCustomPositionCallback.h */; }; 4244 FE80D7A90E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80D7A40E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.cpp */; }; 4245 FE80D7AA0E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80D7A50E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.h */; }; 4246 FE80D7AB0E9C1ED2000D6F75 /* JSGeolocationCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80D7A60E9C1ED2000D6F75 /* JSGeolocationCustom.cpp */; }; 4247 FE80D7C50E9C1F25000D6F75 /* Geolocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80D7B70E9C1F25000D6F75 /* Geolocation.cpp */; }; 4248 FE80D7C60E9C1F25000D6F75 /* Geolocation.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80D7B80E9C1F25000D6F75 /* Geolocation.h */; settings = {ATTRIBUTES = (); }; }; 4249 FE80D7C80E9C1F25000D6F75 /* Geoposition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80D7BA0E9C1F25000D6F75 /* Geoposition.cpp */; }; 4250 FE80D7C90E9C1F25000D6F75 /* Geoposition.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80D7BB0E9C1F25000D6F75 /* Geoposition.h */; }; 4251 FE80D7CB0E9C1F25000D6F75 /* PositionCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80D7BD0E9C1F25000D6F75 /* PositionCallback.h */; }; 4252 FE80D7CD0E9C1F25000D6F75 /* PositionError.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80D7BF0E9C1F25000D6F75 /* PositionError.h */; }; 4253 FE80D7CF0E9C1F25000D6F75 /* PositionErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80D7C10E9C1F25000D6F75 /* PositionErrorCallback.h */; }; 4254 FE80D7D10E9C1F25000D6F75 /* PositionOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80D7C30E9C1F25000D6F75 /* PositionOptions.h */; }; 4255 FE80DA630E9C4703000D6F75 /* JSGeolocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80DA5F0E9C4703000D6F75 /* JSGeolocation.cpp */; }; 4256 FE80DA640E9C4703000D6F75 /* JSGeolocation.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80DA600E9C4703000D6F75 /* JSGeolocation.h */; }; 4257 FE80DA650E9C4703000D6F75 /* JSGeoposition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80DA610E9C4703000D6F75 /* JSGeoposition.cpp */; }; 4258 FE80DA660E9C4703000D6F75 /* JSGeoposition.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80DA620E9C4703000D6F75 /* JSGeoposition.h */; }; 4259 FE80DA710E9C472F000D6F75 /* JSPositionError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80DA6D0E9C472F000D6F75 /* JSPositionError.cpp */; }; 4260 FE80DA720E9C472F000D6F75 /* JSPositionError.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80DA6E0E9C472F000D6F75 /* JSPositionError.h */; }; 4261 FE80DA730E9C472F000D6F75 /* JSPositionOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE80DA6F0E9C472F000D6F75 /* JSPositionOptions.cpp */; }; 4262 FE80DA740E9C472F000D6F75 /* JSPositionOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE80DA700E9C472F000D6F75 /* JSPositionOptions.h */; }; 4263 FEAB90120EA51B9C006348C3 /* GeolocationService.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FEAB90100EA51B9C006348C3 /* GeolocationService.cpp */; }; 4264 FEAB90130EA51B9C006348C3 /* GeolocationService.h in Headers */ = {isa = PBXBuildFile; fileRef = FEAB90110EA51B9C006348C3 /* GeolocationService.h */; }; 4242 4265 /* End PBXBuildFile section */ 4243 4266 … … 8874 8897 F9F0ED780DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = XMLHttpRequestProgressEvent.idl; sourceTree = "<group>"; }; 8875 8898 FE49EF970DC51462004266E1 /* DashboardSupportCSSPropertyNames.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DashboardSupportCSSPropertyNames.in; sourceTree = "<group>"; }; 8899 FE80D7A20E9C1ED2000D6F75 /* JSCustomPositionCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCustomPositionCallback.cpp; sourceTree = "<group>"; }; 8900 FE80D7A30E9C1ED2000D6F75 /* JSCustomPositionCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCustomPositionCallback.h; sourceTree = "<group>"; }; 8901 FE80D7A40E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCustomPositionErrorCallback.cpp; sourceTree = "<group>"; }; 8902 FE80D7A50E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCustomPositionErrorCallback.h; sourceTree = "<group>"; }; 8903 FE80D7A60E9C1ED2000D6F75 /* JSGeolocationCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGeolocationCustom.cpp; sourceTree = "<group>"; }; 8904 FE80D7B70E9C1F25000D6F75 /* Geolocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Geolocation.cpp; sourceTree = "<group>"; }; 8905 FE80D7B80E9C1F25000D6F75 /* Geolocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Geolocation.h; sourceTree = "<group>"; }; 8906 FE80D7B90E9C1F25000D6F75 /* Geolocation.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Geolocation.idl; sourceTree = "<group>"; }; 8907 FE80D7BA0E9C1F25000D6F75 /* Geoposition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Geoposition.cpp; sourceTree = "<group>"; }; 8908 FE80D7BB0E9C1F25000D6F75 /* Geoposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Geoposition.h; sourceTree = "<group>"; }; 8909 FE80D7BC0E9C1F25000D6F75 /* Geoposition.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Geoposition.idl; sourceTree = "<group>"; }; 8910 FE80D7BD0E9C1F25000D6F75 /* PositionCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionCallback.h; sourceTree = "<group>"; }; 8911 FE80D7BE0E9C1F25000D6F75 /* PositionCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PositionCallback.idl; sourceTree = "<group>"; }; 8912 FE80D7BF0E9C1F25000D6F75 /* PositionError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionError.h; sourceTree = "<group>"; }; 8913 FE80D7C00E9C1F25000D6F75 /* PositionError.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PositionError.idl; sourceTree = "<group>"; }; 8914 FE80D7C10E9C1F25000D6F75 /* PositionErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionErrorCallback.h; sourceTree = "<group>"; }; 8915 FE80D7C20E9C1F25000D6F75 /* PositionErrorCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PositionErrorCallback.idl; sourceTree = "<group>"; }; 8916 FE80D7C30E9C1F25000D6F75 /* PositionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionOptions.h; sourceTree = "<group>"; }; 8917 FE80D7C40E9C1F25000D6F75 /* PositionOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PositionOptions.idl; sourceTree = "<group>"; }; 8918 FE80DA5F0E9C4703000D6F75 /* JSGeolocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGeolocation.cpp; sourceTree = "<group>"; }; 8919 FE80DA600E9C4703000D6F75 /* JSGeolocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGeolocation.h; sourceTree = "<group>"; }; 8920 FE80DA610E9C4703000D6F75 /* JSGeoposition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGeoposition.cpp; sourceTree = "<group>"; }; 8921 FE80DA620E9C4703000D6F75 /* JSGeoposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGeoposition.h; sourceTree = "<group>"; }; 8922 FE80DA6D0E9C472F000D6F75 /* JSPositionError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPositionError.cpp; sourceTree = "<group>"; }; 8923 FE80DA6E0E9C472F000D6F75 /* JSPositionError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPositionError.h; sourceTree = "<group>"; }; 8924 FE80DA6F0E9C472F000D6F75 /* JSPositionOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPositionOptions.cpp; sourceTree = "<group>"; }; 8925 FE80DA700E9C472F000D6F75 /* JSPositionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPositionOptions.h; sourceTree = "<group>"; }; 8926 FEAB90100EA51B9C006348C3 /* GeolocationService.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeolocationService.cpp; sourceTree = "<group>"; }; 8927 FEAB90110EA51B9C006348C3 /* GeolocationService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeolocationService.h; sourceTree = "<group>"; }; 8876 8928 /* End PBXFileReference section */ 8877 8929 … … 9626 9678 65CBFEF70974F607001DAC25 /* FrameView.cpp */, 9627 9679 65CBFEF80974F607001DAC25 /* FrameView.h */, 9680 FE80D7B70E9C1F25000D6F75 /* Geolocation.cpp */, 9681 FE80D7B80E9C1F25000D6F75 /* Geolocation.h */, 9682 FE80D7B90E9C1F25000D6F75 /* Geolocation.idl */, 9683 FE80D7BA0E9C1F25000D6F75 /* Geoposition.cpp */, 9684 FE80D7BB0E9C1F25000D6F75 /* Geoposition.h */, 9685 FE80D7BC0E9C1F25000D6F75 /* Geoposition.idl */, 9628 9686 BC94D1500C275C8B006BC617 /* History.cpp */, 9629 9687 BC94D1510C275C8B006BC617 /* History.h */, … … 9641 9699 9302B0BC0D79F82900C7EE83 /* PageGroup.cpp */, 9642 9700 9302B0BE0D79F82C00C7EE83 /* PageGroup.h */, 9701 FE80D7BD0E9C1F25000D6F75 /* PositionCallback.h */, 9702 FE80D7BE0E9C1F25000D6F75 /* PositionCallback.idl */, 9703 FE80D7BF0E9C1F25000D6F75 /* PositionError.h */, 9704 FE80D7C00E9C1F25000D6F75 /* PositionError.idl */, 9705 FE80D7C10E9C1F25000D6F75 /* PositionErrorCallback.h */, 9706 FE80D7C20E9C1F25000D6F75 /* PositionErrorCallback.idl */, 9707 FE80D7C30E9C1F25000D6F75 /* PositionOptions.h */, 9708 FE80D7C40E9C1F25000D6F75 /* PositionOptions.idl */, 9643 9709 BCEC01BA0C274DAC009F4EC9 /* Screen.cpp */, 9644 9710 BCEC01BB0C274DAC009F4EC9 /* Screen.h */, … … 11804 11870 93F9B7720BA5FDDC00854064 /* JSEntityReference.cpp */, 11805 11871 93F9B7730BA5FDDC00854064 /* JSEntityReference.h */, 11872 FE80DA5F0E9C4703000D6F75 /* JSGeolocation.cpp */, 11873 FE80DA600E9C4703000D6F75 /* JSGeolocation.h */, 11874 FE80DA610E9C4703000D6F75 /* JSGeoposition.cpp */, 11875 FE80DA620E9C4703000D6F75 /* JSGeoposition.h */, 11806 11876 BCD9C2BC0C17B69E005C90A2 /* JSNamedNodeMap.cpp */, 11807 11877 BCD9C2BD0C17B69E005C90A2 /* JSNamedNodeMap.h */, … … 11812 11882 65DF31E909D1CC60000BE325 /* JSNotation.cpp */, 11813 11883 65DF31EA09D1CC60000BE325 /* JSNotation.h */, 11884 FE80DA6D0E9C472F000D6F75 /* JSPositionError.cpp */, 11885 FE80DA6E0E9C472F000D6F75 /* JSPositionError.h */, 11886 FE80DA6F0E9C472F000D6F75 /* JSPositionOptions.cpp */, 11887 FE80DA700E9C472F000D6F75 /* JSPositionOptions.h */, 11814 11888 65DF31EB09D1CC60000BE325 /* JSProcessingInstruction.cpp */, 11815 11889 65DF31EC09D1CC60000BE325 /* JSProcessingInstruction.h */, … … 12879 12953 BC5825F20C0B89380053F1B5 /* JSCSSStyleDeclarationCustom.cpp */, 12880 12954 BC20FB7E0C0E8E6C00D1447F /* JSCSSValueCustom.cpp */, 12955 FE80D7A20E9C1ED2000D6F75 /* JSCustomPositionCallback.cpp */, 12956 FE80D7A30E9C1ED2000D6F75 /* JSCustomPositionCallback.h */, 12957 FE80D7A40E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.cpp */, 12958 FE80D7A50E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.h */, 12881 12959 51EC925B0CE90DD400F90308 /* JSCustomSQLStatementCallback.cpp */, 12882 12960 51EC925C0CE90DD400F90308 /* JSCustomSQLStatementCallback.h */, … … 12901 12979 BCEFAF4D0C317E6900FA81F6 /* JSEventCustom.cpp */, 12902 12980 BC3B7B200E91AAF400D54065 /* JSEventTargetNodeCustom.cpp */, 12981 FE80D7A60E9C1ED2000D6F75 /* JSGeolocationCustom.cpp */, 12903 12982 BCE7B1920D4E86960075A539 /* JSHistoryCustom.cpp */, 12904 12983 BC4EDEF30C08F3FB007EDD49 /* JSHTMLAppletElementCustom.cpp */, … … 13211 13290 514B3F720C722047000530DF /* FileSystem.h */, 13212 13291 BC073BA90C399B1F000F5979 /* FloatConversion.h */, 13292 FEAB90100EA51B9C006348C3 /* GeolocationService.cpp */, 13293 FEAB90110EA51B9C006348C3 /* GeolocationService.h */, 13213 13294 BC3BC29B0E91AB0F00835588 /* HostWindow.h */, 13214 13295 6593923509AE4346002C531F /* KURL.cpp */, … … 16045 16126 1C81BA0E0E97348300266E07 /* JavaScriptDebugServer.h in Headers */, 16046 16127 BC3BE12B0E98092F00835588 /* PopupMenuStyle.h in Headers */, 16128 FE80D7A80E9C1ED2000D6F75 /* JSCustomPositionCallback.h in Headers */, 16129 FE80D7AA0E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.h in Headers */, 16130 FE80D7C60E9C1F25000D6F75 /* Geolocation.h in Headers */, 16131 FE80D7C90E9C1F25000D6F75 /* Geoposition.h in Headers */, 16132 FE80D7CB0E9C1F25000D6F75 /* PositionCallback.h in Headers */, 16133 FE80D7CD0E9C1F25000D6F75 /* PositionError.h in Headers */, 16134 FE80D7CF0E9C1F25000D6F75 /* PositionErrorCallback.h in Headers */, 16135 FE80D7D10E9C1F25000D6F75 /* PositionOptions.h in Headers */, 16136 FE80DA640E9C4703000D6F75 /* JSGeolocation.h in Headers */, 16137 FE80DA660E9C4703000D6F75 /* JSGeoposition.h in Headers */, 16138 FE80DA720E9C472F000D6F75 /* JSPositionError.h in Headers */, 16139 FE80DA740E9C472F000D6F75 /* JSPositionOptions.h in Headers */, 16047 16140 BC3BE9940E9C1C7C00835588 /* RenderScrollbar.h in Headers */, 16048 16141 BC3BE9950E9C1C7C00835588 /* RenderScrollbarPart.h in Headers */, … … 16056 16149 BCE659E60EA92FB2007E4533 /* ThemeMac.h in Headers */, 16057 16150 E1C4DE690EA75C1E0023CCD6 /* ActiveDOMObject.h in Headers */, 16151 FEAB90130EA51B9C006348C3 /* GeolocationService.h in Headers */, 16058 16152 BCE65BEB0EACDF16007E4533 /* Length.h in Headers */, 16059 16153 BCFF64910EAD15C200C1D6F7 /* LengthBox.h in Headers */, … … 17925 18019 1C81BA090E97348300266E07 /* JavaScriptCallFrame.cpp in Sources */, 17926 18020 1C81BA0D0E97348300266E07 /* JavaScriptDebugServer.cpp in Sources */, 18021 FE80D7A70E9C1ED2000D6F75 /* JSCustomPositionCallback.cpp in Sources */, 18022 FE80D7A90E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.cpp in Sources */, 18023 FE80D7AB0E9C1ED2000D6F75 /* JSGeolocationCustom.cpp in Sources */, 18024 FE80D7C50E9C1F25000D6F75 /* Geolocation.cpp in Sources */, 18025 FE80D7C80E9C1F25000D6F75 /* Geoposition.cpp in Sources */, 18026 FE80DA630E9C4703000D6F75 /* JSGeolocation.cpp in Sources */, 18027 FE80DA650E9C4703000D6F75 /* JSGeoposition.cpp in Sources */, 18028 FE80DA710E9C472F000D6F75 /* JSPositionError.cpp in Sources */, 18029 FE80DA730E9C472F000D6F75 /* JSPositionOptions.cpp in Sources */, 17927 18030 BC3BE9930E9C1C7C00835588 /* RenderScrollbar.cpp in Sources */, 17928 18031 BC3BE9A50E9C239600835588 /* RenderScrollbarTheme.cpp in Sources */, … … 17933 18036 BCE659E90EA92FFA007E4533 /* ThemeMac.mm in Sources */, 17934 18037 E1C4DE6E0EA75C650023CCD6 /* ActiveDOMObject.cpp in Sources */, 18038 FEAB90120EA51B9C006348C3 /* GeolocationService.cpp in Sources */, 17935 18039 BCE65BEA0EACDF16007E4533 /* Length.cpp in Sources */, 17936 18040 BCE65D320EAD1211007E4533 /* Theme.cpp in Sources */, -
trunk/WebCore/WebCoreSources.bkl
r37842 r37854 43 43 bindings/js/JSCSSStyleDeclarationCustom.cpp 44 44 bindings/js/JSCSSValueCustom.cpp 45 bindings/js/JSCustomPositionCallback.cpp 46 bindings/js/JSCustomPositionErrorCallback.cpp 45 47 bindings/js/JSCustomSQLStatementCallback.cpp 46 48 bindings/js/JSCustomSQLStatementErrorCallback.cpp … … 61 63 bindings/js/JSEventTarget.cpp 62 64 bindings/js/JSEventTargetNodeCustom.cpp 65 bindings/js/JSGeolocationCustom.cpp 63 66 bindings/js/JSHTMLAllCollection.cpp 64 67 bindings/js/JSHistoryCustom.cpp … … 240 243 DerivedSources/WebCore/JSFile.cpp 241 244 DerivedSources/WebCore/JSFileList.cpp 245 DerivedSources/WebCore/JSGeolocation.cpp 246 DerivedSources/WebCore/JSGeoposition.cpp 242 247 DerivedSources/WebCore/JSHTMLAnchorElement.cpp 243 248 DerivedSources/WebCore/JSHTMLAppletElement.cpp … … 324 329 DerivedSources/WebCore/JSPlugin.cpp 325 330 DerivedSources/WebCore/JSPluginArray.cpp 331 DerivedSources/WebCore/JSPositionError.cpp 332 DerivedSources/WebCore/JSPositionOptions.cpp 326 333 DerivedSources/WebCore/JSProcessingInstruction.cpp 327 334 DerivedSources/WebCore/JSProgressEvent.cpp … … 671 678 page/FrameTree.cpp 672 679 page/FrameView.cpp 680 page/Geolocation.cpp 681 page/Geoposition.cpp 673 682 page/History.cpp 674 683 page/Location.cpp … … 694 703 platform/DragImage.cpp 695 704 platform/FileChooser.cpp 705 platform/GeolocationService.cpp 696 706 platform/graphics/Font.cpp 697 707 platform/graphics/FontCache.cpp -
trunk/WebCore/bindings/js/JSDOMBinding.cpp
r37845 r37854 354 354 } 355 355 356 void markDOMObjectWrapper(JSGlobalData& globalData, void* object) 357 { 358 if (!object) 359 return; 360 DOMObject* wrapper = getCachedDOMObjectWrapper(globalData, object); 361 if (!wrapper || wrapper->marked()) 362 return; 363 wrapper->mark(); 364 } 365 356 366 JSValue* jsStringOrNull(ExecState* exec, const String& s) 357 367 { -
trunk/WebCore/bindings/js/JSDOMBinding.h
r37845 r37854 70 70 void markDOMNodesForDocument(Document*); 71 71 void markActiveObjectsForDocument(JSC::JSGlobalData&, Document*); 72 void markDOMObjectWrapper(JSC::JSGlobalData& globalData, void* object); 72 73 void markCrossHeapDependentObjectsForDocument(JSC::JSGlobalData&, Document*); 73 74 -
trunk/WebCore/bindings/js/JSDOMWindowCustom.cpp
r37845 r37854 41 41 42 42 namespace WebCore { 43 44 static void markDOMObjectWrapper(JSGlobalData& globalData, void* object)45 {46 if (!object)47 return;48 DOMObject* wrapper = getCachedDOMObjectWrapper(globalData, object);49 if (!wrapper || wrapper->marked())50 return;51 wrapper->mark();52 }53 43 54 44 void JSDOMWindow::mark() -
trunk/WebCore/bindings/js/JSNavigatorCustom.cpp
r37845 r37854 114 114 } 115 115 116 void JSNavigator::mark() 117 { 118 Base::mark(); 119 120 JSGlobalData& globalData = *Heap::heap(this)->globalData(); 121 122 markDOMObjectWrapper(globalData, impl()->optionalGeolocation()); 116 123 } 124 125 } -
trunk/WebCore/dom/Document.cpp
r37842 r37854 317 317 , m_hasOpenDatabases(false) 318 318 #endif 319 , m_usingGeolocation(false) 319 320 #if USE(LOW_BANDWIDTH_DISPLAY) 320 321 , m_inLowBandwidthDisplay(false) -
trunk/WebCore/dom/Document.h
r37842 r37854 999 999 void stopDatabases(); 1000 1000 #endif 1001 1002 void setUsingGeolocation(bool f) { m_usingGeolocation = f; } 1003 bool usingGeolocation() const { return m_usingGeolocation; }; 1004 1001 1005 protected: 1002 1006 void clearXMLVersion() { m_xmlVersion = String(); } … … 1075 1079 OwnPtr<DatabaseSet> m_openDatabaseSet; 1076 1080 #endif 1081 1082 bool m_usingGeolocation; 1077 1083 1078 1084 #if USE(LOW_BANDWIDTH_DISPLAY) -
trunk/WebCore/loader/FrameLoader.cpp
r37845 r37854 1916 1916 && !m_frame->document()->hasOpenDatabases() 1917 1917 #endif 1918 && !m_frame->document()->usingGeolocation() 1918 1919 && m_frame->page() 1919 1920 && m_frame->page()->backForwardList()->enabled() -
trunk/WebCore/page/Navigator.cpp
r37842 r37854 28 28 #include "FrameLoader.h" 29 29 #include "FrameLoaderClient.h" 30 #include "Geolocation.h" 30 31 #include "Language.h" 31 32 #include "MimeTypeArray.h" … … 88 89 m_mimeTypes = 0; 89 90 } 91 if (m_geolocation) { 92 m_geolocation->disconnectFrame(); 93 m_geolocation = 0; 94 } 90 95 m_frame = 0; 91 96 } … … 198 203 } 199 204 205 Geolocation* Navigator::geolocation() const 206 { 207 if (!m_geolocation) 208 m_geolocation = Geolocation::create(m_frame); 209 return m_geolocation.get(); 210 } 211 200 212 } // namespace WebCore -
trunk/WebCore/page/Navigator.h
r37842 r37854 28 28 29 29 class Frame; 30 class Geolocation; 30 31 class MimeTypeArray; 31 32 class PluginData; … … 57 58 58 59 bool onLine() const; 60 Geolocation* geolocation() const; 61 // This is used for GC marking. 62 Geolocation* optionalGeolocation() const { return m_geolocation.get(); } 63 59 64 private: 60 65 Navigator(Frame*); … … 62 67 mutable RefPtr<PluginArray> m_plugins; 63 68 mutable RefPtr<MimeTypeArray> m_mimeTypes; 69 mutable RefPtr<Geolocation> m_geolocation; 64 70 }; 65 71 -
trunk/WebCore/page/Navigator.idl
r37842 r37854 20 20 module window { 21 21 22 interface Navigator { 22 interface [ 23 CustomMarkFunction 24 ] Navigator { 23 25 readonly attribute DOMString appCodeName; 24 26 readonly attribute DOMString appName; … … 37 39 38 40 readonly attribute boolean onLine; 41 #if ENABLE_GEOLOCATION 42 readonly attribute Geolocation geolocation; 43 #endif 39 44 }; 40 45
Note:
See TracChangeset
for help on using the changeset viewer.