Frame and Navigator shouldn't need to worry about Geolocation
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Feb 2012 02:22:15 +0000 (02:22 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Feb 2012 02:22:15 +0000 (02:22 +0000)
commit047b877c94a31f3bc6d4fa7350b8df03821e1d73
tree1ac176ca8025cd160942b2dcc327e8dbc3a4590c
parent2f2c38e748ce6e006e8987dc30b20e80a43f34b2
Frame and Navigator shouldn't need to worry about Geolocation
https://bugs.webkit.org/show_bug.cgi?id=78860

Reviewed by Eric Seidel.

This patch removes some Geolocation-specific code from Frame and
Navigator in favor of our new supplemental module mechanism.  We're
still refining the module system, but we seem to be converging on a
simple Observer/Supplement design.

In a future patch, I'll move the remaining Geolocation-related files in
WebCore into Modules/geolocation.  This patch appears to be the first
patch that introduces a module used by all the various build systems,
which is why there's a bit more build system overhead than usual.

* Modules/geolocation: Added.
* Modules/geolocation/NavigatorGeolocation.cpp: Added.
(WebCore):
(WebCore::NavigatorGeolocation::NavigatorGeolocation):
(WebCore::NavigatorGeolocation::~NavigatorGeolocation):
(WebCore::NavigatorGeolocation::pageDestroyed):
(WebCore::NavigatorGeolocation::from):
(WebCore::NavigatorGeolocation::geolocation):
* Modules/geolocation/NavigatorGeolocation.h: Added.
(WebCore):
(NavigatorGeolocation):
* Modules/geolocation/NavigatorGeolocation.idl: Added.
    - I've temporarily disabled this API for GObject because it generates
      a strange compile error.  Once I land this patch, I'll spend some
      more time fixing the compile error.
* page/DOMWindow.cpp:
(WebCore):
* page/DOMWindow.h:
(DOMWindow):
* page/Frame.cpp:
(WebCore::Frame::pageDestroyed):
(WebCore::Frame::transferChildFrameToNewDocument):
* page/FrameDestructionObserver.cpp:
(WebCore::FrameDestructionObserver::pageDestroyed):
(WebCore):
* page/FrameDestructionObserver.h:
(FrameDestructionObserver):
* page/Navigator.cpp:
(WebCore):
* page/Navigator.h:
(WebCore):
(Navigator):
* page/Navigator.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
43 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.make
Source/WebCore/DerivedSources.pri
Source/WebCore/GNUmakefile.am
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Modules/geolocation/NavigatorGeolocation.cpp [new file with mode: 0644]
Source/WebCore/Modules/geolocation/NavigatorGeolocation.h [new file with mode: 0644]
Source/WebCore/Modules/geolocation/NavigatorGeolocation.idl [new file with mode: 0644]
Source/WebCore/Target.pri
Source/WebCore/WebCore.exp.in
Source/WebCore/WebCore.gyp/WebCore.gyp
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.pri
Source/WebCore/WebCore.vcproj/WebCore.vcproj
Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.cpp
Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.h
Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp
Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.h
Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h
Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h
Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.mm
Source/WebCore/bindings/scripts/test/TestSupplemental.idl
Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
Source/WebCore/loader/FrameLoader.cpp
Source/WebCore/page/DOMWindow.cpp
Source/WebCore/page/DOMWindow.h
Source/WebCore/page/DOMWindowProperty.cpp
Source/WebCore/page/DOMWindowProperty.h
Source/WebCore/page/Frame.cpp
Source/WebCore/page/Frame.h
Source/WebCore/page/FrameDestructionObserver.cpp
Source/WebCore/page/FrameDestructionObserver.h
Source/WebCore/page/Navigator.cpp
Source/WebCore/page/Navigator.h
Source/WebCore/page/Navigator.idl
Source/WebCore/page/Page.cpp
Source/WebKit2/win/WebKit2.def
Source/autotools/symbols.filter