[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