[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

Changeset 37854 in webkit


Ignore:
Timestamp:
Oct 24, 2008, 1:10:40 PM (16 years ago)
Author:
ddkilzer@apple.com
Message:

JavaScriptCore:

2008-10-24 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21475


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

  • wtf/Platform.h: ENABLE_GEOLOCATION defaults to 0

WebCore:

2008-10-24 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21475


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

Test: geolocation/geolocation-not-implemented.html

  • DerivedSources.make:
  • GNUmakefile.am: Added Geolocation support
  • WebCore.pro: Added Geolocation support
  • WebCore.vcproj/WebCore.vcproj: Added Geolocation support
  • WebCore.xcodeproj/project.pbxproj: Added Geolocation support
  • WebCoreSources.bkl: Added Geolocation support
  • bindings/js/JSCustomPositionCallback.cpp: Added. (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): (WebCore::JSCustomPositionCallback::handleEvent):
  • bindings/js/JSCustomPositionCallback.h: Added. (WebCore::JSCustomPositionCallback::create):
  • bindings/js/JSCustomPositionErrorCallback.cpp: Added. (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): (WebCore::JSCustomPositionErrorCallback::handleEvent):
  • bindings/js/JSCustomPositionErrorCallback.h: Added. (WebCore::JSCustomPositionErrorCallback::create):
  • bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom (WebCore::markDOMObjectWrapper):
  • bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
  • bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
  • bindings/js/JSGeolocationCustom.cpp: Added. (WebCore::JSGeolocation::getCurrentPosition): (WebCore::JSGeolocation::watchPosition):
  • bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation (WebCore::JSNavigator::mark):
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h: (WebCore::Document::setUsingGeolocation): (WebCore::Document::usingGeolocation):
  • loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation (WebCore::FrameLoader::canCachePage):
  • page/Geolocation.cpp: Added. (WebCore::Geolocation::GeoNotifier::GeoNotifier): (WebCore::Geolocation::GeoNotifier::timerFired): (WebCore::Geolocation::Geolocation): (WebCore::Geolocation::disconnectFrame): (WebCore::Geolocation::getCurrentPosition): (WebCore::Geolocation::watchPosition): (WebCore::Geolocation::clearWatch): (WebCore::Geolocation::stopUpdatingIfEmpty): (WebCore::Geolocation::sendErrorToOneShots): (WebCore::Geolocation::sendErrorToWatchers): (WebCore::Geolocation::sendPositionToOneShots): (WebCore::Geolocation::sendPositionToWatchers): (WebCore::Geolocation::handleError): (WebCore::Geolocation::geolocationServicePositionChanged): (WebCore::Geolocation::geolocationServiceErrorOccurred):
  • page/Geolocation.h: Added. (WebCore::Geolocation::create): (WebCore::Geolocation::~Geolocation): (WebCore::Geolocation::lastPosition): (WebCore::Geolocation::GeoNotifier::create):
  • page/Geolocation.idl: Added.
  • page/Geoposition.cpp: Added. (WebCore::Geoposition::toString):
  • page/Geoposition.h: Added. (WebCore::Geoposition::create): (WebCore::Geoposition::latitude): (WebCore::Geoposition::longitude): (WebCore::Geoposition::altitude): (WebCore::Geoposition::accuracy): (WebCore::Geoposition::altitudeAccuracy): (WebCore::Geoposition::heading): (WebCore::Geoposition::velocity): (WebCore::Geoposition::timestamp): (WebCore::Geoposition::Geoposition):
  • page/Geoposition.idl: Added.
  • page/Navigator.cpp: (WebCore::Navigator::disconnectFrame): disconnect Geolocation (WebCore::Navigator::geolocation): accessor for Geolocation
  • page/Navigator.h: (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
  • page/Navigator.idl: accessor for Geolocation
  • page/PositionCallback.h: Added. (WebCore::PositionCallback::~PositionCallback):
  • page/PositionCallback.idl: Added.
  • page/PositionError.h: Added. (WebCore::PositionError::): (WebCore::PositionError::create): (WebCore::PositionError::code): (WebCore::PositionError::message): (WebCore::PositionError::PositionError):
  • page/PositionError.idl: Added.
  • page/PositionErrorCallback.h: Added. (WebCore::PositionErrorCallback::~PositionErrorCallback):
  • page/PositionErrorCallback.idl: Added.
  • page/PositionOptions.h: Added. (WebCore::PositionOptions::create): (WebCore::PositionOptions::enableHighAccuracy): (WebCore::PositionOptions::setEnableHighAccuracy): (WebCore::PositionOptions::timeout): (WebCore::PositionOptions::setTimeout): (WebCore::PositionOptions::PositionOptions):
  • page/PositionOptions.idl: Added.
  • platform/GeolocationService.cpp: Added. (WebCore::GeolocationService::GeolocationService): (WebCore::GeolocationService::positionChanged): (WebCore::GeolocationService::errorOccurred):
  • platform/GeolocationService.h: Added. (WebCore::GeolocationServiceClient::~GeolocationServiceClient): (WebCore::GeolocationServiceClient::geolocationServicePositionChanged): (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred): (WebCore::GeolocationService::~GeolocationService):

LayoutTests:

2008-10-24 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21475


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

Tests to verify Geolocation isn't implemented (so that it didn't leak into
WebCore for platforms that do not support it).

  • geolocation: Added.
  • geolocation/geolocation-not-implemented-expected.txt: Added.
  • geolocation/geolocation-not-implemented.html: Added.
  • geolocation/geolocation-test.js: Copied from LayoutTests/media/video-test.js. (reset): (hanged): (watchPositionAndEnd): (watchPosition._positionCallback): (watchPosition): (watchPositionTestAndEnd): (watchPositionAndFail): (watchPositionAndTest._positionCallback): (watchPositionAndTest): (getCurrentPositionAndEnd): (getCurrentPosition._positionCallback): (getCurrentPosition): (getCurrentPositionTestAndEnd): (getCurrentPositionAndFail): (getCurrentPositionAndTest._positionCallback): (getCurrentPositionAndTest): (endTest): (relativeURL):
Location:
trunk
Files:
24 added
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r37845 r37854  
     12008-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
    1132008-10-24  Darin Adler  <darin@apple.com>
    214
  • trunk/JavaScriptCore/wtf/Platform.h

    r37842 r37854  
    352352#endif
    353353
     354#if !defined(ENABLE_GEOLOCATION)
     355#define ENABLE_GEOLOCATION 0
     356#endif
     357
    354358// CTI only supports x86 at the moment, and has only been tested on Mac and Windows.
    355359#if !defined(ENABLE_CTI) && PLATFORM(X86) && (PLATFORM(MAC) || PLATFORM(WIN))
  • trunk/LayoutTests/ChangeLog

    r37853 r37854  
     12008-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
    1372008-10-24  Simon Fraser  <simon.fraser@apple.com>
    238
  • trunk/WebCore/ChangeLog

    r37852 r37854  
     12008-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
    11182008-10-24  Simon Fraser  <simon.fraser@apple.com>
    2119
  • trunk/WebCore/DerivedSources.make

    r37842 r37854  
    9494    File \
    9595    FileList \
     96    Geolocation \
     97    Geoposition \
    9698    HTMLAnchorElement \
    9799    HTMLAppletElement \
     
    181183    Plugin \
    182184    PluginArray \
     185    PositionCallback \
     186    PositionError \
     187    PositionErrorCallback \
     188    PositionOptions \
    183189    ProcessingInstruction \
    184190    ProgressEvent \
  • trunk/WebCore/GNUmakefile.am

    r37852 r37854  
    210210        WebCore/page/DOMSelection.idl \
    211211        WebCore/page/DOMWindow.idl \
     212        WebCore/page/Geolocation.idl \
     213        WebCore/page/Geoposition.idl \
    212214        WebCore/page/History.idl \
    213215        WebCore/page/Location.idl \
    214216        WebCore/page/Navigator.idl \
     217        WebCore/page/PositionCallback.idl \
     218        WebCore/page/PositionError.idl \
     219        WebCore/page/PositionErrorCallback.idl \
     220        WebCore/page/PositionOptions.idl \
    215221        WebCore/page/Screen.idl \
    216222        WebCore/plugins/MimeType.idl \
     
    326332        WebCore/bindings/js/JSClipboardCustom.cpp \
    327333        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 \
    328338        WebCore/bindings/js/JSCustomVoidCallback.cpp \
    329339        WebCore/bindings/js/JSCustomVoidCallback.h \
     
    350360        WebCore/bindings/js/JSEventTargetBase.h \
    351361        WebCore/bindings/js/JSEventTargetNodeCustom.cpp \
     362        WebCore/bindings/js/JSGeolocationCustom.cpp \
    352363        WebCore/bindings/js/JSHTMLAllCollection.cpp \
    353364        WebCore/bindings/js/JSHTMLAllCollection.h \
     
    11911202        WebCore/page/FrameView.cpp \
    11921203        WebCore/page/FrameView.h \
     1204        WebCore/page/Geolocation.cpp \
     1205        WebCore/page/Geolocation.h \
     1206        WebCore/page/Geoposition.cpp \
     1207        WebCore/page/Geoposition.h \
    11931208        WebCore/page/History.cpp \
    11941209        WebCore/page/History.h \
     
    12031218        WebCore/page/PageGroup.cpp \
    12041219        WebCore/page/PageGroup.h \
     1220        WebCore/page/PositionCallback.h \
     1221        WebCore/page/PositionError.h \
     1222        WebCore/page/PositionErrorCallback.h \
     1223        WebCore/page/PositionOptions.h \
    12051224        WebCore/page/PrintContext.cpp \
    12061225        WebCore/page/PrintContext.h \
     
    12481267        WebCore/platform/FileSystem.h \
    12491268        WebCore/platform/FloatConversion.h \
     1269        WebCore/platform/GeolocationService.cpp \
     1270        WebCore/platform/GeolocationService.h \
    12501271        WebCore/platform/HostWindow.h \
    12511272        WebCore/platform/KURL.cpp \
  • trunk/WebCore/WebCore.pro

    r37842 r37854  
    370370    bindings/js/JSCSSStyleDeclarationCustom.cpp \
    371371    bindings/js/JSCSSValueCustom.cpp \
     372    bindings/js/JSCustomPositionCallback.cpp \
     373    bindings/js/JSCustomPositionErrorCallback.cpp \
    372374    bindings/js/JSCustomVoidCallback.cpp \
    373375    bindings/js/JSCustomXPathNSResolver.cpp \
     
    382384    bindings/js/JSEventTarget.cpp \
    383385    bindings/js/JSEventTargetNodeCustom.cpp \
     386    bindings/js/JSGeolocationCustom.cpp \
    384387    bindings/js/JSHTMLAllCollection.cpp \
    385388    bindings/js/JSHistoryCustom.cpp \
     
    778781    page/FrameTree.cpp \
    779782    page/FrameView.cpp \
     783    page/Geolocation.cpp \
     784    page/Geoposition.cpp \
    780785    page/History.cpp \
    781786    page/Location.cpp \
     
    805810    platform/DragImage.cpp \
    806811    platform/FileChooser.cpp \
     812    platform/GeolocationService.cpp \
    807813    platform/graphics/FontDescription.cpp \
    808814    platform/graphics/FontFamily.cpp \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r37852 r37854  
    681681                        </File>
    682682                        <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
    683691                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSEvent.h"
    684692                                >
     
    10381046                        <File
    10391047                                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"
    10401056                                >
    10411057                        </File>
     
    22612277                        </File>
    22622278                        <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
    22632311                                RelativePath="..\page\History.cpp"
    22642312                                >
     
    23862434                        <File
    23872435                                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"
    23882452                                >
    23892453                        </File>
     
    30383102                        <File
    30393103                                RelativePath="..\platform\FloatConversion.h"
     3104                                >
     3105                        </File>
     3106                        <File
     3107                                RelativePath="..\platform\GeolocationService.cpp"
     3108                                >
     3109                        </File>
     3110                        <File
     3111                                RelativePath="..\platform\GeolocationService.h"
    30403112                                >
    30413113                        </File>
     
    1320613278                                </File>
    1320713279                                <File
     13280                                        RelativePath="..\bindings\js\JSCustomPositionCallback.cpp"
     13281                                        >
     13282                                </File>
     13283                                <File
     13284                                        RelativePath="..\bindings\js\JSCustomPositionErrorCallback.cpp"
     13285                                        >
     13286                                </File>
     13287                                <File
    1320813288                                        RelativePath="..\bindings\js\JSCustomSQLStatementCallback.cpp"
    1320913289                                        >
     
    1333913419                                <File
    1334013420                                        RelativePath="..\bindings\js\JSEventTargetNodeCustom.cpp"
     13421                                        >
     13422                                </File>
     13423                                <File
     13424                                        RelativePath="..\bindings\js\JSGeolocationCustom.cpp"
    1334113425                                        >
    1334213426                                </File>
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r37852 r37854  
    42404240                F916C48E0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = F916C48C0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h */; };
    42414241                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 */; };
    42424265/* End PBXBuildFile section */
    42434266
     
    88748897                F9F0ED780DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = XMLHttpRequestProgressEvent.idl; sourceTree = "<group>"; };
    88758898                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>"; };
    88768928/* End PBXFileReference section */
    88778929
     
    96269678                                65CBFEF70974F607001DAC25 /* FrameView.cpp */,
    96279679                                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 */,
    96289686                                BC94D1500C275C8B006BC617 /* History.cpp */,
    96299687                                BC94D1510C275C8B006BC617 /* History.h */,
     
    96419699                                9302B0BC0D79F82900C7EE83 /* PageGroup.cpp */,
    96429700                                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 */,
    96439709                                BCEC01BA0C274DAC009F4EC9 /* Screen.cpp */,
    96449710                                BCEC01BB0C274DAC009F4EC9 /* Screen.h */,
     
    1180411870                                93F9B7720BA5FDDC00854064 /* JSEntityReference.cpp */,
    1180511871                                93F9B7730BA5FDDC00854064 /* JSEntityReference.h */,
     11872                                FE80DA5F0E9C4703000D6F75 /* JSGeolocation.cpp */,
     11873                                FE80DA600E9C4703000D6F75 /* JSGeolocation.h */,
     11874                                FE80DA610E9C4703000D6F75 /* JSGeoposition.cpp */,
     11875                                FE80DA620E9C4703000D6F75 /* JSGeoposition.h */,
    1180611876                                BCD9C2BC0C17B69E005C90A2 /* JSNamedNodeMap.cpp */,
    1180711877                                BCD9C2BD0C17B69E005C90A2 /* JSNamedNodeMap.h */,
     
    1181211882                                65DF31E909D1CC60000BE325 /* JSNotation.cpp */,
    1181311883                                65DF31EA09D1CC60000BE325 /* JSNotation.h */,
     11884                                FE80DA6D0E9C472F000D6F75 /* JSPositionError.cpp */,
     11885                                FE80DA6E0E9C472F000D6F75 /* JSPositionError.h */,
     11886                                FE80DA6F0E9C472F000D6F75 /* JSPositionOptions.cpp */,
     11887                                FE80DA700E9C472F000D6F75 /* JSPositionOptions.h */,
    1181411888                                65DF31EB09D1CC60000BE325 /* JSProcessingInstruction.cpp */,
    1181511889                                65DF31EC09D1CC60000BE325 /* JSProcessingInstruction.h */,
     
    1287912953                                BC5825F20C0B89380053F1B5 /* JSCSSStyleDeclarationCustom.cpp */,
    1288012954                                BC20FB7E0C0E8E6C00D1447F /* JSCSSValueCustom.cpp */,
     12955                                FE80D7A20E9C1ED2000D6F75 /* JSCustomPositionCallback.cpp */,
     12956                                FE80D7A30E9C1ED2000D6F75 /* JSCustomPositionCallback.h */,
     12957                                FE80D7A40E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.cpp */,
     12958                                FE80D7A50E9C1ED2000D6F75 /* JSCustomPositionErrorCallback.h */,
    1288112959                                51EC925B0CE90DD400F90308 /* JSCustomSQLStatementCallback.cpp */,
    1288212960                                51EC925C0CE90DD400F90308 /* JSCustomSQLStatementCallback.h */,
     
    1290112979                                BCEFAF4D0C317E6900FA81F6 /* JSEventCustom.cpp */,
    1290212980                                BC3B7B200E91AAF400D54065 /* JSEventTargetNodeCustom.cpp */,
     12981                                FE80D7A60E9C1ED2000D6F75 /* JSGeolocationCustom.cpp */,
    1290312982                                BCE7B1920D4E86960075A539 /* JSHistoryCustom.cpp */,
    1290412983                                BC4EDEF30C08F3FB007EDD49 /* JSHTMLAppletElementCustom.cpp */,
     
    1321113290                                514B3F720C722047000530DF /* FileSystem.h */,
    1321213291                                BC073BA90C399B1F000F5979 /* FloatConversion.h */,
     13292                                FEAB90100EA51B9C006348C3 /* GeolocationService.cpp */,
     13293                                FEAB90110EA51B9C006348C3 /* GeolocationService.h */,
    1321313294                                BC3BC29B0E91AB0F00835588 /* HostWindow.h */,
    1321413295                                6593923509AE4346002C531F /* KURL.cpp */,
     
    1604516126                                1C81BA0E0E97348300266E07 /* JavaScriptDebugServer.h in Headers */,
    1604616127                                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 */,
    1604716140                                BC3BE9940E9C1C7C00835588 /* RenderScrollbar.h in Headers */,
    1604816141                                BC3BE9950E9C1C7C00835588 /* RenderScrollbarPart.h in Headers */,
     
    1605616149                                BCE659E60EA92FB2007E4533 /* ThemeMac.h in Headers */,
    1605716150                                E1C4DE690EA75C1E0023CCD6 /* ActiveDOMObject.h in Headers */,
     16151                                FEAB90130EA51B9C006348C3 /* GeolocationService.h in Headers */,
    1605816152                                BCE65BEB0EACDF16007E4533 /* Length.h in Headers */,
    1605916153                                BCFF64910EAD15C200C1D6F7 /* LengthBox.h in Headers */,
     
    1792518019                                1C81BA090E97348300266E07 /* JavaScriptCallFrame.cpp in Sources */,
    1792618020                                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 */,
    1792718030                                BC3BE9930E9C1C7C00835588 /* RenderScrollbar.cpp in Sources */,
    1792818031                                BC3BE9A50E9C239600835588 /* RenderScrollbarTheme.cpp in Sources */,
     
    1793318036                                BCE659E90EA92FFA007E4533 /* ThemeMac.mm in Sources */,
    1793418037                                E1C4DE6E0EA75C650023CCD6 /* ActiveDOMObject.cpp in Sources */,
     18038                                FEAB90120EA51B9C006348C3 /* GeolocationService.cpp in Sources */,
    1793518039                                BCE65BEA0EACDF16007E4533 /* Length.cpp in Sources */,
    1793618040                                BCE65D320EAD1211007E4533 /* Theme.cpp in Sources */,
  • trunk/WebCore/WebCoreSources.bkl

    r37842 r37854  
    4343        bindings/js/JSCSSStyleDeclarationCustom.cpp
    4444        bindings/js/JSCSSValueCustom.cpp
     45        bindings/js/JSCustomPositionCallback.cpp
     46        bindings/js/JSCustomPositionErrorCallback.cpp
    4547        bindings/js/JSCustomSQLStatementCallback.cpp
    4648        bindings/js/JSCustomSQLStatementErrorCallback.cpp
     
    6163        bindings/js/JSEventTarget.cpp
    6264        bindings/js/JSEventTargetNodeCustom.cpp
     65        bindings/js/JSGeolocationCustom.cpp
    6366        bindings/js/JSHTMLAllCollection.cpp
    6467        bindings/js/JSHistoryCustom.cpp
     
    240243        DerivedSources/WebCore/JSFile.cpp
    241244        DerivedSources/WebCore/JSFileList.cpp
     245        DerivedSources/WebCore/JSGeolocation.cpp
     246        DerivedSources/WebCore/JSGeoposition.cpp
    242247        DerivedSources/WebCore/JSHTMLAnchorElement.cpp
    243248        DerivedSources/WebCore/JSHTMLAppletElement.cpp
     
    324329        DerivedSources/WebCore/JSPlugin.cpp
    325330        DerivedSources/WebCore/JSPluginArray.cpp
     331        DerivedSources/WebCore/JSPositionError.cpp
     332        DerivedSources/WebCore/JSPositionOptions.cpp
    326333        DerivedSources/WebCore/JSProcessingInstruction.cpp
    327334        DerivedSources/WebCore/JSProgressEvent.cpp
     
    671678        page/FrameTree.cpp
    672679        page/FrameView.cpp
     680        page/Geolocation.cpp
     681        page/Geoposition.cpp
    673682        page/History.cpp
    674683        page/Location.cpp
     
    694703        platform/DragImage.cpp
    695704        platform/FileChooser.cpp
     705        platform/GeolocationService.cpp
    696706        platform/graphics/Font.cpp
    697707        platform/graphics/FontCache.cpp
  • trunk/WebCore/bindings/js/JSDOMBinding.cpp

    r37845 r37854  
    354354}
    355355
     356void 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
    356366JSValue* jsStringOrNull(ExecState* exec, const String& s)
    357367{
  • trunk/WebCore/bindings/js/JSDOMBinding.h

    r37845 r37854  
    7070    void markDOMNodesForDocument(Document*);
    7171    void markActiveObjectsForDocument(JSC::JSGlobalData&, Document*);
     72    void markDOMObjectWrapper(JSC::JSGlobalData& globalData, void* object);
    7273    void markCrossHeapDependentObjectsForDocument(JSC::JSGlobalData&, Document*);
    7374
  • trunk/WebCore/bindings/js/JSDOMWindowCustom.cpp

    r37845 r37854  
    4141
    4242namespace 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 }
    5343
    5444void JSDOMWindow::mark()
  • trunk/WebCore/bindings/js/JSNavigatorCustom.cpp

    r37845 r37854  
    114114}
    115115
     116void JSNavigator::mark()
     117{
     118    Base::mark();
     119
     120    JSGlobalData& globalData = *Heap::heap(this)->globalData();
     121
     122    markDOMObjectWrapper(globalData, impl()->optionalGeolocation());
    116123}
     124
     125}
  • trunk/WebCore/dom/Document.cpp

    r37842 r37854  
    317317    , m_hasOpenDatabases(false)
    318318#endif
     319    , m_usingGeolocation(false)
    319320#if USE(LOW_BANDWIDTH_DISPLAY)
    320321    , m_inLowBandwidthDisplay(false)
  • trunk/WebCore/dom/Document.h

    r37842 r37854  
    999999    void stopDatabases();
    10001000#endif
     1001   
     1002    void setUsingGeolocation(bool f) { m_usingGeolocation = f; }
     1003    bool usingGeolocation() const { return m_usingGeolocation; };
     1004   
    10011005protected:
    10021006    void clearXMLVersion() { m_xmlVersion = String(); }
     
    10751079    OwnPtr<DatabaseSet> m_openDatabaseSet;
    10761080#endif
     1081   
     1082    bool m_usingGeolocation;
    10771083
    10781084#if USE(LOW_BANDWIDTH_DISPLAY)
  • trunk/WebCore/loader/FrameLoader.cpp

    r37845 r37854  
    19161916        && !m_frame->document()->hasOpenDatabases()
    19171917#endif
     1918        && !m_frame->document()->usingGeolocation()
    19181919        && m_frame->page()
    19191920        && m_frame->page()->backForwardList()->enabled()
  • trunk/WebCore/page/Navigator.cpp

    r37842 r37854  
    2828#include "FrameLoader.h"
    2929#include "FrameLoaderClient.h"
     30#include "Geolocation.h"
    3031#include "Language.h"
    3132#include "MimeTypeArray.h"
     
    8889        m_mimeTypes = 0;
    8990    }
     91    if (m_geolocation) {
     92        m_geolocation->disconnectFrame();
     93        m_geolocation = 0;
     94    }
    9095    m_frame = 0;
    9196}
     
    198203}
    199204
     205Geolocation* Navigator::geolocation() const
     206{
     207    if (!m_geolocation)
     208        m_geolocation = Geolocation::create(m_frame);
     209    return m_geolocation.get();
     210}
     211   
    200212} // namespace WebCore
  • trunk/WebCore/page/Navigator.h

    r37842 r37854  
    2828
    2929    class Frame;
     30    class Geolocation;
    3031    class MimeTypeArray;
    3132    class PluginData;
     
    5758
    5859        bool onLine() const;
     60        Geolocation* geolocation() const;
     61        // This is used for GC marking.
     62        Geolocation* optionalGeolocation() const { return m_geolocation.get(); }
     63
    5964    private:
    6065        Navigator(Frame*);
     
    6267        mutable RefPtr<PluginArray> m_plugins;
    6368        mutable RefPtr<MimeTypeArray> m_mimeTypes;
     69        mutable RefPtr<Geolocation> m_geolocation;
    6470    };
    6571
  • trunk/WebCore/page/Navigator.idl

    r37842 r37854  
    2020module window {
    2121
    22     interface Navigator {
     22    interface [
     23        CustomMarkFunction
     24    ] Navigator {
    2325        readonly attribute DOMString appCodeName;
    2426        readonly attribute DOMString appName;
     
    3739       
    3840        readonly attribute boolean onLine;
     41#if ENABLE_GEOLOCATION
     42        readonly attribute Geolocation geolocation;
     43#endif
    3944    };
    4045
Note: See TracChangeset for help on using the changeset viewer.