| Differences between
and this patch
- Source/WebCore/ChangeLog +48 lines
Lines 1-3 Source/WebCore/ChangeLog_sec1
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
        * page/DOMWindow.cpp:
31
        (WebCore):
32
        * page/DOMWindow.h:
33
        (DOMWindow):
34
        * page/Frame.cpp:
35
        (WebCore::Frame::pageDestroyed):
36
        (WebCore::Frame::transferChildFrameToNewDocument):
37
        * page/FrameDestructionObserver.cpp:
38
        (WebCore::FrameDestructionObserver::pageDestroyed):
39
        (WebCore):
40
        * page/FrameDestructionObserver.h:
41
        (FrameDestructionObserver):
42
        * page/Navigator.cpp:
43
        (WebCore):
44
        * page/Navigator.h:
45
        (WebCore):
46
        (Navigator):
47
        * page/Navigator.idl:
48
1
2012-02-21  Philippe Normand  <pnormand@igalia.com>
49
2012-02-21  Philippe Normand  <pnormand@igalia.com>
2
50
3
        [GTK] WebAudio build is broken
51
        [GTK] WebAudio build is broken
- Source/WebCore/CMakeLists.txt +6 lines
Lines 1-5 Source/WebCore/CMakeLists.txt_sec1
1
SET(WebCore_INCLUDE_DIRECTORIES
1
SET(WebCore_INCLUDE_DIRECTORIES
2
    "${WEBCORE_DIR}"
2
    "${WEBCORE_DIR}"
3
    "${WEBCORE_DIR}/Modules/geolocation"
3
    "${WEBCORE_DIR}/accessibility"
4
    "${WEBCORE_DIR}/accessibility"
4
    "${WEBCORE_DIR}/bindings"
5
    "${WEBCORE_DIR}/bindings"
5
    "${WEBCORE_DIR}/bindings/generic"
6
    "${WEBCORE_DIR}/bindings/generic"
Lines 87-92 SET(WebCore_INCLUDE_DIRECTORIES Source/WebCore/CMakeLists.txt_sec2
87
)
88
)
88
89
89
SET(WebCore_IDL_INCLUDES
90
SET(WebCore_IDL_INCLUDES
91
    Modules/geolocation
90
    bindings/generic
92
    bindings/generic
91
    css
93
    css
92
    dom
94
    dom
Lines 105-110 SET(WebCore_IDL_INCLUDES Source/WebCore/CMakeLists.txt_sec3
105
)
107
)
106
108
107
SET(WebCore_IDL_FILES
109
SET(WebCore_IDL_FILES
110
    Modules/geolocation/NavigatorGeolocation.idl
111
108
    css/Counter.idl
112
    css/Counter.idl
109
    css/CSSCharsetRule.idl
113
    css/CSSCharsetRule.idl
110
    css/CSSFontFaceRule.idl
114
    css/CSSFontFaceRule.idl
Lines 400-405 SET(WebCore_IDL_FILES Source/WebCore/CMakeLists.txt_sec4
400
)
404
)
401
405
402
SET(WebCore_SOURCES
406
SET(WebCore_SOURCES
407
    Modules/geolocation/NavigatorGeolocation.cpp
408
403
    accessibility/AXObjectCache.cpp
409
    accessibility/AXObjectCache.cpp
404
    accessibility/AccessibilityARIAGrid.cpp
410
    accessibility/AccessibilityARIAGrid.cpp
405
    accessibility/AccessibilityARIAGridCell.cpp
411
    accessibility/AccessibilityARIAGridCell.cpp
- Source/WebCore/DerivedSources.make +2 lines
Lines 28-33 Source/WebCore/DerivedSources.make_sec1
28
28
29
VPATH = \
29
VPATH = \
30
    $(WebCore) \
30
    $(WebCore) \
31
    $(WebCore)/Modules/geolocation \
31
    $(WebCore)/bindings/generic \
32
    $(WebCore)/bindings/generic \
32
    $(WebCore)/bindings/js \
33
    $(WebCore)/bindings/js \
33
    $(WebCore)/bindings/objc \
34
    $(WebCore)/bindings/objc \
Lines 53-58 VPATH = \ Source/WebCore/DerivedSources.make_sec2
53
#
54
#
54
55
55
BINDING_IDLS = \
56
BINDING_IDLS = \
57
    $(WebCore)/Modules/geolocation/NavigatorGeolocation.idl \
56
    $(WebCore)/css/CSSCharsetRule.idl \
58
    $(WebCore)/css/CSSCharsetRule.idl \
57
    $(WebCore)/css/CSSFontFaceRule.idl \
59
    $(WebCore)/css/CSSFontFaceRule.idl \
58
    $(WebCore)/css/CSSImportRule.idl \
60
    $(WebCore)/css/CSSImportRule.idl \
- Source/WebCore/DerivedSources.pri +2 lines
Lines 86-91 STYLESHEETS_EMBED = \ Source/WebCore/DerivedSources.pri_sec1
86
    $$PWD/css/mobileThemeQt.css
86
    $$PWD/css/mobileThemeQt.css
87
87
88
IDL_BINDINGS += \
88
IDL_BINDINGS += \
89
    $$PWD/Modules/geolocation/NavigatorGeolocation.idl \
89
    $$PWD/css/Counter.idl \
90
    $$PWD/css/Counter.idl \
90
    $$PWD/css/CSSCharsetRule.idl \
91
    $$PWD/css/CSSCharsetRule.idl \
91
    $$PWD/css/CSSFontFaceRule.idl \
92
    $$PWD/css/CSSFontFaceRule.idl \
Lines 682-687 else: generator = JS Source/WebCore/DerivedSources.pri_sec2
682
generateBindings.commands = perl -I$$PWD/bindings/scripts $$generateBindings.script \
683
generateBindings.commands = perl -I$$PWD/bindings/scripts $$generateBindings.script \
683
                            --defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" \
684
                            --defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" \
684
                            --generator $$generator \
685
                            --generator $$generator \
686
                            --include $$PWD/Modules/geolocation \
685
                            --include $$PWD/dom \
687
                            --include $$PWD/dom \
686
                            --include $$PWD/fileapi \
688
                            --include $$PWD/fileapi \
687
                            --include $$PWD/html \
689
                            --include $$PWD/html \
- Source/WebCore/GNUmakefile.am +2 lines
Lines 11-16 webcore_cppflags += \ Source/WebCore/GNUmakefile.am_sec1
11
	-I$(srcdir)/Source/ThirdParty/ANGLE/include \
11
	-I$(srcdir)/Source/ThirdParty/ANGLE/include \
12
	-I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
12
	-I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
13
	-I$(srcdir)/Source/WebCore \
13
	-I$(srcdir)/Source/WebCore \
14
	-I$(srcdir)/Source/WebCore/Modules/geolocation \
14
	-I$(srcdir)/Source/WebCore/accessibility \
15
	-I$(srcdir)/Source/WebCore/accessibility \
15
	-I$(srcdir)/Source/WebCore/bindings \
16
	-I$(srcdir)/Source/WebCore/bindings \
16
	-I$(srcdir)/Source/WebCore/bindings/generic \
17
	-I$(srcdir)/Source/WebCore/bindings/generic \
Lines 758-763 DerivedSources/ANGLE/glslang_tab.cpp: So Source/WebCore/GNUmakefile.am_sec2
758
DerivedSources/ANGLE/glslang_tab.h: DerivedSources/ANGLE/glslang_tab.cpp
759
DerivedSources/ANGLE/glslang_tab.h: DerivedSources/ANGLE/glslang_tab.cpp
759
760
760
IDL_PATH := \
761
IDL_PATH := \
762
    $(WebCore)/Modules/geolocation \
761
    $(WebCore)/bindings/js \
763
    $(WebCore)/bindings/js \
762
    $(WebCore)/css \
764
    $(WebCore)/css \
763
    $(WebCore)/dom \
765
    $(WebCore)/dom \
- Source/WebCore/GNUmakefile.list.am +3 lines
Lines 650-655 webcore_built_sources += \ Source/WebCore/GNUmakefile.list.am_sec1
650
	DerivedSources/WebCore/XPathGrammar.h
650
	DerivedSources/WebCore/XPathGrammar.h
651
651
652
dom_binding_idls += \
652
dom_binding_idls += \
653
	$(WebCore)/Modules/geolocation/NavigatorGeolocation.idl \
653
	$(WebCore)/css/CSSCharsetRule.idl \
654
	$(WebCore)/css/CSSCharsetRule.idl \
654
	$(WebCore)/css/CSSFontFaceRule.idl \
655
	$(WebCore)/css/CSSFontFaceRule.idl \
655
	$(WebCore)/css/CSSImportRule.idl \
656
	$(WebCore)/css/CSSImportRule.idl \
Lines 951-956 dom_binding_idls += \ Source/WebCore/GNUmakefile.list.am_sec2
951
	$(WebCore)/xml/XSLTProcessor.idl
952
	$(WebCore)/xml/XSLTProcessor.idl
952
953
953
webcore_sources += \
954
webcore_sources += \
955
	Source/WebCore/Modules/geolocation/NavigatorGeolocation.cpp \
956
	Source/WebCore/Modules/geolocation/NavigatorGeolocation.h \
954
	Source/WebCore/accessibility/AccessibilityARIAGridCell.cpp \
957
	Source/WebCore/accessibility/AccessibilityARIAGridCell.cpp \
955
	Source/WebCore/accessibility/AccessibilityARIAGridCell.h \
958
	Source/WebCore/accessibility/AccessibilityARIAGridCell.h \
956
	Source/WebCore/accessibility/AccessibilityARIAGrid.cpp \
959
	Source/WebCore/accessibility/AccessibilityARIAGrid.cpp \
- Source/WebCore/Target.pri +2 lines
Lines 34-39 include_webinspector { Source/WebCore/Target.pri_sec1
34
}
34
}
35
35
36
SOURCES += \
36
SOURCES += \
37
    Modules/geolocation/NavigatorGeolocation.cpp \
38
    \
37
    accessibility/AccessibilityImageMapLink.cpp \
39
    accessibility/AccessibilityImageMapLink.cpp \
38
    accessibility/AccessibilityMediaControls.cpp \
40
    accessibility/AccessibilityMediaControls.cpp \
39
    accessibility/AccessibilityMenuList.cpp \
41
    accessibility/AccessibilityMenuList.cpp \
- Source/WebCore/WebCore.exp.in +1 lines
Lines 672-677 __ZN7WebCore24FrameDestructionObserverD2 Source/WebCore/WebCore.exp.in_sec1
672
__ZN7WebCore24FrameDestructionObserverC2EPNS_5FrameE
672
__ZN7WebCore24FrameDestructionObserverC2EPNS_5FrameE
673
__ZN7WebCore24FrameDestructionObserver12observeFrameEPNS_5FrameE
673
__ZN7WebCore24FrameDestructionObserver12observeFrameEPNS_5FrameE
674
__ZN7WebCore24FrameDestructionObserver14frameDestroyedEv
674
__ZN7WebCore24FrameDestructionObserver14frameDestroyedEv
675
__ZN7WebCore24FrameDestructionObserver14willDetachPageEv
675
__ZN7WebCore24keyIdentifierForKeyEventEP7NSEvent
676
__ZN7WebCore24keyIdentifierForKeyEventEP7NSEvent
676
__ZN7WebCore24notifyHistoryItemChangedE
677
__ZN7WebCore24notifyHistoryItemChangedE
677
__ZN7WebCore25HistoryPropertyListWriter11releaseDataEv
678
__ZN7WebCore25HistoryPropertyListWriter11releaseDataEv
- Source/WebCore/WebCore.gypi +3 lines
Lines 720-725 Source/WebCore/WebCore.gypi_sec1
720
            'Modules/gamepad/Gamepad.idl',
720
            'Modules/gamepad/Gamepad.idl',
721
            'Modules/gamepad/GamepadList.idl',
721
            'Modules/gamepad/GamepadList.idl',
722
            'Modules/gamepad/NavigatorGamepad.idl',
722
            'Modules/gamepad/NavigatorGamepad.idl',
723
            'Modules/geolocation/NavigatorGeolocation.idl',
723
            'Modules/indexeddb/DOMWindowIndexedDatabase.idl',
724
            'Modules/indexeddb/DOMWindowIndexedDatabase.idl',
724
            'Modules/intents/DOMWindowIntents.idl',
725
            'Modules/intents/DOMWindowIntents.idl',
725
            'Modules/intents/Intent.idl',
726
            'Modules/intents/Intent.idl',
Lines 1277-1282 Source/WebCore/WebCore.gypi_sec2
1277
            'Modules/gamepad/GamepadList.h',
1278
            'Modules/gamepad/GamepadList.h',
1278
            'Modules/gamepad/NavigatorGamepad.cpp',
1279
            'Modules/gamepad/NavigatorGamepad.cpp',
1279
            'Modules/gamepad/NavigatorGamepad.h',
1280
            'Modules/gamepad/NavigatorGamepad.h',
1281
            'Modules/geolocation/NavigatorGeolocation.cpp',
1282
            'Modules/geolocation/NavigatorGeolocation.h',
1280
            'Modules/indexeddb/DOMWindowIndexedDatabase.cpp',
1283
            'Modules/indexeddb/DOMWindowIndexedDatabase.cpp',
1281
            'Modules/indexeddb/DOMWindowIndexedDatabase.h',
1284
            'Modules/indexeddb/DOMWindowIndexedDatabase.h',
1282
            'Modules/intents/Intent.cpp',
1285
            'Modules/intents/Intent.cpp',
- Source/WebCore/WebCore.pri +1 lines
Lines 18-23 WEBCORE_GENERATED_SOURCES_DIR = $${ROOT_ Source/WebCore/WebCore.pri_sec1
18
18
19
INCLUDEPATH += \
19
INCLUDEPATH += \
20
    $$SOURCE_DIR \
20
    $$SOURCE_DIR \
21
    $$SOURCE_DIR/Modules/geolocation \
21
    $$SOURCE_DIR/accessibility \
22
    $$SOURCE_DIR/accessibility \
22
    $$SOURCE_DIR/bindings \
23
    $$SOURCE_DIR/bindings \
23
    $$SOURCE_DIR/bindings/generic \
24
    $$SOURCE_DIR/bindings/generic \
- Source/WebCore/Modules/geolocation/NavigatorGeolocation.cpp +77 lines
Line 0 Source/WebCore/Modules/geolocation/NavigatorGeolocation.cpp_sec1
1
/*
2
 * Copyright (C) 2012, Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are met:
6
 *
7
 * 1. Redistributions of source code must retain the above copyright
8
 *    notice, this list of conditions and the following disclaimer.
9
 * 2. Redistributions in binary form must reproduce the above copyright
10
 *    notice, this list of conditions and the following disclaimer in the
11
 *    documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
14
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16
 * ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE
17
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
23
 * DAMAGE.
24
 */
25
26
#include "config.h"
27
#include "NavigatorGeolocation.h"
28
29
#include "Geolocation.h"
30
#include "Navigator.h"
31
32
namespace WebCore {
33
34
NavigatorGeolocation::NavigatorGeolocation(Frame* frame)
35
    : DOMWindowProperty(frame)
36
{
37
}
38
39
NavigatorGeolocation::~NavigatorGeolocation()
40
{
41
}
42
43
void NavigatorGeolocation::willDetachPage()
44
{
45
    // FIXME: We should ideally allow existing Geolocation activities to continue
46
    // when the Geolocation's iframe is reparented. (Assuming we continue to
47
    // support reparenting iframes.)
48
    // See https://bugs.webkit.org/show_bug.cgi?id=55577
49
    // and https://bugs.webkit.org/show_bug.cgi?id=52877
50
    if (m_geolocation)
51
        m_geolocation->reset();
52
}
53
54
NavigatorGeolocation* NavigatorGeolocation::from(Navigator* navigator)
55
{
56
    DEFINE_STATIC_LOCAL(AtomicString, name, ("NavigatorGeolocation"));
57
    NavigatorGeolocation* supplement = static_cast<NavigatorGeolocation*>(NavigatorSupplement::from(navigator, name));
58
    if (!supplement) {
59
        supplement = new NavigatorGeolocation(navigator->frame());
60
        provideTo(navigator, name, adoptPtr(supplement));
61
    }
62
    return supplement;
63
}
64
65
Geolocation* NavigatorGeolocation::geolocation(Navigator* navigator)
66
{
67
    return NavigatorGeolocation::from(navigator)->geolocation();
68
}
69
70
Geolocation* NavigatorGeolocation::geolocation() const
71
{
72
    if (!m_geolocation)
73
        m_geolocation = Geolocation::create(frame());
74
    return m_geolocation.get();
75
}
76
77
} // namespace WebCore
- Source/WebCore/Modules/geolocation/NavigatorGeolocation.h +56 lines
Line 0 Source/WebCore/Modules/geolocation/NavigatorGeolocation.h_sec1
1
/*
2
 * Copyright (C) 2011, Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are met:
6
 *
7
 * 1. Redistributions of source code must retain the above copyright
8
 *    notice, this list of conditions and the following disclaimer.
9
 * 2. Redistributions in binary form must reproduce the above copyright
10
 *    notice, this list of conditions and the following disclaimer in the
11
 *    documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
14
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16
 * ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE
17
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
23
 * DAMAGE.
24
 */
25
26
#ifndef NavigatorGeolocation_h
27
#define NavigatorGeolocation_h
28
29
#include "DOMWindowProperty.h"
30
#include "NavigatorSupplement.h"
31
32
namespace WebCore {
33
34
class Frame;
35
class Geolocation;
36
class Navigator;
37
38
class NavigatorGeolocation : public NavigatorSupplement, public DOMWindowProperty {
39
public:
40
    virtual ~NavigatorGeolocation();
41
    static NavigatorGeolocation* from(Navigator*);
42
43
    static Geolocation* geolocation(Navigator*);
44
    Geolocation* geolocation() const;
45
46
private:
47
    NavigatorGeolocation(Frame*);
48
49
    virtual void willDetachPage() OVERRIDE;
50
51
    mutable RefPtr<Geolocation> m_geolocation;
52
};
53
54
} // namespace WebCore
55
56
#endif // NavigatorGeolocation_h
- Source/WebCore/Modules/geolocation/NavigatorGeolocation.idl +29 lines
Line 0 Source/WebCore/Modules/geolocation/NavigatorGeolocation.idl_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Library General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Library General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Library General Public License
15
 * along with this library; see the file COPYING.LIB.  If not, write to
16
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
 * Boston, MA 02110-1301, USA.
18
 */
19
20
module window {
21
22
    interface [
23
        Conditional=GEOLOCATION,
24
        Supplemental=Navigator
25
    ] NavigatorGeolocation {
26
            readonly attribute [V8EnabledAtRuntime] Geolocation geolocation;
27
    };
28
29
}
- Source/WebCore/WebCore.gyp/WebCore.gyp +1 lines
Lines 52-57 Source/WebCore/WebCore.gyp/WebCore.gyp_sec1
52
      '../',
52
      '../',
53
      '../..',
53
      '../..',
54
      '../Modules/gamepad',
54
      '../Modules/gamepad',
55
      '../Modules/geolocation',
55
      '../Modules/intents',
56
      '../Modules/intents',
56
      '../Modules/indexeddb',
57
      '../Modules/indexeddb',
57
      '../accessibility',
58
      '../accessibility',
- Source/WebCore/WebCore.vcproj/WebCore.vcproj +16 lines
Lines 24051-24056 Source/WebCore/WebCore.vcproj/WebCore.vcproj_sec1
24051
			</File>
24051
			</File>
24052
		</Filter>
24052
		</Filter>
24053
		<Filter
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
			Name="accessibility"
24070
			Name="accessibility"
24055
			>
24071
			>
24056
			<File
24072
			<File
- Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops -1 / +1 lines
Lines 7-13 Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops_sec1
7
	>
7
	>
8
	<Tool
8
	<Tool
9
		Name="VCCLCompilerTool"
9
		Name="VCCLCompilerTool"
10
		AdditionalIncludeDirectories="&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\accessibility&quot;;&quot;$(ProjectDir)..\accessibility\win&quot;;&quot;$(ProjectDir)..\bridge&quot;;&quot;$(ProjectDir)..\bridge\c&quot;;&quot;$(ProjectDir)..\bridge\jsc&quot;;&quot;$(ProjectDir)..\css&quot;;&quot;$(ProjectDir)..\editing&quot;;&quot;$(ProjectDir)..\fileapi&quot;;&quot;$(ProjectDir)..\rendering&quot;;&quot;$(ProjectDir)..\rendering\mathml&quot;;&quot;$(ProjectDir)..\rendering\style&quot;;&quot;$(ProjectDir)..\rendering\svg&quot;;&quot;$(ProjectDir)..\bindings&quot;;&quot;$(ProjectDir)..\bindings\generic&quot;;&quot;$(ProjectDir)..\bindings\js&quot;;&quot;$(ProjectDir)..\bindings\js\specialization&quot;;&quot;$(ProjectDir)..\dom&quot;;&quot;$(ProjectDir)..\dom\default&quot;;&quot;$(ProjectDir)..\history&quot;;&quot;$(ProjectDir)..\html&quot;;&quot;$(ProjectDir)..\html\canvas&quot;;&quot;$(ProjectDir)..\html\parser&quot;;&quot;$(ProjectDir)..\html\shadow&quot;;&quot;$(ProjectDir)..\inspector&quot;;&quot;$(ProjectDir)..\loader&quot;;&quot;$(ProjectDir)..\loader\appcache&quot;;&quot;$(ProjectDir)..\loader\archive&quot;;&quot;$(ProjectDir)..\loader\archive\cf&quot;;&quot;$(ProjectDir)..\loader\cache&quot;;&quot;$(ProjectDir)..\loader\icon&quot;;&quot;$(ProjectDir)..\mathml&quot;;&quot;$(ProjectDir)..\notifications&quot;;&quot;$(ProjectDir)..\page&quot;;&quot;$(ProjectDir)..\page\animation&quot;;&quot;$(ProjectDir)..\page\scrolling&quot;;&quot;$(ProjectDir)..\page\win&quot;;&quot;$(ProjectDir)..\platform&quot;;&quot;$(ProjectDir)..\platform\animation&quot;;&quot;$(ProjectDir)..\platform\mock&quot;;&quot;$(ProjectDir)..\platform\sql&quot;;&quot;$(ProjectDir)..\platform\win&quot;;&quot;$(ProjectDir)..\platform\network&quot;;&quot;$(ProjectDir)..\platform\network\win&quot;;&quot;$(ProjectDir)..\platform\cf&quot;;&quot;$(ProjectDir)..\platform\graphics&quot;;&quot;$(ProjectDir)..\platform\graphics\ca&quot;;&quot;$(ProjectDir)..\platform\graphics\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\filters\arm&quot;;&quot;$(ProjectDir)..\platform\graphics\opentype&quot;;&quot;$(ProjectDir)..\platform\graphics\transforms&quot;;&quot;$(ProjectDir)..\platform\text&quot;;&quot;$(ProjectDir)..\platform\text\transcoder&quot;;&quot;$(ProjectDir)..\platform\graphics\win&quot;;&quot;$(ProjectDir)..\xml&quot;;&quot;$(ProjectDir)..\xml\parser&quot;;&quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;;&quot;$(ProjectDir)..\plugins&quot;;&quot;$(ProjectDir)..\plugins\win&quot;;&quot;$(ProjectDir)..\svg\animation&quot;;&quot;$(ProjectDir)..\svg\graphics&quot;;&quot;$(ProjectDir)..\svg\properties&quot;;&quot;$(ProjectDir)..\svg\graphics\filters&quot;;&quot;$(ProjectDir)..\svg&quot;;&quot;$(ProjectDir)..\testing&quot;;&quot;$(ProjectDir)..\wml&quot;;&quot;$(ProjectDir)..\storage&quot;;&quot;$(ProjectDir)..\websockets&quot;;&quot;$(ProjectDir)..\workers&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include\sqlite&quot;;&quot;$(WebKitLibrariesDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\zlib&quot;"
10
		AdditionalIncludeDirectories="&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\Modules\geolocation&quot;;&quot;$(ProjectDir)..\accessibility&quot;;&quot;$(ProjectDir)..\accessibility\win&quot;;&quot;$(ProjectDir)..\bridge&quot;;&quot;$(ProjectDir)..\bridge\c&quot;;&quot;$(ProjectDir)..\bridge\jsc&quot;;&quot;$(ProjectDir)..\css&quot;;&quot;$(ProjectDir)..\editing&quot;;&quot;$(ProjectDir)..\fileapi&quot;;&quot;$(ProjectDir)..\rendering&quot;;&quot;$(ProjectDir)..\rendering\mathml&quot;;&quot;$(ProjectDir)..\rendering\style&quot;;&quot;$(ProjectDir)..\rendering\svg&quot;;&quot;$(ProjectDir)..\bindings&quot;;&quot;$(ProjectDir)..\bindings\generic&quot;;&quot;$(ProjectDir)..\bindings\js&quot;;&quot;$(ProjectDir)..\bindings\js\specialization&quot;;&quot;$(ProjectDir)..\dom&quot;;&quot;$(ProjectDir)..\dom\default&quot;;&quot;$(ProjectDir)..\history&quot;;&quot;$(ProjectDir)..\html&quot;;&quot;$(ProjectDir)..\html\canvas&quot;;&quot;$(ProjectDir)..\html\parser&quot;;&quot;$(ProjectDir)..\html\shadow&quot;;&quot;$(ProjectDir)..\inspector&quot;;&quot;$(ProjectDir)..\loader&quot;;&quot;$(ProjectDir)..\loader\appcache&quot;;&quot;$(ProjectDir)..\loader\archive&quot;;&quot;$(ProjectDir)..\loader\archive\cf&quot;;&quot;$(ProjectDir)..\loader\cache&quot;;&quot;$(ProjectDir)..\loader\icon&quot;;&quot;$(ProjectDir)..\mathml&quot;;&quot;$(ProjectDir)..\notifications&quot;;&quot;$(ProjectDir)..\page&quot;;&quot;$(ProjectDir)..\page\animation&quot;;&quot;$(ProjectDir)..\page\scrolling&quot;;&quot;$(ProjectDir)..\page\win&quot;;&quot;$(ProjectDir)..\platform&quot;;&quot;$(ProjectDir)..\platform\animation&quot;;&quot;$(ProjectDir)..\platform\mock&quot;;&quot;$(ProjectDir)..\platform\sql&quot;;&quot;$(ProjectDir)..\platform\win&quot;;&quot;$(ProjectDir)..\platform\network&quot;;&quot;$(ProjectDir)..\platform\network\win&quot;;&quot;$(ProjectDir)..\platform\cf&quot;;&quot;$(ProjectDir)..\platform\graphics&quot;;&quot;$(ProjectDir)..\platform\graphics\ca&quot;;&quot;$(ProjectDir)..\platform\graphics\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\filters\arm&quot;;&quot;$(ProjectDir)..\platform\graphics\opentype&quot;;&quot;$(ProjectDir)..\platform\graphics\transforms&quot;;&quot;$(ProjectDir)..\platform\text&quot;;&quot;$(ProjectDir)..\platform\text\transcoder&quot;;&quot;$(ProjectDir)..\platform\graphics\win&quot;;&quot;$(ProjectDir)..\xml&quot;;&quot;$(ProjectDir)..\xml\parser&quot;;&quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;;&quot;$(ProjectDir)..\plugins&quot;;&quot;$(ProjectDir)..\plugins\win&quot;;&quot;$(ProjectDir)..\svg\animation&quot;;&quot;$(ProjectDir)..\svg\graphics&quot;;&quot;$(ProjectDir)..\svg\properties&quot;;&quot;$(ProjectDir)..\svg\graphics\filters&quot;;&quot;$(ProjectDir)..\svg&quot;;&quot;$(ProjectDir)..\testing&quot;;&quot;$(ProjectDir)..\wml&quot;;&quot;$(ProjectDir)..\storage&quot;;&quot;$(ProjectDir)..\websockets&quot;;&quot;$(ProjectDir)..\workers&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include\sqlite&quot;;&quot;$(WebKitLibrariesDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\zlib&quot;"
11
		PreprocessorDefinitions="__WIN32__;DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS"
11
		PreprocessorDefinitions="__WIN32__;DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS"
12
		UsePrecompiledHeader="2"
12
		UsePrecompiledHeader="2"
13
		PrecompiledHeaderThrough="WebCorePrefix.h"
13
		PrecompiledHeaderThrough="WebCorePrefix.h"
- Source/WebCore/WebCore.xcodeproj/project.pbxproj +26 lines
Lines 3323-3328 Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec1
3323
		9705997A107D975200A50A7C /* PolicyChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 97059976107D975200A50A7C /* PolicyChecker.h */; settings = {ATTRIBUTES = (Private, ); }; };
3323
		9705997A107D975200A50A7C /* PolicyChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 97059976107D975200A50A7C /* PolicyChecker.h */; settings = {ATTRIBUTES = (Private, ); }; };
3324
		970B728A144FFAC600F00A37 /* EventInterfaces.h in Headers */ = {isa = PBXBuildFile; fileRef = 970B7289144FFAC600F00A37 /* EventInterfaces.h */; settings = {ATTRIBUTES = (Private, ); }; };
3324
		970B728A144FFAC600F00A37 /* EventInterfaces.h in Headers */ = {isa = PBXBuildFile; fileRef = 970B7289144FFAC600F00A37 /* EventInterfaces.h */; settings = {ATTRIBUTES = (Private, ); }; };
3325
		970B72A6145008EB00F00A37 /* EventHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 970B72A5145008EB00F00A37 /* EventHeaders.h */; };
3325
		970B72A6145008EB00F00A37 /* EventHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 970B72A5145008EB00F00A37 /* EventHeaders.h */; };
3326
		9711460314EF009A00674FD9 /* NavigatorGeolocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9711460014EF009A00674FD9 /* NavigatorGeolocation.cpp */; };
