Bug 109219

Summary: LocalMediaStream wrapped as a MediaStream despite having IDL for the subtype.
Product: WebKit Reporter: Thomas Sepez <tsepez>
Component: WebCore Misc.Assignee: Tommy Widenflycht <tommyw>
Status: NEW ---    
Severity: Normal CC: abarth, tommyw, tsepez
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Description Thomas Sepez 2013-02-07 12:41:52 PST
Spun off from https://bugs.webkit.org/show_bug.cgi?id=109211

LocalMediaStream wrapped as a MediaStream despite having IDL for the subtype.

0x01fca175     [Google Chrome Framework]     + 0x01fa9175]    WebCore::V8MediaStream::createWrapper(WTF::PassRefPtr<WebCore::MediaStream>, v8::Handle<v8::Object>, v8::Isolate*)
0x01eab664     [Google Chrome Framework]     + 0x01e8a664]    WebCore::MediaStreamAudioDestinationNodeV8Internal::streamAttrGetter(v8::Local<v8::String>, v8::AccessorInfo const&)
0x0142e86f     [Google Chrome Framework]     + 0x0140d86f]    v8::internal::JSObject::GetPropertyWithCallback(v8::internal::Object*, v8::internal::Object*, v8::internal::String*)
0x0142e62c     [Google Chrome Framework]     + 0x0140d62c]    v8::internal::Object::GetProperty(v8::internal::Object*, v8::internal::LookupResult*, v8::internal::String*, PropertyAttributes*)
0x013dcc8c     [Google Chrome Framework]     + 0x013bbc8c]    v8::internal::LoadIC::Load(v8::internal::InlineCacheState, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::String>)
0x013e06e5     [Google Chrome Framework]     + 0x013bf6e5]    v8::internal::LoadIC_Miss(v8::internal::Arguments, v8::internal::Isolate*)

The stop() method in LocalMediaStream.idl won't be available on a local media stream wrapped in this manner. Need a custom wrapper to check if islocal and wrap accordingly.
Comment 1 Tommy Widenflycht 2013-02-08 02:37:56 PST
In this case it won't be a problem; but the general issue should be sorted out. 

There is some movement in actually throwing away the LocalMediaStream in the standardization WG and I'll bring it up next week. I will also talk with the WebAudio editor (crogers@google.com) if it is more appropriate for it to have a LocalMediaStream instead. If both are "negative" I'll add a custom toV8 method.