Skip to content

Commit d258786

Browse files
weinigwebkit-commit-queue
authored andcommitted
Remove more custom JavaScript bindings
https://bugs.webkit.org/show_bug.cgi?id=161293 Patch by Sam Weinig <sam@webkit.org> on 2016-08-27 Reviewed by Darin Adler. Source/WebCore: Remove custom bindings for AudioContext, DOMFormData, MediaSession and WebKitPoint. * Modules/mediasession/MediaSession.cpp: (WebCore::MediaSession::MediaSession): * Modules/mediasession/MediaSession.h: Change to take Document explicitly, since that is what it expecting. * Modules/webaudio/AudioContext.cpp: (WebCore::AudioContext::create): * Modules/webaudio/AudioContext.h: Remove unused ExceptionCode parameter. * Modules/webaudio/AudioContext.idl: * html/DOMFormData.idl: * html/HTMLFormElement.idl: * page/WebKitPoint.idl: Switch to use the generated constructor. * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSBindingsAllInOne.cpp: Remove files. * bindings/js/JSAudioContextCustom.cpp: Removed. * bindings/js/JSDOMFormDataCustom.cpp: Removed. * bindings/js/JSMediaSessionCustom.cpp: Removed. * bindings/js/JSWebKitPointCustom.cpp: Removed. Remove in favor of generated variants. * bindings/js/JSHTMLInputElementCustom.h: Removed. Remove unused header. * page/WebKitPoint.h: (WebCore::WebKitPoint::create): (WebCore::WebKitPoint::WebKitPoint): Move NaN replacement into the implementation and out of the bindings. LayoutTests: * webaudio/audionode-expected.txt: * webaudio/audionode.html: Update test for correct behavior of the constructor. Canonical link: https://commits.webkit.org/179462@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@205088 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 1956c60 commit d258786

21 files changed

Lines changed: 104 additions & 358 deletions

LayoutTests/ChangeLog

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
2016-08-27 Sam Weinig <sam@webkit.org>
2+
3+
Remove more custom JavaScript bindings
4+
https://bugs.webkit.org/show_bug.cgi?id=161293
5+
6+
Reviewed by Darin Adler.
7+
8+
* webaudio/audionode-expected.txt:
9+
* webaudio/audionode.html:
10+
Update test for correct behavior of the constructor.
11+
112
2016-08-27 Joseph Pecoraro <pecoraro@apple.com>
213

314
Race between creating/deleting a database in test

LayoutTests/webaudio/audionode-expected.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ PASS connect() exception thrown for illegal output index.
1111
PASS connect() exception thrown for illegal input index.
1212
PASS audioNode.connect(context.destination) succeeded.
1313
PASS exception thrown when connecting to other context's node.
14-
PASS exception thrown when creating audio context with too many arguments.
14+
PASS exception should not be thrown when creating audio context with too many arguments.
1515
PASS AudioNode is an EventTarget
1616
PASS successfullyParsed is true
1717

LayoutTests/webaudio/audionode.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@
9292
// Create a new context with too many arguments
9393
try {
9494
context2 = new webkitAudioContext(0, 0);
95-
testFailed("exception should be thrown when creating audio context with too many arguments.");
95+
testPassed("exception should not be thrown when creating audio context with too many arguments.");
9696
} catch(e) {
97-
testPassed("exception thrown when creating audio context with too many arguments.");
97+
testFailed("exception thrown when creating audio context with too many arguments.");
9898
}
9999

100100
// Ensure it is an EventTarget