3327
		9711460414EF009A00674FD9 /* NavigatorGeolocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9711460114EF009A00674FD9 /* NavigatorGeolocation.h */; };
3326
		97205AAF123928CA00B17380 /* FTPDirectoryDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97205AAD123928CA00B17380 /* FTPDirectoryDocument.cpp */; };
3328
		97205AAF123928CA00B17380 /* FTPDirectoryDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97205AAD123928CA00B17380 /* FTPDirectoryDocument.cpp */; };
3327
		97205AB0123928CA00B17380 /* FTPDirectoryDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 97205AAE123928CA00B17380 /* FTPDirectoryDocument.h */; };
3329
		97205AB0123928CA00B17380 /* FTPDirectoryDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 97205AAE123928CA00B17380 /* FTPDirectoryDocument.h */; };
3328
		97205AB51239291000B17380 /* ImageDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97205AB11239291000B17380 /* ImageDocument.cpp */; };
3330
		97205AB51239291000B17380 /* ImageDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 97205AB11239291000B17380 /* ImageDocument.cpp */; };
Lines 10182-10187 Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec2
10182
		97059976107D975200A50A7C /* PolicyChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PolicyChecker.h; sourceTree = "<group>"; };
10184
		97059976107D975200A50A7C /* PolicyChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PolicyChecker.h; sourceTree = "<group>"; };
10183
		970B7289144FFAC600F00A37 /* EventInterfaces.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventInterfaces.h; sourceTree = "<group>"; };
10185
		970B7289144FFAC600F00A37 /* EventInterfaces.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventInterfaces.h; sourceTree = "<group>"; };
10184
		970B72A5145008EB00F00A37 /* EventHeaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventHeaders.h; sourceTree = "<group>"; };
10186
		970B72A5145008EB00F00A37 /* EventHeaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventHeaders.h; sourceTree = "<group>"; };
10187
		9711460014EF009A00674FD9 /* NavigatorGeolocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NavigatorGeolocation.cpp; path = Modules/geolocation/NavigatorGeolocation.cpp; sourceTree = "<group>"; };
10188
		9711460114EF009A00674FD9 /* NavigatorGeolocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NavigatorGeolocation.h; path = Modules/geolocation/NavigatorGeolocation.h; sourceTree = "<group>"; };
10189
		9711460214EF009A00674FD9 /* NavigatorGeolocation.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NavigatorGeolocation.idl; path = Modules/geolocation/NavigatorGeolocation.idl; sourceTree = "<group>"; };
10185
		97205AAD123928CA00B17380 /* FTPDirectoryDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FTPDirectoryDocument.cpp; sourceTree = "<group>"; };
10190
		97205AAD123928CA00B17380 /* FTPDirectoryDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FTPDirectoryDocument.cpp; sourceTree = "<group>"; };
10186
		97205AAE123928CA00B17380 /* FTPDirectoryDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTPDirectoryDocument.h; sourceTree = "<group>"; };
10191
		97205AAE123928CA00B17380 /* FTPDirectoryDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTPDirectoryDocument.h; sourceTree = "<group>"; };
10187
		97205AB11239291000B17380 /* ImageDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageDocument.cpp; sourceTree = "<group>"; };
10192
		97205AB11239291000B17380 /* ImageDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageDocument.cpp; sourceTree = "<group>"; };
Lines 13453-13458 Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec3
13453
				EDEC98020AED7E170059137F /* WebCorePrefix.h */,
