diff options
Diffstat (limited to 'Source/WebCore/bindings/js/JSTrackCustom.cpp')
-rw-r--r-- | Source/WebCore/bindings/js/JSTrackCustom.cpp | 45 |
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(); } |