Implemented attribute "node" in AudioProcessingEvent
authorPraveen R Jadhav <praveen.j@samsung.com>
Tue, 26 Mar 2013 01:51:38 +0000 (10:51 +0900)
committerGerrit Code Review <gerrit2@kim11>
Tue, 26 Mar 2013 12:40:16 +0000 (21:40 +0900)
[Title] : Implemented attribute "node" in AudioProcessingEvent
[Issue] : NA
[Problem] : Attribute "node" implementation is not available in WebKit.org
[Solution] : Code changes are implemented for the attribute

Change-Id: I7e9cd9a6dcd97bfed5047bedebd0e5b29636321a

Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp
Source/WebCore/Modules/webaudio/AudioProcessingEvent.h
Source/WebCore/Modules/webaudio/AudioProcessingEvent.idl
Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp

index 33816e1..80340ef 100644 (file)
@@ -39,9 +39,9 @@ PassRefPtr<AudioProcessingEvent> AudioProcessingEvent::create()
 }
 
 #if ENABLE(TIZEN_WEB_AUDIO)
-PassRefPtr<AudioProcessingEvent> AudioProcessingEvent::create(PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer, double time)
+PassRefPtr<AudioProcessingEvent> AudioProcessingEvent::create(ScriptProcessorNode* node, PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer, double time)
 {
-    return adoptRef(new AudioProcessingEvent(inputBuffer, outputBuffer, time));
+    return adoptRef(new AudioProcessingEvent(node, inputBuffer, outputBuffer, time));
 }
 #else
 PassRefPtr<AudioProcessingEvent> AudioProcessingEvent::create(PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer)
@@ -55,8 +55,9 @@ AudioProcessingEvent::AudioProcessingEvent()
 }
 
 #if ENABLE(TIZEN_WEB_AUDIO)
-AudioProcessingEvent::AudioProcessingEvent(PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer, double time)
+AudioProcessingEvent::AudioProcessingEvent(ScriptProcessorNode* node, PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer, double time)
     : Event(eventNames().audioprocessEvent, true, false)
+    , m_node(node)
     , m_inputBuffer(inputBuffer)
     , m_outputBuffer(outputBuffer)
     , m_playbackTime(time)
index 9d82297..36adaa5 100644 (file)
@@ -27,6 +27,9 @@
 
 #include "AudioBuffer.h"
 #include "Event.h"
+#if ENABLE(TIZEN_WEB_AUDIO)
+#include "ScriptProcessorNode.h"
+#endif
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefPtr.h>
 
@@ -38,7 +41,7 @@ class AudioProcessingEvent : public Event {
 public:
     static PassRefPtr<AudioProcessingEvent> create();
 #if ENABLE(TIZEN_WEB_AUDIO)
-    static PassRefPtr<AudioProcessingEvent> create(PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer, double time);
+    static PassRefPtr<AudioProcessingEvent> create(ScriptProcessorNode* node, PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer, double time);
 #else
     static PassRefPtr<AudioProcessingEvent> create(PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffe);
 #endif
@@ -46,6 +49,8 @@ public:
     virtual ~AudioProcessingEvent();
 
 #if ENABLE(TIZEN_WEB_AUDIO)
+    ScriptProcessorNode* node() { return m_node;}
+    void setNode(ScriptProcessorNode* node) { m_node = node; }
     double playbackTime() { return m_playbackTime; }
 #endif
     AudioBuffer* inputBuffer() { return m_inputBuffer.get(); }
@@ -56,7 +61,7 @@ public:
 private:
     AudioProcessingEvent();
 #if ENABLE(TIZEN_WEB_AUDIO)
-    AudioProcessingEvent(PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer, double time);
+    AudioProcessingEvent(ScriptProcessorNode* node, PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer, double time);
 #else
     AudioProcessingEvent(PassRefPtr<AudioBuffer> inputBuffer, PassRefPtr<AudioBuffer> outputBuffer);
 #endif
@@ -64,6 +69,7 @@ private:
     RefPtr<AudioBuffer> m_inputBuffer;
     RefPtr<AudioBuffer> m_outputBuffer;
 #if ENABLE(TIZEN_WEB_AUDIO)
+    ScriptProcessorNode* m_node;
     double m_playbackTime;
 #endif
 };
index 7f8c4e5..2644fe6 100644 (file)
@@ -28,6 +28,7 @@ module audio {
         JSGenerateToJSObject
     ] AudioProcessingEvent : Event {
 #if defined(ENABLE_TIZEN_WEB_AUDIO)
+        attribute ScriptProcessorNode node;
         readonly attribute double playbackTime;
 #endif
         readonly attribute AudioBuffer inputBuffer;
index f706a49..1f2f13d 100644 (file)
@@ -249,7 +249,7 @@ void ScriptProcessorNode::fireProcessEvent()
         
         // Call the JavaScript event handler which will do the audio processing.
 #if ENABLE(TIZEN_WEB_AUDIO)
-        dispatchEvent(AudioProcessingEvent::create(inputBuffer, outputBuffer, context()->currentTime()));
+        dispatchEvent(AudioProcessingEvent::create(this, inputBuffer, outputBuffer, context()->currentTime()));
 #else
         dispatchEvent(AudioProcessingEvent::create(inputBuffer, outputBuffer));
 #endif