13458
				EDEC98020AED7E170059137F /* WebCorePrefix.h */,
13454
				9307061309E0CA8200B17FE4 /* DerivedSources.make */,
13459
				9307061309E0CA8200B17FE4 /* DerivedSources.make */,
13455
				93F19B1908245E59001E9ABC /* Info.plist */,
13460
				93F19B1908245E59001E9ABC /* Info.plist */,
13461
				971145FE14EF006E00674FD9 /* Modules */,
13456
				29A812040FBB9B4100510293 /* accessibility */,
13462
				29A812040FBB9B4100510293 /* accessibility */,
13457
				BC1A3790097C6F970019F3D8 /* bindings */,
13463
				BC1A3790097C6F970019F3D8 /* bindings */,
13458
				1A569CC40D7E2B60007C3983 /* bridge */,
13464
				1A569CC40D7E2B60007C3983 /* bridge */,
Lines 17071-17076 Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec4
17071
			tabWidth = 4;
17077
			tabWidth = 4;
17072
			usesTabs = 0;
17078
			usesTabs = 0;
17073
		};
17079
		};
17080
		971145FE14EF006E00674FD9 /* Modules */ = {
17081
			isa = PBXGroup;
17082
			children = (
17083
				971145FF14EF007900674FD9 /* geolocation */,
17084
			);
17085
			name = Modules;
17086
			sourceTree = "<group>";
17087
		};
17088
		971145FF14EF007900674FD9 /* geolocation */ = {
17089
			isa = PBXGroup;
17090
			children = (
17091
				9711460014EF009A00674FD9 /* NavigatorGeolocation.cpp */,
17092
				9711460114EF009A00674FD9 /* NavigatorGeolocation.h */,
17093
				9711460214EF009A00674FD9 /* NavigatorGeolocation.idl */,
17094
			);
17095
			name = geolocation;
17096
			sourceTree = "<group>";
17097
		};
17074
		976D6C57122B8A18001FD1F7 /* fileapi */ = {
17098
		976D6C57122B8A18001FD1F7 /* fileapi */ = {
17075
			isa = PBXGroup;
17099
			isa = PBXGroup;
17076
			children = (
17100
			children = (
Lines 23274-23279 Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec5
23274
				979F43D41075E44A0000F83B /* NavigationScheduler.h in Headers */,
23298
				979F43D41075E44A0000F83B /* NavigationScheduler.h in Headers */,
23275
				A9C6E5A60D746458006442E9 /* Navigator.h in Headers */,
23299
				A9C6E5A60D746458006442E9 /* Navigator.h in Headers */,
23276
				E12719C70EEEC16800F61213 /* NavigatorBase.h in Headers */,
23300
				E12719C70EEEC16800F61213 /* NavigatorBase.h in Headers */,
23301
				9711460414EF009A00674FD9 /* NavigatorGeolocation.h in Headers */,
23277
				97CC3AE314E8E4A200894988 /* NavigatorSupplement.h in Headers */,
23302
				97CC3AE314E8E4A200894988 /* NavigatorSupplement.h in Headers */,
23278
				8A309C9F123950BE00CB9204 /* NestingLevelIncrementer.h in Headers */,
23303
				8A309C9F123950BE00CB9204 /* NestingLevelIncrementer.h in Headers */,
23279
				656D37430ADBA5DE00A4554D /* NetscapePlugInStreamLoader.h in Headers */,
23304
				656D37430ADBA5DE00A4554D /* NetscapePlugInStreamLoader.h in Headers */,
Lines 26427-26432 Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec6
26427
				979F43D31075E44A0000F83B /* NavigationScheduler.cpp in Sources */,
26452
				979F43D31075E44A0000F83B /* NavigationScheduler.cpp in Sources */,
26428
				A9C6E5A50D746458006442E9 /* Navigator.cpp in Sources */,
26453
				A9C6E5A50D746458006442E9 /* Navigator.cpp in Sources */,
26429
				E12719CA0EEEC21300F61213 /* NavigatorBase.cpp in Sources */,
26454
				E12719CA0EEEC21300F61213 /* NavigatorBase.cpp in Sources */,
26455
				9711460314EF009A00674FD9 /* NavigatorGeolocation.cpp in Sources */,
26430
				97CC3AE214E8E4A200894988 /* NavigatorSupplement.cpp in Sources */,
26456
				97CC3AE214E8E4A200894988 /* NavigatorSupplement.cpp in Sources */,
26431
				5D874F130D161D3200796C3B /* NetscapePlugInStreamLoader.cpp in Sources */,
26457
				5D874F130D161D3200796C3B /* NetscapePlugInStreamLoader.cpp in Sources */,
26432
				59C27F05138D28C10079B7E2 /* NetworkResourcesData.cpp in Sources */,
26458
				59C27F05138D28C10079B7E2 /* NetworkResourcesData.cpp in Sources */,
- Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm -1 / +1 lines
Lines 418-424 sub GenerateProperty { Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm_sec1
418
        push(@txtGetProps, "        g_value_take_string(value, convertToUTF8String(${getterFunctionName}(" . join(", ", @getterArguments) . ")));\n");
418
        push(@txtGetProps, "        g_value_take_string(value, convertToUTF8String(${getterFunctionName}(" . join(", ", @getterArguments) . ")));\n");
419
        $done = 1;
419
        $done = 1;
420
    } elsif ($gtype eq "object") {
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
        push(@txtGetProps, "        g_value_set_object(value, WebKit::kit(ptr.get()));\n");
422
        push(@txtGetProps, "        g_value_set_object(value, WebKit::kit(ptr.get()));\n");
423
        $done = 1;
423
        $done = 1;
424
    }
424
    }
- Source/WebCore/bindings/scripts/test/TestSupplemental.idl +1 lines
Lines 36-41 module test { Source/WebCore/bindings/scripts/test/TestSupplemental.idl_sec1
36
        readonly attribute DOMString supplementalStr1;
36
        readonly attribute DOMString supplementalStr1;
37
        attribute DOMString supplementalStr2;
37
        attribute DOMString supplementalStr2;
38
        attribute [CustomGetter, CustomSetter] DOMString supplementalStr3;
38
        attribute [CustomGetter, CustomSetter] DOMString supplementalStr3;
39
        attribute Node supplementalNode;
39
40
40
        void supplementalMethod1();
41
        void supplementalMethod1();
41
        [CallWith=ScriptExecutionContext] TestObj supplementalMethod2(in DOMString strArg, in TestObj objArg) raises(DOMException);
42
        [CallWith=ScriptExecutionContext] TestObj supplementalMethod2(in DOMString strArg, in TestObj objArg) raises(DOMException);
- Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.cpp +20 lines
Lines 25-32 Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.cpp_sec1
25
#include "WebDOMTestInterface.h"
25
#include "WebDOMTestInterface.h"
26
26
27
#include "KURL.h"
27
#include "KURL.h"
28
#include "Node.h"
28
#include "TestInterface.h"
29
#include "TestInterface.h"
29
#include "TestSupplemental.h"
30
#include "TestSupplemental.h"
31
#include "WebDOMNode.h"
30
#include "WebDOMString.h"
32
#include "WebDOMString.h"
31
#include "WebExceptionHandler.h"
33
#include "WebExceptionHandler.h"
32
#include "wtf/text/AtomicString.h"
34
#include "wtf/text/AtomicString.h"
Lines 106-111 void WebDOMTestInterface::setSupplementa Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.cpp_sec2
106
}
108
}
107
109
108
#endif
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
#if ENABLE(Condition11) || ENABLE(Condition12)
130
#if ENABLE(Condition11) || ENABLE(Condition12)
111
void WebDOMTestInterface::supplementalMethod1()
131
void WebDOMTestInterface::supplementalMethod1()
- Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.h +5 lines
Lines 32-37 namespace WebCore { Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.h_sec1
32
class TestInterface;
32
class TestInterface;
33
};
33
};
34
34
35
class WebDOMNode;
35
36
36
class WebDOMTestInterface : public WebDOMObject {
37
class WebDOMTestInterface : public WebDOMObject {
37
public:
38
public:
Lines 58-63 public: Source/WebCore/bindings/scripts/test/CPP/WebDOMTestInterface.h_sec2
58
    WebDOMString supplementalStr2() const;
59
    WebDOMString supplementalStr2() const;
59
    void setSupplementalStr2(const WebDOMString&);
60
    void setSupplementalStr2(const WebDOMString&);
60
#endif
61
#endif
62
#if ENABLE(Condition11) || ENABLE(Condition12)
63
    WebDOMNode supplementalNode() const;
64
    void setSupplementalNode(const WebDOMNode&);
65
#endif
61
66
62
    void supplementalMethod1();
67
    void supplementalMethod1();
63
68
- Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp +55 lines
Lines 28-38 Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp_sec1
28
#include "DOMObjectCache.h"
28
#include "DOMObjectCache.h"
29
#include "ExceptionCode.h"
29
#include "ExceptionCode.h"
30
#include "JSMainThreadExecState.h"
30
#include "JSMainThreadExecState.h"
31
#include "Node.h"
31
#include "TestInterface.h"
32
#include "TestInterface.h"
32
#include "TestObj.h"
33
#include "TestObj.h"
33
#include "TestSupplemental.h"
34
#include "TestSupplemental.h"
34
#include "WebKitDOMBinding.h"
35
#include "WebKitDOMBinding.h"
35
#include "gobject/ConvertToUTF8String.h"
36
#include "gobject/ConvertToUTF8String.h"
37
#include "webkit/WebKitDOMNode.h"
38
#include "webkit/WebKitDOMNodePrivate.h"
36
#include "webkit/WebKitDOMTestInterface.h"
39
#include "webkit/WebKitDOMTestInterface.h"
37
#include "webkit/WebKitDOMTestInterfacePrivate.h"
40
#include "webkit/WebKitDOMTestInterfacePrivate.h"
38
#include "webkit/WebKitDOMTestObj.h"
41
#include "webkit/WebKitDOMTestObj.h"
Lines 135-140 webkit_dom_test_interface_set_supplement Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp_sec2
135
#endif /* ENABLE(Condition11) || ENABLE(Condition12) */
138
#endif /* ENABLE(Condition11) || ENABLE(Condition12) */
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
G_DEFINE_TYPE(WebKitDOMTestInterface, webkit_dom_test_interface, WEBKIT_TYPE_DOM_OBJECT)
174
G_DEFINE_TYPE(WebKitDOMTestInterface, webkit_dom_test_interface, WEBKIT_TYPE_DOM_OBJECT)
140
175
Lines 159-164 enum { Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp_sec3
159
#if ENABLE(Condition11) || ENABLE(Condition12)
194
#if ENABLE(Condition11) || ENABLE(Condition12)
160
    PROP_SUPPLEMENTAL_STR2,
195
    PROP_SUPPLEMENTAL_STR2,
161
#endif /* ENABLE(Condition11) || ENABLE(Condition12) */
196
#endif /* ENABLE(Condition11) || ENABLE(Condition12) */
197
#if ENABLE(Condition11) || ENABLE(Condition12)
198
    PROP_SUPPLEMENTAL_NODE,
199
#endif /* ENABLE(Condition11) || ENABLE(Condition12) */
162
};
200
};
163
201
164
202
Lines 218-223 static void webkit_dom_test_interface_ge Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp_sec4
218
        break;
256
        break;
219
    }
257
    }
220
#endif /* ENABLE(Condition11) || ENABLE(Condition12) */
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()));
264
        break;
265
    }
266
#endif /* ENABLE(Condition11) || ENABLE(Condition12) */
221
    default:
267
    default:
222
        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
268
        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
223
        break;
269
        break;
Lines 258-263 static void webkit_dom_test_interface_cl Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp_sec5
258
                                                           "", /* default */
304
                                                           "", /* default */
259
                                                           WEBKIT_PARAM_READWRITE));
305
                                                           WEBKIT_PARAM_READWRITE));
260
#endif /* ENABLE(Condition11) || ENABLE(Condition12) */
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
263
}
318
}
- Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.h +21 lines
Lines 100-105 webkit_dom_test_interface_get_supplement Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.h_sec1
100
WEBKIT_API void
100
WEBKIT_API void
101
webkit_dom_test_interface_set_supplemental_str2(WebKitDOMTestInterface* self, const gchar* value);
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
G_END_DECLS
124
G_END_DECLS
104
125
105
#endif /* WebKitDOMTestInterface_h */
126
#endif /* WebKitDOMTestInterface_h */
- Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp -1 / +31 lines
Lines 35-44 Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec1
35
#include <wtf/GetPtr.h>
35
#include <wtf/GetPtr.h>
36
36
37
#if ENABLE(Condition11) || ENABLE(Condition12)
37
#if ENABLE(Condition11) || ENABLE(Condition12)
38
#include "JSNode.h"
38
#include "KURL.h"
39
#include "KURL.h"
39
#include <runtime/JSString.h>
40
#include <runtime/JSString.h>
40
#endif
41
#endif
41
42
43
#if ENABLE(Condition11) || ENABLE(Condition12)
44
#include "Node.h"
45
#endif
46
42
using namespace JSC;
47
using namespace JSC;
43
48
44
namespace WebCore {
49
namespace WebCore {
Lines 57-67 static const HashTableValue JSTestInterf Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec2
57
#if ENABLE(Condition11) || ENABLE(Condition12)
62
#if ENABLE(Condition11) || ENABLE(Condition12)
58
    { "supplementalStr3", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceSupplementalStr3), (intptr_t)setJSTestInterfaceSupplementalStr3, NoIntrinsic },
63
    { "supplementalStr3", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceSupplementalStr3), (intptr_t)setJSTestInterfaceSupplementalStr3, NoIntrinsic },
