Changeset 108428 in webkit
- Timestamp:
- Feb 21, 2012 6:22:15 PM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 4 added
- 40 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r108404 r108428 1 1 SET(WebCore_INCLUDE_DIRECTORIES 2 2 "${WEBCORE_DIR}" 3 "${WEBCORE_DIR}/Modules/geolocation" 3 4 "${WEBCORE_DIR}/accessibility" 4 5 "${WEBCORE_DIR}/bindings" … … 88 89 89 90 SET(WebCore_IDL_INCLUDES 91 Modules/geolocation 90 92 bindings/generic 91 93 css … … 106 108 107 109 SET(WebCore_IDL_FILES 110 Modules/geolocation/NavigatorGeolocation.idl 111 108 112 css/Counter.idl 109 113 css/CSSCharsetRule.idl … … 401 405 402 406 SET(WebCore_SOURCES 407 Modules/geolocation/NavigatorGeolocation.cpp 408 403 409 accessibility/AXObjectCache.cpp 404 410 accessibility/AccessibilityARIAGrid.cpp -
trunk/Source/WebCore/ChangeLog
r108426 r108428 1 2012-02-21 Adam Barth <abarth@webkit.org> 2 3 Frame and Navigator shouldn't need to worry about Geolocation 4 https://bugs.webkit.org/show_bug.cgi?id=78860 5 6 Reviewed by Eric Seidel. 7 8 This patch removes some Geolocation-specific code from Frame and 9 Navigator in favor of our new supplemental module mechanism. We're 10 still refining the module system, but we seem to be converging on a 11 simple Observer/Supplement design. 12 13 In a future patch, I'll move the remaining Geolocation-related files in 14 WebCore into Modules/geolocation. This patch appears to be the first 15 patch that introduces a module used by all the various build systems, 16 which is why there's a bit more build system overhead than usual. 17 18 * Modules/geolocation: Added. 19 * Modules/geolocation/NavigatorGeolocation.cpp: Added. 20 (WebCore): 21 (WebCore::NavigatorGeolocation::NavigatorGeolocation): 22 (WebCore::NavigatorGeolocation::~NavigatorGeolocation): 23 (WebCore::NavigatorGeolocation::pageDestroyed): 24 (WebCore::NavigatorGeolocation::from): 25 (WebCore::NavigatorGeolocation::geolocation): 26 * Modules/geolocation/NavigatorGeolocation.h: Added. 27 (WebCore): 28 (NavigatorGeolocation): 29 * Modules/geolocation/NavigatorGeolocation.idl: Added. 30 - I've temporarily disabled this API for GObject because it generates 31 a strange compile error. Once I land this patch, I'll spend some 32 more time fixing the compile error. 33 * page/DOMWindow.cpp: 34 (WebCore): 35 * page/DOMWindow.h: 36 (DOMWindow): 37 * page/Frame.cpp: 38 (WebCore::Frame::pageDestroyed): 39 (WebCore::Frame::transferChildFrameToNewDocument): 40 * page/FrameDestructionObserver.cpp: 41 (WebCore::FrameDestructionObserver::pageDestroyed): 42 (WebCore): 43 * page/FrameDestructionObserver.h: 44 (FrameDestructionObserver): 45 * page/Navigator.cpp: 46 (WebCore): 47 * page/Navigator.h: 48 (WebCore): 49 (Navigator): 50 * page/Navigator.idl: 51 1 52 2012-02-21 Shawn Singh <shawnsingh@chromium.org> 2 53 -
trunk/Source/WebCore/DerivedSources.make
r108404 r108428 29 29 VPATH = \ 30 30 $(WebCore) \ 31 $(WebCore)/Modules/geolocation \ 31 32 $(WebCore)/bindings/generic \ 32 33 $(WebCore)/bindings/js \ … … 54 55 55 56 BINDING_IDLS = \ 57 $(WebCore)/Modules/geolocation/NavigatorGeolocation.idl \ 56 58 $(WebCore)/css/CSSCharsetRule.idl \ 57 59 $(WebCore)/css/CSSFontFaceRule.idl \ -
trunk/Source/WebCore/DerivedSources.pri
r108404 r108428 87 87 88 88 IDL_BINDINGS += \ 89 $$PWD/Modules/geolocation/NavigatorGeolocation.idl \ 89 90 $$PWD/css/Counter.idl \ 90 91 $$PWD/css/CSSCharsetRule.idl \ … … 685 686 --defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" \ 686 687 --generator $$generator \ 688 --include $$PWD/Modules/geolocation \ 687 689 --include $$PWD/dom \ 688 690 --include $$PWD/fileapi \ -
trunk/Source/WebCore/GNUmakefile.am
r108404 r108428 12 12 -I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \ 13 13 -I$(srcdir)/Source/WebCore \ 14 -I$(srcdir)/Source/WebCore/Modules/geolocation \ 14 15 -I$(srcdir)/Source/WebCore/accessibility \ 15 16 -I$(srcdir)/Source/WebCore/bindings \ … … 759 760 760 761 IDL_PATH := \ 762 $(WebCore)/Modules/geolocation \ 761 763 $(WebCore)/bindings/js \ 762 764 $(WebCore)/css \ -
trunk/Source/WebCore/GNUmakefile.list.am
r108423 r108428 651 651 652 652 dom_binding_idls += \ 653 $(WebCore)/Modules/geolocation/NavigatorGeolocation.idl \ 653 654 $(WebCore)/css/CSSCharsetRule.idl \ 654 655 $(WebCore)/css/CSSFontFaceRule.idl \ … … 952 953 953 954 webcore_sources += \ 955 Source/WebCore/Modules/geolocation/NavigatorGeolocation.cpp \ 956 Source/WebCore/Modules/geolocation/NavigatorGeolocation.h \ 954 957 Source/WebCore/accessibility/AccessibilityARIAGridCell.cpp \ 955 958 Source/WebCore/accessibility/AccessibilityARIAGridCell.h \ -
trunk/Source/WebCore/Target.pri
r108402 r108428 35 35 36 36 SOURCES += \ 37 Modules/geolocation/NavigatorGeolocation.cpp \ 38 \ 37 39 accessibility/AccessibilityImageMapLink.cpp \ 38 40 accessibility/AccessibilityMediaControls.cpp \ -
trunk/Source/WebCore/WebCore.exp.in
r108409 r108428 673 673 __ZN7WebCore24FrameDestructionObserver12observeFrameEPNS_5FrameE 674 674 __ZN7WebCore24FrameDestructionObserver14frameDestroyedEv 675 __ZN7WebCore24FrameDestructionObserver14willDetachPageEv 675 676 __ZN7WebCore24keyIdentifierForKeyEventEP7NSEvent 676 677 __ZN7WebCore24notifyHistoryItemChangedE -
trunk/Source/WebCore/WebCore.gyp/WebCore.gyp
r108322 r108428 53 53 '../..', 54 54 '../Modules/gamepad', 55 '../Modules/geolocation', 55 56 '../Modules/intents', 56 57 '../Modules/indexeddb', -
trunk/Source/WebCore/WebCore.gypi
r108402 r108428 721 721 'Modules/gamepad/GamepadList.idl', 722 722 'Modules/gamepad/NavigatorGamepad.idl', 723 'Modules/geolocation/NavigatorGeolocation.idl', 723 724 'Modules/indexeddb/DOMWindowIndexedDatabase.idl', 724 725 'Modules/intents/DOMWindowIntents.idl', … … 1278 1279 'Modules/gamepad/NavigatorGamepad.cpp', 1279 1280 'Modules/gamepad/NavigatorGamepad.h', 1281 'Modules/geolocation/NavigatorGeolocation.cpp', 1282 'Modules/geolocation/NavigatorGeolocation.h', 1280 1283 'Modules/indexeddb/DOMWindowIndexedDatabase.cpp', 1281 1284 'Modules/indexeddb/DOMWindowIndexedDatabase.h', -
trunk/Source/WebCore/WebCore.pri
r108140 r108428 19 19 INCLUDEPATH += \ 20 20 $$SOURCE_DIR \ 21 $$SOURCE_DIR/Modules/geolocation \ 21 22 $$SOURCE_DIR/accessibility \ 22 23 $$SOURCE_DIR/bindings \ -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r108423 r108428 24052 24052 </Filter> 24053 24053 <Filter 24054 Name="Modules" 24055 > 24056 <Filter 24057 Name="geolocation" 24058 > 24059 <File 24060 RelativePath="..\Modules\geolocation\NavigatorGeolocation.cpp" 24061 > 24062 </File> 24063 <File 24064 RelativePath="..\Modules\geolocation\NavigatorGeolocation.h" 24065 > 24066 </File> 24067 </Filter> 24068 </Filter> 24069 <Filter 24054 24070 Name="accessibility" 24055 24071 > -
trunk/Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
r108140 r108428 8 8 <Tool 9 9 Name="VCCLCompilerTool" 10 AdditionalIncludeDirectories=""$(ProjectDir)..";"$(ProjectDir)..\ accessibility";"$(ProjectDir)..\accessibility\win";"$(ProjectDir)..\bridge";"$(ProjectDir)..\bridge\c";"$(ProjectDir)..\bridge\jsc";"$(ProjectDir)..\css";"$(ProjectDir)..\editing";"$(ProjectDir)..\fileapi";"$(ProjectDir)..\rendering";"$(ProjectDir)..\rendering\mathml";"$(ProjectDir)..\rendering\style";"$(ProjectDir)..\rendering\svg";"$(ProjectDir)..\bindings";"$(ProjectDir)..\bindings\generic";"$(ProjectDir)..\bindings\js";"$(ProjectDir)..\bindings\js\specialization";"$(ProjectDir)..\dom";"$(ProjectDir)..\dom\default";"$(ProjectDir)..\history";"$(ProjectDir)..\html";"$(ProjectDir)..\html\canvas";"$(ProjectDir)..\html\parser";"$(ProjectDir)..\html\shadow";"$(ProjectDir)..\inspector";"$(ProjectDir)..\loader";"$(ProjectDir)..\loader\appcache";"$(ProjectDir)..\loader\archive";"$(ProjectDir)..\loader\archive\cf";"$(ProjectDir)..\loader\cache";"$(ProjectDir)..\loader\icon";"$(ProjectDir)..\mathml";"$(ProjectDir)..\notifications";"$(ProjectDir)..\page";"$(ProjectDir)..\page\animation";"$(ProjectDir)..\page\scrolling";"$(ProjectDir)..\page\win";"$(ProjectDir)..\platform";"$(ProjectDir)..\platform\animation";"$(ProjectDir)..\platform\mock";"$(ProjectDir)..\platform\sql";"$(ProjectDir)..\platform\win";"$(ProjectDir)..\platform\network";"$(ProjectDir)..\platform\network\win";"$(ProjectDir)..\platform\cf";"$(ProjectDir)..\platform\graphics";"$(ProjectDir)..\platform\graphics\ca";"$(ProjectDir)..\platform\graphics\filters";"$(ProjectDir)..\platform\graphics\filters\arm";"$(ProjectDir)..\platform\graphics\opentype";"$(ProjectDir)..\platform\graphics\transforms";"$(ProjectDir)..\platform\text";"$(ProjectDir)..\platform\text\transcoder";"$(ProjectDir)..\platform\graphics\win";"$(ProjectDir)..\xml";"$(ProjectDir)..\xml\parser";"$(ConfigurationBuildDir)\obj\WebCore\DerivedSources";"$(ProjectDir)..\plugins";"$(ProjectDir)..\plugins\win";"$(ProjectDir)..\svg\animation";"$(ProjectDir)..\svg\graphics";"$(ProjectDir)..\svg\properties";"$(ProjectDir)..\svg\graphics\filters";"$(ProjectDir)..\svg";"$(ProjectDir)..\testing";"$(ProjectDir)..\wml";"$(ProjectDir)..\storage";"$(ProjectDir)..\websockets";"$(ProjectDir)..\workers";"$(ConfigurationBuildDir)\include";"$(ConfigurationBuildDir)\include\private";"$(ConfigurationBuildDir)\include\JavaScriptCore";"$(ConfigurationBuildDir)\include\private\JavaScriptCore";"$(ProjectDir)..\ForwardingHeaders";"$(WebKitLibrariesDir)\include";"$(WebKitLibrariesDir)\include\private";"$(WebKitLibrariesDir)\include\private\JavaScriptCore";"$(WebKitLibrariesDir)\include\pthreads";"$(WebKitLibrariesDir)\include\sqlite";"$(WebKitLibrariesDir)\include\JavaScriptCore";"$(WebKitLibrariesDir)\include\zlib""10 AdditionalIncludeDirectories=""$(ProjectDir)..";"$(ProjectDir)..\Modules\geolocation";"$(ProjectDir)..\accessibility";"$(ProjectDir)..\accessibility\win";"$(ProjectDir)..\bridge";"$(ProjectDir)..\bridge\c";"$(ProjectDir)..\bridge\jsc";"$(ProjectDir)..\css";"$(ProjectDir)..\editing";"$(ProjectDir)..\fileapi";"$(ProjectDir)..\rendering";"$(ProjectDir)..\rendering\mathml";"$(ProjectDir)..\rendering\style";"$(ProjectDir)..\rendering\svg";"$(ProjectDir)..\bindings";"$(ProjectDir)..\bindings\generic";"$(ProjectDir)..\bindings\js";"$(ProjectDir)..\bindings\js\specialization";"$(ProjectDir)..\dom";"$(ProjectDir)..\dom\default";"$(ProjectDir)..\history";"$(ProjectDir)..\html";"$(ProjectDir)..\html\canvas";"$(ProjectDir)..\html\parser";"$(ProjectDir)..\html\shadow";"$(ProjectDir)..\inspector";"$(ProjectDir)..\loader";"$(ProjectDir)..\loader\appcache";"$(ProjectDir)..\loader\archive";"$(ProjectDir)..\loader\archive\cf";"$(ProjectDir)..\loader\cache";"$(ProjectDir)..\loader\icon";"$(ProjectDir)..\mathml";"$(ProjectDir)..\notifications";"$(ProjectDir)..\page";"$(ProjectDir)..\page\animation";"$(ProjectDir)..\page\scrolling";"$(ProjectDir)..\page\win";"$(ProjectDir)..\platform";"$(ProjectDir)..\platform\animation";"$(ProjectDir)..\platform\mock";"$(ProjectDir)..\platform\sql";"$(ProjectDir)..\platform\win";"$(ProjectDir)..\platform\network";"$(ProjectDir)..\platform\network\win";"$(ProjectDir)..\platform\cf";"$(ProjectDir)..\platform\graphics";"$(ProjectDir)..\platform\graphics\ca";"$(ProjectDir)..\platform\graphics\filters";"$(ProjectDir)..\platform\graphics\filters\arm";"$(ProjectDir)..\platform\graphics\opentype";"$(ProjectDir)..\platform\graphics\transforms";"$(ProjectDir)..\platform\text";"$(ProjectDir)..\platform\text\transcoder";"$(ProjectDir)..\platform\graphics\win";"$(ProjectDir)..\xml";"$(ProjectDir)..\xml\parser";"$(ConfigurationBuildDir)\obj\WebCore\DerivedSources";"$(ProjectDir)..\plugins";"$(ProjectDir)..\plugins\win";"$(ProjectDir)..\svg\animation";"$(ProjectDir)..\svg\graphics";"$(ProjectDir)..\svg\properties";"$(ProjectDir)..\svg\graphics\filters";"$(ProjectDir)..\svg";"$(ProjectDir)..\testing";"$(ProjectDir)..\wml";"$(ProjectDir)..\storage";"$(ProjectDir)..\websockets";"$(ProjectDir)..\workers";"$(ConfigurationBuildDir)\include";"$(ConfigurationBuildDir)\include\private";"$(ConfigurationBuildDir)\include\JavaScriptCore";"$(ConfigurationBuildDir)\include\private\JavaScriptCore";"$(ProjectDir)..\ForwardingHeaders";"$(WebKitLibrariesDir)\include";"$(WebKitLibrariesDir)\include\private";"$(WebKitLibrariesDir)\include\private\JavaScriptCore";"$(WebKitLibrariesDir)\include\pthreads";"$(WebKitLibrariesDir)\include\sqlite";"$(WebKitLibrariesDir)\include\JavaScriptCore";"$(WebKitLibrariesDir)\include\zlib"" 11 11 PreprocessorDefinitions="__WIN32__;DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS" 12 12 UsePrecompiledHeader="2" -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r108423 r108428 3326 3326 970B728A144FFAC600F00A37 /* EventInterfaces.h in Headers */ = {isa = PBXBuildFile; fileRef = 970B7289144FFAC600F00A37 /* EventInterfaces.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3327 3327 970B72A6145008EB00F00A37 /* EventHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 970B72A5145008EB00F00A37 /* EventHeaders.h */; }; 3328 9711460314EF009A00674FD9 /* NavigatorGeolocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9711460014EF009A00674FD9 /* NavigatorGeolocation.cpp */; }; 3329 9711460414EF009A00674FD9 /* NavigatorGeolocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9711460114EF009A00674FD9 /* NavigatorGeolocation.h */; }; 3328 3330 97205AAF123928CA00B17380 /* FTPDirectoryDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97205AAD123928CA00B17380 /* FTPDirectoryDocument.cpp */; }; 3329 3331 97205AB0123928CA00B17380 /* FTPDirectoryDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 97205AAE123928CA00B17380 /* FTPDirectoryDocument.h */; }; … … 10189 10191 970B7289144FFAC600F00A37 /* EventInterfaces.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventInterfaces.h; sourceTree = "<group>"; }; 10190 10192 970B72A5145008EB00F00A37 /* EventHeaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventHeaders.h; sourceTree = "<group>"; }; 10193 9711460014EF009A00674FD9 /* NavigatorGeolocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NavigatorGeolocation.cpp; path = Modules/geolocation/NavigatorGeolocation.cpp; sourceTree = "<group>"; }; 10194 9711460114EF009A00674FD9 /* NavigatorGeolocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NavigatorGeolocation.h; path = Modules/geolocation/NavigatorGeolocation.h; sourceTree = "<group>"; }; 10195 9711460214EF009A00674FD9 /* NavigatorGeolocation.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NavigatorGeolocation.idl; path = Modules/geolocation/NavigatorGeolocation.idl; sourceTree = "<group>"; }; 10191 10196 97205AAD123928CA00B17380 /* FTPDirectoryDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FTPDirectoryDocument.cpp; sourceTree = "<group>"; }; 10192 10197 97205AAE123928CA00B17380 /* FTPDirectoryDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTPDirectoryDocument.h; sourceTree = "<group>"; }; … … 13463 13468 9307061309E0CA8200B17FE4 /* DerivedSources.make */, 13464 13469 93F19B1908245E59001E9ABC /* Info.plist */, 13470 971145FE14EF006E00674FD9 /* Modules */, 13465 13471 29A812040FBB9B4100510293 /* accessibility */, 13466 13472 BC1A3790097C6F970019F3D8 /* bindings */, … … 17080 17086 tabWidth = 4; 17081 17087 usesTabs = 0; 17088 }; 17089 971145FE14EF006E00674FD9 /* Modules */ = { 17090 isa = PBXGroup; 17091 children = ( 17092 971145FF14EF007900674FD9 /* geolocation */, 17093 ); 17094 name = Modules; 17095 sourceTree = "<group>"; 17096 }; 17097 971145FF14EF007900674FD9 /* geolocation */ = { 17098 isa = PBXGroup; 17099 children = ( 17100 9711460014EF009A00674FD9 /* NavigatorGeolocation.cpp */, 17101 9711460114EF009A00674FD9 /* NavigatorGeolocation.h */, 17102 9711460214EF009A00674FD9 /* NavigatorGeolocation.idl */, 17103 ); 17104 name = geolocation; 17105 sourceTree = "<group>"; 17082 17106 }; 17083 17107 976D6C57122B8A18001FD1F7 /* fileapi */ = { … … 23289 23313 A9C6E5A60D746458006442E9 /* Navigator.h in Headers */, 23290 23314 E12719C70EEEC16800F61213 /* NavigatorBase.h in Headers */, 23315 9711460414EF009A00674FD9 /* NavigatorGeolocation.h in Headers */, 23291 23316 97CC3AE314E8E4A200894988 /* NavigatorSupplement.h in Headers */, 23292 23317 8A309C9F123950BE00CB9204 /* NestingLevelIncrementer.h in Headers */, … … 26444 26469 A9C6E5A50D746458006442E9 /* Navigator.cpp in Sources */, 26445 26470 E12719CA0EEEC21300F61213 /* NavigatorBase.cpp in Sources */, 26471 9711460314EF009A00674FD9 /* NavigatorGeolocation.cpp in Sources */, 26446 26472 97CC3AE214E8E4A200894988 /* NavigatorSupplement.cpp in Sources */, 26447 26473 5D874F130D161D3200796C3B /* NetscapePlugInStreamLoader.cpp in Sources */, -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
r107396 r108428 419 419 $done = 1; 420 420 } elsif ($gtype eq "object") { 421 push(@txtGetProps, " RefPtr<WebCore::${propType}> ptr = coreSelf->${getPropNameFunction}(" . (@{$attribute->getterExceptions} ? "ec" : "") . ");\n");421 push(@txtGetProps, " RefPtr<WebCore::${propType}> ptr = ${getterFunctionName}(" . join(", ", @getterArguments) . ");\n"); 422 422 push(@txtGetProps, " g_value_set_object(value, WebKit::kit(ptr.get()));\n"); 423 423 $done = 1; -
trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.cpp
r108275 r108428 26 26 27 27 #include "KURL.h" 28 #include "Node.h" 28 29 #include "TestInterface.h" 29 30 #include "TestSupplemental.h" 31 #include "WebDOMNode.h" 30 32 #include "WebDOMString.h" 31 33 #include "WebExceptionHandler.h" … … 107 109 108 110 #endif 111 #if ENABLE(Condition11) || ENABLE(Condition12) 112 WebDOMNode WebDOMTestInterface::supplementalNode() const 113 { 114 if (!impl()) 115 return WebDOMNode(); 116 117 return toWebKit(WTF::getPtr(TestSupplemental::supplementalNode(impl()))); 118 } 119 120 void WebDOMTestInterface::setSupplementalNode(const WebDOMNode& newSupplementalNode) 121 { 122 if (!impl()) 123 return; 124 125 TestSupplemental::setSupplementalNode(impl(), toWebCore(newSupplementalNode)); 126 } 127 128 #endif 109 129 110 130 #if ENABLE(Condition11) || ENABLE(Condition12) -
trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.h
r108275 r108428 33 33 }; 34 34 35 class WebDOMNode; 35 36 36 37 class WebDOMTestInterface : public WebDOMObject { … … 59 60 void setSupplementalStr2(const WebDOMString&); 60 61 #endif 62 #if ENABLE(Condition11) || ENABLE(Condition12) 63 WebDOMNode supplementalNode() const; 64 void setSupplementalNode(const WebDOMNode&); 65 #endif 61 66 62 67 void supplementalMethod1(); -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp
r104643 r108428 29 29 #include "ExceptionCode.h" 30 30 #include "JSMainThreadExecState.h" 31 #include "Node.h" 31 32 #include "TestInterface.h" 32 33 #include "TestObj.h" … … 34 35 #include "WebKitDOMBinding.h" 35 36 #include "gobject/ConvertToUTF8String.h" 37 #include "webkit/WebKitDOMNode.h" 38 #include "webkit/WebKitDOMNodePrivate.h" 36 39 #include "webkit/WebKitDOMTestInterface.h" 37 40 #include "webkit/WebKitDOMTestInterfacePrivate.h" … … 136 139 } 137 140 141 WebKitDOMNode* 142 webkit_dom_test_interface_get_supplemental_node(WebKitDOMTestInterface* self) 143 { 144 #if ENABLE(Condition11) || ENABLE(Condition12) 145 g_return_val_if_fail(self, 0); 146 WebCore::JSMainThreadNullState state; 147 WebCore::TestInterface * item = WebKit::core(self); 148 PassRefPtr<WebCore::Node> g_res = WTF::getPtr(TestSupplemental::supplementalNode(item)); 149 WebKitDOMNode* res = WebKit::kit(g_res.get()); 150 return res; 151 #else 152 return NULL; 153 #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ 154 } 155 156 void 157 webkit_dom_test_interface_set_supplemental_node(WebKitDOMTestInterface* self, WebKitDOMNode* value) 158 { 159 #if ENABLE(Condition11) || ENABLE(Condition12) 160 g_return_if_fail(self); 161 WebCore::JSMainThreadNullState state; 162 WebCore::TestInterface * item = WebKit::core(self); 163 g_return_if_fail(value); 164 WebCore::Node * converted_value = NULL; 165 if (value != NULL) { 166 converted_value = WebKit::core(value); 167 g_return_if_fail(converted_value); 168 } 169 TestSupplemental::setSupplementalNode(item, converted_value); 170 #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ 171 } 172 138 173 139 174 G_DEFINE_TYPE(WebKitDOMTestInterface, webkit_dom_test_interface, WEBKIT_TYPE_DOM_OBJECT) … … 159 194 #if ENABLE(Condition11) || ENABLE(Condition12) 160 195 PROP_SUPPLEMENTAL_STR2, 196 #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ 197 #if ENABLE(Condition11) || ENABLE(Condition12) 198 PROP_SUPPLEMENTAL_NODE, 161 199 #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ 162 200 }; … … 216 254 { 217 255 g_value_take_string(value, convertToUTF8String(TestSupplemental::supplementalStr2(coreSelf))); 256 break; 257 } 258 #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ 259 #if ENABLE(Condition11) || ENABLE(Condition12) 260 case PROP_SUPPLEMENTAL_NODE: 261 { 262 RefPtr<WebCore::Node> ptr = TestSupplemental::supplementalNode(coreSelf); 263 g_value_set_object(value, WebKit::kit(ptr.get())); 218 264 break; 219 265 } … … 259 305 WEBKIT_PARAM_READWRITE)); 260 306 #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ 307 #if ENABLE(Condition11) || ENABLE(Condition12) 308 g_object_class_install_property(gobjectClass, 309 PROP_SUPPLEMENTAL_NODE, 310 g_param_spec_object("supplemental-node", /* name */ 311 "test_interface_supplemental-node", /* short description */ 312 "read-write WebKitDOMNode* TestInterface.supplemental-node", /* longer - could do with some extra doc stuff here */ 313 WEBKIT_TYPE_DOM_NODE, /* gobject type */ 314 WEBKIT_PARAM_READWRITE)); 315 #endif /* ENABLE(Condition11) || ENABLE(Condition12) */ 261 316 262 317 -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.h
r104643 r108428 101 101 webkit_dom_test_interface_set_supplemental_str2(WebKitDOMTestInterface* self, const gchar* value); 102 102 103 /** 104 * webkit_dom_test_interface_get_supplemental_node: 105 * @self: A #WebKitDOMTestInterface 106 * 107 * Returns: (transfer none): 108 * 109 **/ 110 WEBKIT_API WebKitDOMNode* 111 webkit_dom_test_interface_get_supplemental_node(WebKitDOMTestInterface* self); 112 113 /** 114 * webkit_dom_test_interface_set_supplemental_node: 115 * @self: A #WebKitDOMTestInterface 116 * @value: A #WebKitDOMNode 117 * 118 * Returns: (transfer none): 119 * 120 **/ 121 WEBKIT_API void 122 webkit_dom_test_interface_set_supplemental_node(WebKitDOMTestInterface* self, WebKitDOMNode* value); 123 103 124 G_END_DECLS 104 125 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
r108028 r108428 36 36 37 37 #if ENABLE(Condition11) || ENABLE(Condition12) 38 #include "JSNode.h" 38 39 #include "KURL.h" 39 40 #include <runtime/JSString.h> 40 41 #endif 41 42 43 #if ENABLE(Condition11) || ENABLE(Condition12) 44 #include "Node.h" 45 #endif 46 42 47 using namespace JSC; 43 48 … … 57 62 #if ENABLE(Condition11) || ENABLE(Condition12) 58 63 { "supplementalStr3", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceSupplementalStr3), (intptr_t)setJSTestInterfaceSupplementalStr3, NoIntrinsic }, 64 #endif 65 #if ENABLE(Condition11) || ENABLE(Condition12) 66 { "supplementalNode", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceSupplementalNode), (intptr_t)setJSTestInterfaceSupplementalNode, NoIntrinsic }, 59 67 #endif 60 68 { "constructor", DontEnum | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceConstructor), (intptr_t)0, NoIntrinsic }, … … 62 70 }; 63 71 64 static const HashTable JSTestInterfaceTable = { 9, 7, JSTestInterfaceTableValues, 0 };72 static const HashTable JSTestInterfaceTable = { 16, 15, JSTestInterfaceTableValues, 0 }; 65 73 /* Hash table for constructor */ 66 74 … … 258 266 #endif 259 267 268 #if ENABLE(Condition11) || ENABLE(Condition12) 269 JSValue jsTestInterfaceSupplementalNode(ExecState* exec, JSValue slotBase, const Identifier&) 270 { 271 JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase)); 272 UNUSED_PARAM(exec); 273 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl()); 274 JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(TestSupplemental::supplementalNode(impl))); 275 return result; 276 } 277 278 #endif 279 260 280 JSValue jsTestInterfaceConstructor(ExecState* exec, JSValue slotBase, const Identifier&) 261 281 { … … 287 307 { 288 308 static_cast<JSTestInterface*>(thisObject)->setSupplementalStr3(exec, value); 309 } 310 311 #endif 312 313 #if ENABLE(Condition11) || ENABLE(Condition12) 314 void setJSTestInterfaceSupplementalNode(ExecState* exec, JSObject* thisObject, JSValue value) 315 { 316 JSTestInterface* castedThis = static_cast<JSTestInterface*>(thisObject); 317 TestInterface* impl = static_cast<TestInterface*>(castedThis->impl()); 318 TestSupplemental::setSupplementalNode(impl, toNode(value)); 289 319 } 290 320 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h
r107520 r108428 160 160 JSC::JSValue jsTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); 161 161 void setJSTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::JSObject*, JSC::JSValue); 162 JSC::JSValue jsTestInterfaceSupplementalNode(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); 163 void setJSTestInterfaceSupplementalNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue); 162 164 JSC::JSValue jsTestInterfaceConstructor(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); 163 165 // Constants -
trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h
r106140 r108428 29 29 #if WEBKIT_VERSION_MAX_ALLOWED >= WEBKIT_VERSION_LATEST 30 30 31 @class DOMNode; 31 32 @class DOMTestObj; 32 33 @class NSString; … … 54 55 - (void)setSupplementalStr3:(NSString *)newSupplementalStr3; 55 56 #endif 57 #if ENABLE(Condition11) || ENABLE(Condition12) 58 - (DOMNode *)supplementalNode; 59 - (void)setSupplementalNode:(DOMNode *)newSupplementalNode; 60 #endif 56 61 - (void)supplementalMethod1; 57 62 - (DOMTestObj *)supplementalMethod2:(NSString *)strArg objArg:(DOMTestObj *)objArg; -
trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.mm
r104767 r108428 44 44 #import "JSMainThreadExecState.h" 45 45 #import "KURL.h" 46 #import "Node.h" 46 47 #import "TestInterface.h" 47 48 #import "TestObj.h" … … 109 110 #endif 110 111 112 #if ENABLE(Condition11) || ENABLE(Condition12) 113 - (DOMNode *)supplementalNode 114 { 115 WebCore::JSMainThreadNullState state; 116 return kit(WTF::getPtr(TestSupplemental::supplementalNode(IMPL))); 117 } 118 119 - (void)setSupplementalNode:(DOMNode *)newSupplementalNode 120 { 121 WebCore::JSMainThreadNullState state; 122 ASSERT(newSupplementalNode); 123 124 TestSupplemental::setSupplementalNode(IMPL, core(newSupplementalNode)); 125 } 126 #endif 127 111 128 112 129 #if ENABLE(Condition11) || ENABLE(Condition12) -
trunk/Source/WebCore/bindings/scripts/test/TestSupplemental.idl
r106140 r108428 37 37 attribute DOMString supplementalStr2; 38 38 attribute [CustomGetter, CustomSetter] DOMString supplementalStr3; 39 attribute Node supplementalNode; 39 40 40 41 void supplementalMethod1(); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
r107304 r108428 32 32 #include "V8DOMWrapper.h" 33 33 #include "V8IsolatedContext.h" 34 #include "V8Node.h" 34 35 #include "V8Proxy.h" 35 36 #include "V8TestObj.h" … … 77 78 STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID(V8Parameter<>, v, value); 78 79 TestSupplemental::setSupplementalStr2(imp, v); 80 return; 81 } 82 83 #endif // ENABLE(Condition11) || ENABLE(Condition12) 84 85 #if ENABLE(Condition11) || ENABLE(Condition12) 86 87 static v8::Handle<v8::Value> supplementalNodeAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) 88 { 89 INC_STATS("DOM.TestInterface.supplementalNode._get"); 90 TestInterface* imp = V8TestInterface::toNative(info.Holder()); 91 return toV8(TestSupplemental::supplementalNode(imp)); 92 } 93 94 #endif // ENABLE(Condition11) || ENABLE(Condition12) 95 96 #if ENABLE(Condition11) || ENABLE(Condition12) 97 98 static void supplementalNodeAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) 99 { 100 INC_STATS("DOM.TestInterface.supplementalNode._set"); 101 TestInterface* imp = V8TestInterface::toNative(info.Holder()); 102 Node* v = V8Node::HasInstance(value) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 103 TestSupplemental::setSupplementalNode(imp, WTF::getPtr(v)); 79 104 return; 80 105 } … … 136 161 {"supplementalStr3", V8TestInterface::supplementalStr3AccessorGetter, V8TestInterface::supplementalStr3AccessorSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 137 162 #endif // ENABLE(Condition11) || ENABLE(Condition12) 163 #if ENABLE(Condition11) || ENABLE(Condition12) 164 // Attribute 'supplementalNode' (Type: 'attribute' ExtAttr: 'Conditional ImplementedBy') 165 {"supplementalNode", TestInterfaceInternal::supplementalNodeAttrGetter, TestInterfaceInternal::supplementalNodeAttrSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 166 #endif // ENABLE(Condition11) || ENABLE(Condition12) 138 167 }; 139 168 -
trunk/Source/WebCore/loader/FrameLoader.cpp
r107023 r108428 2440 2440 if (child->ownerElement() && child->page()) 2441 2441 child->page()->decrementFrameCount(); 2442 // FIXME: The page isn't being destroyed, so it's not right to call a function named pageDestroyed(). 2443 child->pageDestroyed(); 2442 child->detachFromPage(); 2444 2443 2445 2444 m_frame->tree()->removeChild(child); … … 2519 2518 } else { 2520 2519 m_frame->setView(0); 2521 // FIXME: The page isn't being destroyed, so it's not right to call a function named pageDestroyed(). 2522 m_frame->pageDestroyed(); 2520 m_frame->detachFromPage(); 2523 2521 } 2524 2522 } -
trunk/Source/WebCore/page/DOMWindow.cpp
r107799 r108428 481 481 } 482 482 483 void DOMWindow::willDetachPage() 484 { 485 InspectorInstrumentation::frameWindowDiscarded(m_frame, this); 486 487 #if ENABLE(NOTIFICATIONS) 488 // Clearing Notifications requests involves accessing the client so it must be done 489 // before the frame is detached. 490 resetNotifications(); 491 #endif 492 493 HashSet<DOMWindowProperty*>::iterator stop = m_properties.end(); 494 for (HashSet<DOMWindowProperty*>::iterator it = m_properties.begin(); it != stop; ++it) 495 (*it)->willDetachPage(); 496 } 497 483 498 void DOMWindow::registerProperty(DOMWindowProperty* property) 484 499 { … … 731 746 } 732 747 #endif 733 734 void DOMWindow::pageDestroyed()735 {736 InspectorInstrumentation::frameWindowDiscarded(m_frame, this);737 #if ENABLE(NOTIFICATIONS)738 // Clearing Notifications requests involves accessing the client so it must be done739 // before the frame is detached.740 resetNotifications();741 #endif742 }743 744 void DOMWindow::resetGeolocation()745 {746 // Geolocation should cancel activities and permission requests when the page is detached.747 if (m_navigator)748 m_navigator->resetGeolocation();749 }750 748 751 749 #if ENABLE(INDEXED_DATABASE) -
trunk/Source/WebCore/page/DOMWindow.h
r107082 r108428 93 93 virtual DOMWindow* toDOMWindow(); 94 94 95 virtual void frameDestroyed() OVERRIDE;96 97 95 void registerProperty(DOMWindowProperty*); 98 96 void unregisterProperty(DOMWindowProperty*); … … 231 229 void printErrorMessage(const String&); 232 230 String crossDomainAccessErrorMessage(DOMWindow* activeWindow); 233 234 void pageDestroyed();235 void resetGeolocation();236 231 237 232 void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, const String& targetOrigin, DOMWindow* source, ExceptionCode&); … … 420 415 explicit DOMWindow(Frame*); 421 416 417 virtual void frameDestroyed() OVERRIDE; 418 virtual void willDetachPage() OVERRIDE; 419 422 420 virtual void refEventTarget() { ref(); } 423 421 virtual void derefEventTarget() { deref(); } -
trunk/Source/WebCore/page/DOMWindowProperty.cpp
r104380 r108428 50 50 } 51 51 52 void DOMWindowProperty::willDetachPage() 53 { 54 // Subclasses should override this function to handle this notification. 52 55 } 56 57 } -
trunk/Source/WebCore/page/DOMWindowProperty.h
r104380 r108428 34 34 public: 35 35 explicit DOMWindowProperty(Frame*); 36 36 37 virtual void disconnectFrame(); 38 virtual void willDetachPage(); 37 39 38 40 Frame* frame() const { return m_frame; } -
trunk/Source/WebCore/page/Frame.cpp
r107832 r108428 661 661 } 662 662 663 void Frame::pageDestroyed() 664 { 665 // FIXME: Rename this function, since it's called not only from Page destructor, but in several other cases. 666 // This cleanup is needed whenever we remove a frame from page. 667 663 void Frame::willDetachPage() 664 { 668 665 if (Frame* parent = tree()->parent()) 669 666 parent->loader()->checkLoadComplete(); 670 667 671 if (m_domWindow) {672 m_domWindow->resetGeolocation();673 668 #if ENABLE(NOTIFICATIONS) 669 if (m_domWindow) 674 670 m_domWindow->resetNotifications(); 675 671 #endif 676 m_domWindow->pageDestroyed(); 677 } 672 673 HashSet<FrameDestructionObserver*>::iterator stop = m_destructionObservers.end(); 674 for (HashSet<FrameDestructionObserver*>::iterator it = m_destructionObservers.begin(); it != stop; ++it) 675 (*it)->willDetachPage(); 678 676 679 677 // FIXME: It's unclear as to why this is called more than once, but it is, … … 684 682 script()->clearScriptObjects(); 685 683 script()->updatePlatformScriptObjects(); 686 687 detachFromPage();688 684 } 689 685 … … 719 715 } 720 716 721 // FIXME: We should ideally allow existing Geolocation activities to continue722 // when the Geolocation's iframe is reparented.723 // See https://bugs.webkit.org/show_bug.cgi?id=55577724 // and https://bugs.webkit.org/show_bug.cgi?id=52877725 717 if (m_domWindow) { 726 m_domWindow->resetGeolocation();727 718 #if ENABLE(NOTIFICATIONS) 728 719 m_domWindow->resetNotifications(); 729 720 #endif 730 721 } 722 723 HashSet<FrameDestructionObserver*>::iterator stop = m_destructionObservers.end(); 724 for (HashSet<FrameDestructionObserver*>::iterator it = m_destructionObservers.begin(); it != stop; ++it) 725 (*it)->willDetachPage(); 731 726 732 727 m_page = newPage; -
trunk/Source/WebCore/page/Frame.h
r107832 r108428 90 90 void removeDestructionObserver(FrameDestructionObserver*); 91 91 92 void willDetachPage(); 92 93 void detachFromPage(); 93 void pageDestroyed();94 94 void disconnectOwnerElement(); 95 95 … … 349 349 inline void Frame::detachFromPage() 350 350 { 351 willDetachPage(); 351 352 m_page = 0; 352 353 } -
trunk/Source/WebCore/page/FrameDestructionObserver.cpp
r105245 r108428 59 59 } 60 60 61 void FrameDestructionObserver::willDetachPage() 62 { 63 // Subclasses should override this function to handle this notification. 61 64 } 65 66 } -
trunk/Source/WebCore/page/FrameDestructionObserver.h
r105245 r108428 34 34 public: 35 35 explicit FrameDestructionObserver(Frame*); 36 36 37 virtual void frameDestroyed(); 38 virtual void willDetachPage(); 39 37 40 Frame* frame() const { return m_frame; } 38 41 -
trunk/Source/WebCore/page/Navigator.cpp
r107541 r108428 68 68 } 69 69 70 void Navigator::resetGeolocation()71 {72 if (m_geolocation)73 m_geolocation->reset();74 }75 76 70 // If this function returns true, we need to hide the substring "4." that would otherwise 77 71 // appear in the appVersion string. This is to avoid problems with old versions of a … … 150 144 151 145 return m_frame->settings()->isJavaEnabled(); 152 }153 154 Geolocation* Navigator::geolocation() const155 {156 if (!m_geolocation)157 m_geolocation = Geolocation::create(m_frame);158 return m_geolocation.get();159 146 } 160 147 -
trunk/Source/WebCore/page/Navigator.h
r107541 r108428 35 35 class DOMPluginArray; 36 36 class Frame; 37 class Geolocation;38 37 class PointerLock; 39 38 class PluginData; … … 46 45 virtual ~Navigator(); 47 46 48 void resetGeolocation();49 50 47 String appVersion() const; 51 48 String language() const; … … 56 53 57 54 virtual String userAgent() const; 58 59 Geolocation* geolocation() const;60 55 61 56 #if ENABLE(POINTER_LOCK) … … 81 76 mutable RefPtr<DOMPluginArray> m_plugins; 82 77 mutable RefPtr<DOMMimeTypeArray> m_mimeTypes; 83 mutable RefPtr<Geolocation> m_geolocation;84 78 #if ENABLE(POINTER_LOCK) 85 79 mutable RefPtr<PointerLock> m_pointer; -
trunk/Source/WebCore/page/Navigator.idl
r107541 r108428 41 41 readonly attribute boolean onLine; 42 42 43 #if defined(ENABLE_GEOLOCATION) && ENABLE_GEOLOCATION44 readonly attribute [V8EnabledAtRuntime] Geolocation geolocation;45 #endif46 47 43 #if defined(ENABLE_POINTER_LOCK) && ENABLE_POINTER_LOCK 48 44 readonly attribute [V8EnabledAtRuntime] PointerLock webkitPointer; -
trunk/Source/WebCore/page/Page.cpp
r108140 r108428 201 201 202 202 for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) 203 frame-> pageDestroyed();203 frame->detachFromPage(); 204 204 205 205 m_editorClient->pageDestroyed(); -
trunk/Source/WebKit2/win/WebKit2.def
r108119 r108428 202 202 ?userPreferredLanguages@WebCore@@YA?AV?$Vector@VString@WTF@@$0A@@WTF@@XZ 203 203 ?view@Document@WebCore@@QBEPAVFrameView@2@XZ 204 ?willDetachPage@FrameDestructionObserver@WebCore@@UAEXXZ -
trunk/Source/autotools/symbols.filter
r108053 r108428 97 97 _ZN7WebCore24FrameDestructionObserver12observeFrameEPNS_5FrameE; 98 98 _ZN7WebCore24FrameDestructionObserver14frameDestroyedEv; 99 _ZN7WebCore24FrameDestructionObserver14willDetachPageEv; 99 100 _ZN7WebCore22RuntimeEnabledFeatures31isMultipleShadowSubtreesEnabledE; 100 101 local:
Note: See TracChangeset
for help on using the changeset viewer.