diff options
Diffstat (limited to 'WebCore/bindings/js/JSAudioConstructor.cpp')
-rw-r--r-- | WebCore/bindings/js/JSAudioConstructor.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/WebCore/bindings/js/JSAudioConstructor.cpp b/WebCore/bindings/js/JSAudioConstructor.cpp index f0bdbe8..3fd53fe 100644 --- a/WebCore/bindings/js/JSAudioConstructor.cpp +++ b/WebCore/bindings/js/JSAudioConstructor.cpp @@ -43,13 +43,19 @@ const ClassInfo JSAudioConstructor::s_info = { "AudioConstructor", 0, 0, 0 }; JSAudioConstructor::JSAudioConstructor(ExecState* exec, ScriptExecutionContext* context) : DOMObject(JSAudioConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype())) + , m_globalObject(toJSDOMGlobalObject(context)) { ASSERT(context->isDocument()); - m_document = static_cast<JSDocument*>(asObject(toJS(exec, static_cast<Document*>(context)))); + putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec), None); putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum); } +Document* JSAudioConstructor::document() const +{ + return static_cast<Document*>(m_globalObject->scriptExecutionContext()); +} + static JSObject* constructAudio(ExecState* exec, JSObject* constructor, const ArgList& args) { // FIXME: Why doesn't this need the call toJS on the document like JSImageConstructor? @@ -71,8 +77,8 @@ ConstructType JSAudioConstructor::getConstructData(ConstructData& constructData) void JSAudioConstructor::mark() { DOMObject::mark(); - if (!m_document->marked()) - m_document->mark(); + if (!m_globalObject->marked()) + m_globalObject->mark(); } } // namespace WebCore |