59
#endif
64
#endif
65
#if ENABLE(Condition11) || ENABLE(Condition12)
66
    { "supplementalNode", DontDelete, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceSupplementalNode), (intptr_t)setJSTestInterfaceSupplementalNode, NoIntrinsic },
67
#endif
60
    { "constructor", DontEnum | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceConstructor), (intptr_t)0, NoIntrinsic },
68
    { "constructor", DontEnum | ReadOnly, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceConstructor), (intptr_t)0, NoIntrinsic },
61
    { 0, 0, 0, 0, NoIntrinsic }
69
    { 0, 0, 0, 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
/* Hash table for constructor */
73
/* Hash table for constructor */
66
74
67
static const HashTableValue JSTestInterfaceConstructorTableValues[] =
75
static const HashTableValue JSTestInterfaceConstructorTableValues[] =
Lines 257-262 JSValue jsTestInterfaceSupplementalStr3( Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec3
257
265
258
#endif
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
JSValue jsTestInterfaceConstructor(ExecState* exec, JSValue slotBase, const Identifier&)
280
JSValue jsTestInterfaceConstructor(ExecState* exec, JSValue slotBase, const Identifier&)
261
{
281
{
262
    JSTestInterface* domObject = static_cast<JSTestInterface*>(asObject(slotBase));
282
    JSTestInterface* domObject = static_cast<JSTestInterface*>(asObject(slotBase));
Lines 290-295 void setJSTestInterfaceSupplementalStr3( Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp_sec4
290
310
291
#endif
311
#endif
292
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));
319
}
320
321
#endif
322
293
JSValue JSTestInterface::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
323
JSValue JSTestInterface::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
294
{
324
{
295
    return getDOMConstructor<JSTestInterfaceConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
325
    return getDOMConstructor<JSTestInterfaceConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
- Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h +2 lines
Lines 159-164 JSC::JSValue jsTestInterfaceSupplemental Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h_sec1
159
void setJSTestInterfaceSupplementalStr2(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
159
void setJSTestInterfaceSupplementalStr2(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
160
JSC::JSValue jsTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
160
JSC::JSValue jsTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
161
void setJSTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
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
JSC::JSValue jsTestInterfaceConstructor(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
164
JSC::JSValue jsTestInterfaceConstructor(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
163
// Constants
165
// Constants
164
166
- Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h +5 lines
Lines 28-33 Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h_sec1
28
28
29
#if WEBKIT_VERSION_MAX_ALLOWED >= WEBKIT_VERSION_LATEST
29
#if WEBKIT_VERSION_MAX_ALLOWED >= WEBKIT_VERSION_LATEST
30
30
31
@class DOMNode;
31
@class DOMTestObj;
32
@class DOMTestObj;
32
@class NSString;
33
@class NSString;
33
34
Lines 53-58 enum { Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h_sec2
53
- (NSString *)supplementalStr3;
54
- (NSString *)supplementalStr3;
54
- (void)setSupplementalStr3:(NSString *)newSupplementalStr3;
55
- (void)setSupplementalStr3:(NSString *)newSupplementalStr3;
55
#endif
56
#endif
57
#if ENABLE(Condition11) || ENABLE(Condition12)
58
- (DOMNode *)supplementalNode;
59
- (void)setSupplementalNode:(DOMNode *)newSupplementalNode;
60
#endif
56
- (void)supplementalMethod1;
61
- (void)supplementalMethod1;
57
- (DOMTestObj *)supplementalMethod2:(NSString *)strArg objArg:(DOMTestObj *)objArg;
62
- (DOMTestObj *)supplementalMethod2:(NSString *)strArg objArg:(DOMTestObj *)objArg;
58
- (void)supplementalMethod3;
63
- (void)supplementalMethod3;
- Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.mm +17 lines
Lines 43-48 Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.mm_sec1
43
#import "ExceptionHandlers.h"
43
#import "ExceptionHandlers.h"
44
#import "JSMainThreadExecState.h"
44
#import "JSMainThreadExecState.h"
45
#import "KURL.h"
45
#import "KURL.h"
46
#import "Node.h"
46
#import "TestInterface.h"
47
#import "TestInterface.h"
47
#import "TestObj.h"
48
#import "TestObj.h"
48
#import "TestSupplemental.h"
49
#import "TestSupplemental.h"
Lines 108-113 - (void)setSupplementalStr3:(NSString *) Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.mm_sec2
108
}
109
}
109
#endif
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
#if ENABLE(Condition11) || ENABLE(Condition12)
129
#if ENABLE(Condition11) || ENABLE(Condition12)
113
- (void)supplementalMethod1
130
- (void)supplementalMethod1
- Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp +29 lines
Lines 31-36 Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp_sec1
31
#include "V8BindingState.h"
31
#include "V8BindingState.h"
32
#include "V8DOMWrapper.h"
32
#include "V8DOMWrapper.h"
33
#include "V8IsolatedContext.h"
33
#include "V8IsolatedContext.h"
34
#include "V8Node.h"
34
#include "V8Proxy.h"
35
#include "V8Proxy.h"
35
#include "V8TestObj.h"
36
#include "V8TestObj.h"
36
#include <wtf/GetPtr.h>
37
#include <wtf/GetPtr.h>
Lines 83-88 static void supplementalStr2AttrSetter(v Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp_sec2
83
84
84
#if ENABLE(Condition11) || ENABLE(Condition12)
85
#if ENABLE(Condition11) || ENABLE(Condition12)
85
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));
104
    return;
105
}
106
107
#endif // ENABLE(Condition11) || ENABLE(Condition12)
108
109
#if ENABLE(Condition11) || ENABLE(Condition12)
110
86
static v8::Handle<v8::Value> supplementalMethod1Callback(const v8::Arguments& args)
111
static v8::Handle<v8::Value> supplementalMethod1Callback(const v8::Arguments& args)
87
{
112
{
88
    INC_STATS("DOM.TestInterface.supplementalMethod1");
113
    INC_STATS("DOM.TestInterface.supplementalMethod1");
Lines 135-140 static const BatchedAttribute TestInterf Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp_sec3
135
    // Attribute 'supplementalStr3' (Type: 'attribute' ExtAttr: 'CustomSetter CustomGetter Conditional ImplementedBy')
160
    // Attribute 'supplementalStr3' (Type: 'attribute' ExtAttr: 'CustomSetter CustomGetter Conditional ImplementedBy')
136
    {"supplementalStr3", V8TestInterface::supplementalStr3AccessorGetter, V8TestInterface::supplementalStr3AccessorSetter, 0 /* no data */, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
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
#endif // ENABLE(Condition11) || ENABLE(Condition12)
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
140
static const BatchedCallback TestInterfaceCallbacks[] = {
169
static const BatchedCallback TestInterfaceCallbacks[] = {
- Source/WebCore/loader/FrameLoader.cpp -4 / +2 lines
Lines 2439-2446 void FrameLoader::closeAndRemoveChild(Fr Source/WebCore/loader/FrameLoader.cpp_sec1
2439
    child->setView(0);
2439
    child->setView(0);
2440
    if (child->ownerElement() && child->page())
2440
    if (child->ownerElement() && child->page())
2441
        child->page()->decrementFrameCount();
2441
        child->page()->decrementFrameCount();
2442
    // FIXME: The page isn't being destroyed, so it's not right to call a function named pageDestroyed().
2442
    child->detachFromPage();
2443
    child->pageDestroyed();
2444
2443
2445
    m_frame->tree()->removeChild(child);
2444
    m_frame->tree()->removeChild(child);
2446
}
2445
}
Lines 2518-2525 void FrameLoader::detachFromParent() Source/WebCore/loader/FrameLoader.cpp_sec2
2518
        parent->loader()->scheduleCheckCompleted();
2517
        parent->loader()->scheduleCheckCompleted();
2519
    } else {
2518
    } else {
2520
        m_frame->setView(0);
2519
        m_frame->setView(0);
2521
        // FIXME: The page isn't being destroyed, so it's not right to call a function named pageDestroyed().
2520
        m_frame->detachFromPage();
2522
        m_frame->pageDestroyed();
2523
    }
2521
    }
2524
}
2522
}
2525
2523
- Source/WebCore/page/DOMWindow.cpp -17 / +15 lines
Lines 480-485 void DOMWindow::frameDestroyed() Source/WebCore/page/DOMWindow.cpp_sec1
480
    clear();
480
    clear();
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
void DOMWindow::registerProperty(DOMWindowProperty* property)
498
void DOMWindow::registerProperty(DOMWindowProperty* property)
484
{
499
{
485
    m_properties.add(property);
500
    m_properties.add(property);
Lines 731-753 void DOMWindow::resetNotifications() Source/WebCore/page/DOMWindow.cpp_sec2
731
}
746
}
732
#endif
747
#endif
733
748
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 done
739
    // before the frame is detached.
740
    resetNotifications();
741
#endif
742
}
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
751
#if ENABLE(INDEXED_DATABASE)
749
#if ENABLE(INDEXED_DATABASE)
752
void DOMWindow::setIDBFactory(PassRefPtr<IDBFactory> idbFactory)
750
void DOMWindow::setIDBFactory(PassRefPtr<IDBFactory> idbFactory)
753
{
751
{
- Source/WebCore/page/DOMWindow.h -5 / +3 lines
Lines 92-99 namespace WebCore { Source/WebCore/page/DOMWindow.h_sec1
92
92
93
        virtual DOMWindow* toDOMWindow();
93
        virtual DOMWindow* toDOMWindow();
94
94
95
        virtual void frameDestroyed() OVERRIDE;
96
97
        void registerProperty(DOMWindowProperty*);
95
        void registerProperty(DOMWindowProperty*);
98
        void unregisterProperty(DOMWindowProperty*);
96
        void unregisterProperty(DOMWindowProperty*);
99
97
Lines 231-239 namespace WebCore { Source/WebCore/page/DOMWindow.h_sec2
231
        void printErrorMessage(const String&);
229
        void printErrorMessage(const String&);
232
        String crossDomainAccessErrorMessage(DOMWindow* activeWindow);
230
        String crossDomainAccessErrorMessage(DOMWindow* activeWindow);
233
231
234
        void pageDestroyed();
235
        void resetGeolocation();
236
237
        void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, const String& targetOrigin, DOMWindow* source, ExceptionCode&);
232
        void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, const String& targetOrigin, DOMWindow* source, ExceptionCode&);
238
        // FIXME: remove this when we update the ObjC bindings (bug #28774).
233
        // FIXME: remove this when we update the ObjC bindings (bug #28774).
239
        void postMessage(PassRefPtr<SerializedScriptValue> message, MessagePort*, const String& targetOrigin, DOMWindow* source, ExceptionCode&);
234
        void postMessage(PassRefPtr<SerializedScriptValue> message, MessagePort*, const String& targetOrigin, DOMWindow* source, ExceptionCode&);
Lines 419-424 namespace WebCore { Source/WebCore/page/DOMWindow.h_sec3
419
    private:
414
    private:
420
        explicit DOMWindow(Frame*);
415
        explicit DOMWindow(Frame*);
421
416
417
        virtual void frameDestroyed() OVERRIDE;
418
        virtual void willDetachPage() OVERRIDE;
419
422
        virtual void refEventTarget() { ref(); }
420
        virtual void refEventTarget() { ref(); }
423
        virtual void derefEventTarget() { deref(); }
421
        virtual void derefEventTarget() { deref(); }
424
        virtual EventTargetData* eventTargetData();
422
        virtual EventTargetData* eventTargetData();
- Source/WebCore/page/DOMWindowProperty.cpp +5 lines
Lines 49-52 void DOMWindowProperty::disconnectFrame( Source/WebCore/page/DOMWindowProperty.cpp_sec1
49
    m_frame = 0;
49
    m_frame = 0;
50
}
50
}
51
51
52
void DOMWindowProperty::willDetachPage()
53
{
54
    // Subclasses should override this function to handle this notification.
55
}
56
52
}
57
}
- Source/WebCore/page/DOMWindowProperty.h +2 lines
Lines 33-39 class Frame; Source/WebCore/page/DOMWindowProperty.h_sec1
33
class DOMWindowProperty {
33
class DOMWindowProperty {
34
public:
34
public:
35
    explicit DOMWindowProperty(Frame*);
35
    explicit DOMWindowProperty(Frame*);
36
36
    virtual void disconnectFrame();
37
    virtual void disconnectFrame();
38
    virtual void willDetachPage();
37
39
38
    Frame* frame() const { return m_frame; }
40
    Frame* frame() const { return m_frame; }
39
41
- Source/WebCore/page/Frame.cpp -15 / +10 lines
Lines 660-680 DOMWindow* Frame::domWindow() const Source/WebCore/page/Frame.cpp_sec1
660
    return m_domWindow.get();
660
    return m_domWindow.get();
661
}
661
}
662
662
663
void Frame::pageDestroyed()
663
void Frame::willDetachPage()
664
{
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
668
    if (Frame* parent = tree()->parent())
665
    if (Frame* parent = tree()->parent())
669
        parent->loader()->checkLoadComplete();
666
        parent->loader()->checkLoadComplete();
670
667
671
    if (m_domWindow) {
672
        m_domWindow->resetGeolocation();
673
#if ENABLE(NOTIFICATIONS)
668
#if ENABLE(NOTIFICATIONS)
669
    if (m_domWindow)
674
        m_domWindow->resetNotifications();
670
        m_domWindow->resetNotifications();
675
#endif
671
#endif
676
        m_domWindow->pageDestroyed();
672
677
    }
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
    // FIXME: It's unclear as to why this is called more than once, but it is,
677
    // FIXME: It's unclear as to why this is called more than once, but it is,
680
    // so page() could be NULL.
678
    // so page() could be NULL.
Lines 683-690 void Frame::pageDestroyed() Source/WebCore/page/Frame.cpp_sec2
683
681
684
    script()->clearScriptObjects();
682
    script()->clearScriptObjects();
685
    script()->updatePlatformScriptObjects();
683
    script()->updatePlatformScriptObjects();
686
687
    detachFromPage();
688
}
684
}
689
685
690
void Frame::disconnectOwnerElement()
686
void Frame::disconnectOwnerElement()
Lines 718-734 void Frame::transferChildFrameToNewDocum Source/WebCore/page/Frame.cpp_sec3
718
             m_page->decrementFrameCount();
714
             m_page->decrementFrameCount();
719
        }
715
        }
720
716
721
        // FIXME: We should ideally allow existing Geolocation activities to continue
722
        // when the Geolocation's iframe is reparented.
723
        // See https://bugs.webkit.org/show_bug.cgi?id=55577
724
        // and https://bugs.webkit.org/show_bug.cgi?id=52877
725
        if (m_domWindow) {
717
        if (m_domWindow) {
726
            m_domWindow->resetGeolocation();
727
#if ENABLE(NOTIFICATIONS)
718
#if ENABLE(NOTIFICATIONS)
728
            m_domWindow->resetNotifications();
719
            m_domWindow->resetNotifications();
729
#endif
720
#endif
730
        }
721
        }
731
722
723
        HashSet<FrameDestructionObserver*>::iterator stop = m_destructionObservers.end();
724
        for (HashSet<FrameDestructionObserver*>::iterator it = m_destructionObservers.begin(); it != stop; ++it)
725
            (*it)->willDetachPage();
726
732
        m_page = newPage;
727
        m_page = newPage;
733
728
734
        if (newPage)
729
        if (newPage)
- Source/WebCore/page/Frame.h -1 / +2 lines
Lines 89-96 namespace WebCore { Source/WebCore/page/Frame.h_sec1
89
        void addDestructionObserver(FrameDestructionObserver*);
89
        void addDestructionObserver(FrameDestructionObserver*);
90
        void removeDestructionObserver(FrameDestructionObserver*);
90
        void removeDestructionObserver(FrameDestructionObserver*);
91
91
92
        void willDetachPage();
92
        void detachFromPage();
93
        void detachFromPage();
93
        void pageDestroyed();
94
        void disconnectOwnerElement();
94
        void disconnectOwnerElement();
95
95
96
        Page* page() const;
96
        Page* page() const;
Lines 348-353 namespace WebCore { Source/WebCore/page/Frame.h_sec2
348
348
349
    inline void Frame::detachFromPage()
349
    inline void Frame::detachFromPage()
350
    {
350
    {
351
        willDetachPage();
351
        m_page = 0;
352
        m_page = 0;
352
    }
353
    }
353
354
- Source/WebCore/page/FrameDestructionObserver.cpp +5 lines
Lines 58-61 void FrameDestructionObserver::frameDest Source/WebCore/page/FrameDestructionObserver.cpp_sec1
58
    m_frame = 0;
58
    m_frame = 0;
59
}
59
}
60
60
61
void FrameDestructionObserver::willDetachPage()
62
{
63
    // Subclasses should override this function to handle this notification.
64
}
65
61
}
66
}
- Source/WebCore/page/FrameDestructionObserver.h +3 lines
Lines 33-39 class Frame; Source/WebCore/page/FrameDestructionObserver.h_sec1
33
class FrameDestructionObserver {
33
class FrameDestructionObserver {
34
public:
34
public:
35
    explicit FrameDestructionObserver(Frame*);
35
    explicit FrameDestructionObserver(Frame*);
36
36
    virtual void frameDestroyed();
37
    virtual void frameDestroyed();
38
    virtual void willDetachPage();
39
37
    Frame* frame() const { return m_frame; }
40
    Frame* frame() const { return m_frame; }
38
41
39
protected:
42
protected:
- Source/WebCore/page/Navigator.cpp -13 lines
Lines 67-78 NavigatorSupplement* Navigator::requireS Source/WebCore/page/Navigator.cpp_sec1
67
    return m_suppliments.get(name.impl());
67
    return m_suppliments.get(name.impl());
68
}
68
}
69
69
70
void Navigator::resetGeolocation()
71
{
72
    if (m_geolocation)
73
        m_geolocation->reset();
74
}
75
76
// If this function returns true, we need to hide the substring "4." that would otherwise
70
// If this function returns true, we need to hide the substring "4." that would otherwise
77
// appear in the appVersion string. This is to avoid problems with old versions of a
71
// appear in the appVersion string. This is to avoid problems with old versions of a
78
// library called OpenCube QuickMenu, which as of this writing is still being used on
72
// library called OpenCube QuickMenu, which as of this writing is still being used on
Lines 151-163 bool Navigator::javaEnabled() const Source/WebCore/page/Navigator.cpp_sec2
151
    return m_frame->settings()->isJavaEnabled();
