Commit b6c9fe27 authored by hans@chromium.org's avatar hans@chromium.org

Add PLATFORM_EXPORT to MediaStreamComponent::AudioSourceProviderImpl

On non-Windows, PLATFORM_EXPORT expands to a visibility attribute,
which is inherited by nested classes. On Windows, it's expanded to
a dllexport/dllimport attribute, which is not inherited.

When using Clang on Windows, MediaStreamComponent's dtor got
inlined, which destroys m_sourceProvider, whose destructor got inlined,
and tried to reference provideInput for the vtable, but failed to link
since it wasn't in the right dll. Exporting the inner class fixes this.

BUG=82385
TEST=build blink_web.dll with Clang on Windows in Release mode

Review URL: https://codereview.chromium.org/343763002

git-svn-id: svn://svn.chromium.org/blink/trunk@176468 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent fc48eba3
...@@ -79,7 +79,7 @@ private: ...@@ -79,7 +79,7 @@ private:
// AudioSourceProviderImpl wraps a WebAudioSourceProvider::provideInput() // AudioSourceProviderImpl wraps a WebAudioSourceProvider::provideInput()
// calls into chromium to get a rendered audio stream. // calls into chromium to get a rendered audio stream.
class AudioSourceProviderImpl FINAL: public AudioSourceProvider { class PLATFORM_EXPORT AudioSourceProviderImpl FINAL: public AudioSourceProvider {
public: public:
AudioSourceProviderImpl() AudioSourceProviderImpl()
: m_webAudioSourceProvider(0) : m_webAudioSourceProvider(0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment