[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

crogers at google.com crogers at google.com
Wed Dec 22 17:55:57 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 7c544f51616fa8ccc4d6ea4c3cc1b951b14d639e
Author: crogers at google.com <crogers at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 2 21:35:25 2010 +0000

    2010-12-02  Chris Rogers  <crogers at google.com>
    
            Reviewed by Darin Fisher.
    
            Fine-tune chromium WebKit API for loading audio resources
            https://bugs.webkit.org/show_bug.cgi?id=50406
    
            * public/WebAudioBus.h:
            (WebKit::WebAudioBus::~WebAudioBus):
            * public/WebKitClient.h:
            (WebKit::WebKitClient::loadAudioResource):
            * src/ChromiumBridge.cpp:
            (WebCore::ChromiumBridge::decodeAudioFileData):
            * src/WebAudioBus.cpp:
            (WebKit::WebAudioBus::reset):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73193 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 09914f6..614b4c6 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,19 @@
+2010-12-02  Chris Rogers  <crogers at google.com>
+
+        Reviewed by Darin Fisher.
+
+        Fine-tune chromium WebKit API for loading audio resources
+        https://bugs.webkit.org/show_bug.cgi?id=50406
+
+        * public/WebAudioBus.h:
+        (WebKit::WebAudioBus::~WebAudioBus):
+        * public/WebKitClient.h:
+        (WebKit::WebKitClient::loadAudioResource):
+        * src/ChromiumBridge.cpp:
+        (WebCore::ChromiumBridge::decodeAudioFileData):
+        * src/WebAudioBus.cpp:
+        (WebKit::WebAudioBus::reset):
+
 2010-12-02  Darin Fisher  <darin at chromium.org>
 
         Fix the Windows multi-dll build.  Do not export functions that are
diff --git a/WebKit/chromium/public/WebAudioBus.h b/WebKit/chromium/public/WebAudioBus.h
index 94ef74d..b7f8d74 100644
--- a/WebKit/chromium/public/WebAudioBus.h
+++ b/WebKit/chromium/public/WebAudioBus.h
@@ -27,8 +27,9 @@
 
 #include "WebCommon.h"
 
-#if WEBKIT_IMPLEMENTATION
 namespace WebCore { class AudioBus; }
+
+#if WEBKIT_IMPLEMENTATION
 namespace WTF { template <typename T> class PassOwnPtr; }
 #endif
 
@@ -43,11 +44,14 @@ class WebAudioBusPrivate;
 class WebAudioBus {
 public:
     WebAudioBus() : m_private(0) { }
-    ~WebAudioBus();
+    ~WebAudioBus() { reset(); }
     
     // initialize() allocates memory of the given length for the given number of channels.
-    void initialize(unsigned numberOfChannels, size_t length, double sampleRate);
+    WEBKIT_API void initialize(unsigned numberOfChannels, size_t length, double sampleRate);
 
+    // reset() releases the memory allocated from initialize().
+    WEBKIT_API void reset();
+    
     WEBKIT_API unsigned numberOfChannels() const;
     WEBKIT_API size_t length() const;
     WEBKIT_API double sampleRate() const;
@@ -59,9 +63,11 @@ public:
 #endif
 
 private:
-    // Noncopyable
-    WebAudioBus(const WebAudioBus& d) : m_private(0) { }
-    WebAudioBusPrivate* m_private;
+    // Disallow copy and assign.
+    WebAudioBus(const WebAudioBus&);
+    void operator=(const WebAudioBus&);
+
+    WebCore::AudioBus* m_private;
 };
 
 } // namespace WebKit
diff --git a/WebKit/chromium/public/WebKitClient.h b/WebKit/chromium/public/WebKitClient.h
index d168d32..bf9a97b 100644
--- a/WebKit/chromium/public/WebKitClient.h
+++ b/WebKit/chromium/public/WebKitClient.h
@@ -225,7 +225,7 @@ public:
     // Decodes the in-memory audio file data and returns the linear PCM audio data in the destinationBus.
     // A sample-rate conversion to sampleRate will occur if the file data is at a different sample-rate.
     // Returns true on success.
-    virtual bool decodeAudioFileData(WebAudioBus* destinationBus, const char* audioFileData, size_t dataSize, double sampleRate) { return false; }
+    virtual bool loadAudioResource(WebAudioBus* destinationBus, const char* audioFileData, size_t dataSize, double sampleRate) { return false; }
 
     // Returns a localized string resource (with substitution parameters).
     virtual WebString queryLocalizedString(WebLocalizedString::Name) { return WebString(); }
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index 70ff702..e94a04f 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -636,7 +636,7 @@ PassOwnPtr<AudioBus> ChromiumBridge::loadPlatformAudioResource(const char* name,
 PassOwnPtr<AudioBus> ChromiumBridge::decodeAudioFileData(const char* data, size_t size, double sampleRate)
 {
     WebAudioBus webAudioBus;
-    if (webKitClient()->decodeAudioFileData(&webAudioBus, data, size, sampleRate))
+    if (webKitClient()->loadAudioResource(&webAudioBus, data, size, sampleRate))
         return webAudioBus.release();
     return 0;
 }
diff --git a/WebKit/chromium/src/WebAudioBus.cpp b/WebKit/chromium/src/WebAudioBus.cpp
index ceccafc..9d4590e 100644
--- a/WebKit/chromium/src/WebAudioBus.cpp
+++ b/WebKit/chromium/src/WebAudioBus.cpp
@@ -44,14 +44,6 @@ namespace WebKit {
 class WebAudioBusPrivate : public AudioBus {
 };
 
-WebAudioBus::~WebAudioBus()
-{
-#if ENABLE(WEB_AUDIO)
-    delete m_private;
-    m_private = 0;
-#endif
-}
-
 void WebAudioBus::initialize(unsigned numberOfChannels, size_t length, double sampleRate)
 {        
 #if ENABLE(WEB_AUDIO)
@@ -66,6 +58,16 @@ void WebAudioBus::initialize(unsigned numberOfChannels, size_t length, double sa
 #endif
 }
 
+void WebAudioBus::reset()
+{
+#if ENABLE(WEB_AUDIO)
+    delete m_private;
+    m_private = 0;
+#else
+    ASSERT_NOT_REACHED();
+#endif
+}
+
 unsigned WebAudioBus::numberOfChannels() const
 {
 #if ENABLE(WEB_AUDIO)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list