145
    return m_frame->settings()->isJavaEnabled();
152
}
146
}
153
147
154
Geolocation* Navigator::geolocation() const
155
{
156
    if (!m_geolocation)
157
        m_geolocation = Geolocation::create(m_frame);
158
    return m_geolocation.get();
159
}
160
161
#if ENABLE(POINTER_LOCK)
148
#if ENABLE(POINTER_LOCK)
162
PointerLock* Navigator::webkitPointer() const
149
PointerLock* Navigator::webkitPointer() const
163
{
150
{
- Source/WebCore/page/Navigator.h -6 lines
Lines 34-40 namespace WebCore { Source/WebCore/page/Navigator.h_sec1
34
class DOMMimeTypeArray;
34
class DOMMimeTypeArray;
35
class DOMPluginArray;
35
class DOMPluginArray;
36
class Frame;
36
class Frame;
37
class Geolocation;
38
class PointerLock;
37
class PointerLock;
39
class PluginData;
38
class PluginData;
40
39
Lines 45-52 public: Source/WebCore/page/Navigator.h_sec2
45
    static PassRefPtr<Navigator> create(Frame* frame) { return adoptRef(new Navigator(frame)); }
44
    static PassRefPtr<Navigator> create(Frame* frame) { return adoptRef(new Navigator(frame)); }
46
    virtual ~Navigator();
45
    virtual ~Navigator();
47
46
48
    void resetGeolocation();
49
50
    String appVersion() const;
47
    String appVersion() const;
51
    String language() const;
48
    String language() const;
52
    DOMPluginArray* plugins() const;
49
    DOMPluginArray* plugins() const;
Lines 56-63 public: Source/WebCore/page/Navigator.h_sec3
56
53
57
    virtual String userAgent() const;
54
    virtual String userAgent() const;
58
55
59
    Geolocation* geolocation() const;
60
61
#if ENABLE(POINTER_LOCK)
56
#if ENABLE(POINTER_LOCK)
62
    PointerLock* webkitPointer() const;
57
    PointerLock* webkitPointer() const;
63
#endif
58
#endif
Lines 80-86 private: Source/WebCore/page/Navigator.h_sec4
80
75
81
    mutable RefPtr<DOMPluginArray> m_plugins;
76
    mutable RefPtr<DOMPluginArray> m_plugins;
82
    mutable RefPtr<DOMMimeTypeArray> m_mimeTypes;
77
    mutable RefPtr<DOMMimeTypeArray> m_mimeTypes;
83
    mutable RefPtr<Geolocation> m_geolocation;
84
#if ENABLE(POINTER_LOCK)
78
#if ENABLE(POINTER_LOCK)
85
    mutable RefPtr<PointerLock> m_pointer;
79
    mutable RefPtr<PointerLock> m_pointer;
86
#endif
80
#endif
- Source/WebCore/page/Navigator.idl -4 lines
Lines 40-49 module window { Source/WebCore/page/Navigator.idl_sec1
40
40
41
        readonly attribute boolean onLine;
41
        readonly attribute boolean onLine;
42
42
43
#if defined(ENABLE_GEOLOCATION) && ENABLE_GEOLOCATION
44
        readonly attribute [V8EnabledAtRuntime] Geolocation geolocation;
45
#endif
46
47
#if defined(ENABLE_POINTER_LOCK) && ENABLE_POINTER_LOCK
43
#if defined(ENABLE_POINTER_LOCK) && ENABLE_POINTER_LOCK
48
        readonly attribute [V8EnabledAtRuntime] PointerLock webkitPointer;
44
        readonly attribute [V8EnabledAtRuntime] PointerLock webkitPointer;
49
#endif
45
#endif
- Source/WebCore/page/Page.cpp -1 / +1 lines
Lines 200-206 Page::~Page() Source/WebCore/page/Page.cpp_sec1
200
    allPages->remove(this);
200
    allPages->remove(this);
201
    
201
    
202
    for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext())
202
    for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext())
203
        frame->pageDestroyed();
203
        frame->detachFromPage();
204
204
205
    m_editorClient->pageDestroyed();
205
    m_editorClient->pageDestroyed();
206
206
- Source/WebKit2/win/WebKit2.def +1 lines
Lines 201-203 EXPORTS Source/WebKit2/win/WebKit2.def_sec1
201
        ?updateLayoutIgnorePendingStylesheets@Document@WebCore@@QAEXXZ
201
        ?updateLayoutIgnorePendingStylesheets@Document@WebCore@@QAEXXZ
202
        ?userPreferredLanguages@WebCore@@YA?AV?$Vector@VString@WTF@@$0A@@WTF@@XZ
202
        ?userPreferredLanguages@WebCore@@YA?AV?$Vector@VString@WTF@@$0A@@WTF@@XZ
203
        ?view@Document@WebCore@@QBEPAVFrameView@2@XZ
203
        ?view@Document@WebCore@@QBEPAVFrameView@2@XZ
204
        ?willDetachPage@FrameDestructionObserver@WebCore@@UAEXXZ

Return to Bug 78860