Source/WebCore/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,7 +1112,6 @@ set(WebCore_SOURCES
11121112
bindings/js/IDBBindingUtilities.cpp
11131113
bindings/js/JSAnimationTimelineCustom.cpp
11141114
bindings/js/JSAttrCustom.cpp
1115-
bindings/js/JSAudioContextCustom.cpp
11161115
bindings/js/JSAudioTrackCustom.cpp
11171116
bindings/js/JSAudioTrackListCustom.cpp
11181117
bindings/js/JSBlobCustom.cpp
@@ -1141,7 +1140,6 @@ set(WebCore_SOURCES
11411140
bindings/js/JSCustomSQLStatementErrorCallback.cpp
11421141
bindings/js/JSCustomXPathNSResolver.cpp
11431142
bindings/js/JSDOMBinding.cpp
1144-
bindings/js/JSDOMFormDataCustom.cpp
11451143
bindings/js/JSDOMGlobalObject.cpp
11461144
bindings/js/JSDOMGlobalObjectTask.cpp
11471145
bindings/js/JSDOMMimeTypeArrayCustom.cpp
@@ -1244,7 +1242,6 @@ set(WebCore_SOURCES
12441242
bindings/js/JSWebGL2RenderingContextCustom.cpp
12451243
bindings/js/JSWebGLRenderingContextBaseCustom.cpp
12461244
bindings/js/JSWebGLRenderingContextCustom.cpp
1247-
bindings/js/JSWebKitPointCustom.cpp
12481245
bindings/js/JSWebKitSubtleCryptoCustom.cpp
12491246
bindings/js/JSWorkerCustom.cpp
12501247
bindings/js/JSWorkerGlobalScopeBase.cpp

Source/WebCore/ChangeLog

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,48 @@
1+
2016-08-27 Sam Weinig <sam@webkit.org>
2+
3+
Remove more custom JavaScript bindings
4+
https://bugs.webkit.org/show_bug.cgi?id=161293
5+
6+
Reviewed by Darin Adler.
7+
8+
Remove custom bindings for AudioContext, DOMFormData, MediaSession and WebKitPoint.
9+
10+
* Modules/mediasession/MediaSession.cpp:
11+
(WebCore::MediaSession::MediaSession):
12+
* Modules/mediasession/MediaSession.h:
13+
Change to take Document explicitly, since that is what it
14+
expecting.
15+
16+
* Modules/webaudio/AudioContext.cpp:
17+
(WebCore::AudioContext::create):
18+
* Modules/webaudio/AudioContext.h:
19+
Remove unused ExceptionCode parameter.
20+
21+
* Modules/webaudio/AudioContext.idl:
22+
* html/DOMFormData.idl:
23+
* html/HTMLFormElement.idl:
24+
* page/WebKitPoint.idl:
25+
Switch to use the generated constructor.
26+
27+
* CMakeLists.txt:
28+
* WebCore.xcodeproj/project.pbxproj:
29+
* bindings/js/JSBindingsAllInOne.cpp:
30+
Remove files.
31+
32+
* bindings/js/JSAudioContextCustom.cpp: Removed.
33+
* bindings/js/JSDOMFormDataCustom.cpp: Removed.
34+
* bindings/js/JSMediaSessionCustom.cpp: Removed.
35+
* bindings/js/JSWebKitPointCustom.cpp: Removed.
36+
Remove in favor of generated variants.
37+
38+
* bindings/js/JSHTMLInputElementCustom.h: Removed.
39+
Remove unused header.
40+
41+
* page/WebKitPoint.h:
42+
(WebCore::WebKitPoint::create):
43+
(WebCore::WebKitPoint::WebKitPoint):
44+
Move NaN replacement into the implementation and out of the bindings.
45+
146
2016-08-27 Ryosuke Niwa <rniwa@webkit.org>
247

348
Add adopted callback for custom elements

Source/WebCore/Modules/mediasession/MediaSession.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737

3838
namespace WebCore {
3939

40-
MediaSession::MediaSession(ScriptExecutionContext& context, Kind kind)
41-
: m_document(downcast<Document>(context))
40+
MediaSession::MediaSession(Document& document, Kind kind)
41+
: m_document(document)
4242
, m_kind(kind)
4343
{
4444
// 4. Media Sessions

Source/WebCore/Modules/mediasession/MediaSession.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ class MediaSession final : public RefCounted<MediaSession> {
4141
enum class Kind { Content, Transient, TransientSolo, Ambient };
4242
enum class State { Idle, Active, Interrupted };
4343

44-
static Ref<MediaSession> create(ScriptExecutionContext& context, Kind kind)
44+
static Ref<MediaSession> create(Document& document, Kind kind)
4545
{
46-
return adoptRef(*new MediaSession(context, kind));
46+
return adoptRef(*new MediaSession(document, kind));
4747
}
4848

4949
~MediaSession();
@@ -76,7 +76,7 @@ class MediaSession final : public RefCounted<MediaSession> {
7676
private:
7777
friend class HTMLMediaElement;
7878

79-
MediaSession(ScriptExecutionContext&, const String&);
79+
MediaSession(Document&, const String&);
8080

8181
void addMediaElement(HTMLMediaElement&);
8282
void removeMediaElement(HTMLMediaElement&);

Source/WebCore/Modules/webaudio/AudioContext.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,8 @@ bool AudioContext::isSampleRateRangeGood(float sampleRate)
114114
const unsigned MaxHardwareContexts = 4;
115115
unsigned AudioContext::s_hardwareContextCount = 0;
116116

117-
RefPtr<AudioContext> AudioContext::create(Document& document, ExceptionCode& ec)
117+
RefPtr<AudioContext> AudioContext::create(Document& document)
118118
{
119-
UNUSED_PARAM(ec);
120-
121119
ASSERT(isMainThread());
122120
if (s_hardwareContextCount >= MaxHardwareContexts)
123121
return nullptr;

Source/WebCore/Modules/webaudio/AudioContext.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class WaveShaperNode;
7777
class AudioContext : public ActiveDOMObject, public ThreadSafeRefCounted<AudioContext>, public EventTargetWithInlineData, public MediaCanStartListener, public MediaProducer, private PlatformMediaSessionClient {
7878
public:
7979
// Create an AudioContext for rendering to the audio hardware.
80-
static RefPtr<AudioContext> create(Document&, ExceptionCode&);
80+
static RefPtr<AudioContext> create(Document&);
8181

8282
virtual ~AudioContext();
8383

Source/WebCore/Modules/webaudio/AudioContext.idl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ enum AudioContextState {
3333
[
3434
ActiveDOMObject,
3535
Conditional=WEB_AUDIO,
36-
CustomConstructor,
36+
Constructor,
37+
ConstructorCallWith=Document,
3738
EnabledBySetting=WebAudio,
3839
ExportMacro=WEBCORE_EXPORT,
3940
InterfaceName=webkitAudioContext,

0 commit comments

Comments
 (0)