summaryrefslogtreecommitdiff
path: root/Source/WebCore/bindings/js/JSTrackCustom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/bindings/js/JSTrackCustom.cpp')
-rw-r--r--Source/WebCore/bindings/js/JSTrackCustom.cpp45
1 files changed, 9 insertions, 36 deletions
diff --git a/Source/WebCore/bindings/js/JSTrackCustom.cpp b/Source/WebCore/bindings/js/JSTrackCustom.cpp
index 0ad233618..57bb6b2c5 100644
--- a/Source/WebCore/bindings/js/JSTrackCustom.cpp
+++ b/Source/WebCore/bindings/js/JSTrackCustom.cpp
@@ -10,10 +10,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
@@ -37,49 +37,22 @@ using namespace JSC;
namespace WebCore {
-TrackBase* toTrack(JSValue value)
+JSC::JSValue toJS(JSC::ExecState* state, JSDOMGlobalObject* globalObject, TrackBase& track)
{
- if (!value.isObject())
- return 0;
-
- JSObject* object = asObject(value);
- if (object->inherits(JSTextTrack::info()))
- return &jsCast<JSTextTrack*>(object)->impl();
-
- // FIXME: Fill in additional tests and casts here for VideoTrack and AudioTrack when
- // they have been added to WebCore.
-
- return 0;
-}
-
-JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TrackBase* track)
-{
- if (!track)
- return jsNull();
-
- JSObject* wrapper = getCachedWrapper(currentWorld(exec), track);
- if (wrapper)
- return wrapper;
-
- switch (track->type()) {
+ switch (track.type()) {
case TrackBase::BaseTrack:
// This should never happen.
ASSERT_NOT_REACHED();
break;
-
- case TrackBase::AudioTrack:
- return CREATE_DOM_WRAPPER(exec, globalObject, AudioTrack, track);
- break;
+ case TrackBase::AudioTrack:
+ return wrap(state, globalObject, downcast<AudioTrack>(track));
case TrackBase::VideoTrack:
- return CREATE_DOM_WRAPPER(exec, globalObject, VideoTrack, track);
- break;
-
+ return wrap(state, globalObject, downcast<VideoTrack>(track));
case TrackBase::TextTrack:
- return CREATE_DOM_WRAPPER(exec, globalObject, TextTrack, track);
- break;
+ return wrap(state, globalObject, downcast<TextTrack>(track));
}
-
+
return jsNull();
}