- a/Source/WebCore/ChangeLog +28 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2013-10-29  Jer Noble  <jer.noble@apple.com>
2
3
        [MSE] Remove legacy Media Source APIs (WebKitMediaSource, WebKitSourceBuffer, WebKitSourceBufferList)
4
        https://bugs.webkit.org/show_bug.cgi?id=123463
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        No new tests; updated test results.
9
10
        Remove all reference to WebKitMediaSource, WebKitSourceBuffer, and WebKitSourceBufferList.
11
12
        * CMakeLists.txt:
13
        * DerivedSources.cpp:
14
        * DerivedSources.make:
15
        * GNUmakefile.list.am:
16
        * Modules/mediasource/DOMURLMediaSource.idl:
17
        * Modules/mediasource/WebKitMediaSource.cpp: Removed.
18
        * Modules/mediasource/WebKitMediaSource.h: Removed.
19
        * Modules/mediasource/WebKitMediaSource.idl: Removed.
20
        * Modules/mediasource/WebKitSourceBuffer.cpp: Removed.
21
        * Modules/mediasource/WebKitSourceBuffer.h: Removed.
22
        * Modules/mediasource/WebKitSourceBuffer.idl: Removed.
23
        * Modules/mediasource/WebKitSourceBufferList.cpp: Removed.
24
        * Modules/mediasource/WebKitSourceBufferList.h: Removed.
25
        * Modules/mediasource/WebKitSourceBufferList.idl: Removed.
26
        * WebCore.xcodeproj/project.pbxproj:
27
        * dom/EventTargetFactory.in:
28
1
2013-10-29  Alexey Proskuryakov  <ap@apple.com>
29
2013-10-29  Alexey Proskuryakov  <ap@apple.com>
2
30
3
        Beef up CryptoKey
31
        Beef up CryptoKey
- a/Source/WebCore/CMakeLists.txt -3 lines
Lines 183-191 set(WebCore_IDL_FILES a/Source/WebCore/CMakeLists.txt_sec1
183
    Modules/mediasource/MediaSource.idl
183
    Modules/mediasource/MediaSource.idl
184
    Modules/mediasource/SourceBuffer.idl
184
    Modules/mediasource/SourceBuffer.idl
185
    Modules/mediasource/SourceBufferList.idl
185
    Modules/mediasource/SourceBufferList.idl
186
    Modules/mediasource/WebKitMediaSource.idl
187
    Modules/mediasource/WebKitSourceBuffer.idl
188
    Modules/mediasource/WebKitSourceBufferList.idl
189
186
190
    Modules/mediastream/AllAudioCapabilities.idl
187
    Modules/mediastream/AllAudioCapabilities.idl
191
    Modules/mediastream/AllVideoCapabilities.idl
188
    Modules/mediastream/AllVideoCapabilities.idl
- a/Source/WebCore/DerivedSources.cpp -7 lines
Lines 249-257 a/Source/WebCore/DerivedSources.cpp_sec1
249
#include "JSMediaList.cpp"
249
#include "JSMediaList.cpp"
250
#include "JSMediaQueryList.cpp"
250
#include "JSMediaQueryList.cpp"
251
#include "JSMediaQueryListListener.cpp"
251
#include "JSMediaQueryListListener.cpp"
252
#if ENABLE(MEDIA_SOURCE)
253
#include "JSWebKitMediaSource.cpp"
254
#endif
255
#include "JSMessageChannel.cpp"
252
#include "JSMessageChannel.cpp"
256
#include "JSMessageEvent.cpp"
253
#include "JSMessageEvent.cpp"
257
#include "JSMessagePort.cpp"
254
#include "JSMessagePort.cpp"
Lines 291-300 a/Source/WebCore/DerivedSources.cpp_sec2
291
#include "JSShadowRoot.cpp"
288
#include "JSShadowRoot.cpp"
292
#include "JSSharedWorker.cpp"
289
#include "JSSharedWorker.cpp"
293
#include "JSSharedWorkerGlobalScope.cpp"
290
#include "JSSharedWorkerGlobalScope.cpp"
294
#if ENABLE(MEDIA_SOURCE)
295
#include "JSWebKitSourceBuffer.cpp"
296
#include "JSWebKitSourceBufferList.cpp"
297
#endif
298
#include "JSSQLError.cpp"
291
#include "JSSQLError.cpp"
299
#include "JSSQLException.cpp"
292
#include "JSSQLException.cpp"
300
#include "JSSQLResultSet.cpp"
293
#include "JSSQLResultSet.cpp"
- a/Source/WebCore/DerivedSources.make -5 lines
Lines 97-107 BINDING_IDLS = \ a/Source/WebCore/DerivedSources.make_sec1
97
	$(WebCore)/Modules/mediasource/MediaSource.idl \
97
	$(WebCore)/Modules/mediasource/MediaSource.idl \
98
	$(WebCore)/Modules/mediasource/SourceBuffer.idl \
98
	$(WebCore)/Modules/mediasource/SourceBuffer.idl \
99
	$(WebCore)/Modules/mediasource/SourceBufferList.idl \
99
	$(WebCore)/Modules/mediasource/SourceBufferList.idl \
100
    $(WebCore)/Modules/mediasource/WebKitMediaSource.idl \
101
    $(WebCore)/Modules/mediasource/WebKitSourceBuffer.idl \
102
    $(WebCore)/Modules/mediasource/WebKitSourceBufferList.idl \
103
    $(WebCore)/Modules/mediasource/SourceBuffer.idl \
104
    $(WebCore)/Modules/mediasource/SourceBufferList.idl \
105
	$(WebCore)/Modules/mediastream/AllVideoCapabilities.idl \
100
	$(WebCore)/Modules/mediastream/AllVideoCapabilities.idl \
106
	$(WebCore)/Modules/mediastream/AllAudioCapabilities.idl \
101
	$(WebCore)/Modules/mediastream/AllAudioCapabilities.idl \
107
	$(WebCore)/Modules/mediastream/AudioStreamTrack.idl \
102
	$(WebCore)/Modules/mediastream/AudioStreamTrack.idl \
- a/Source/WebCore/GNUmakefile.list.am -15 lines
Lines 465-472 webcore_built_sources += \ a/Source/WebCore/GNUmakefile.list.am_sec1
465
	DerivedSources/WebCore/JSMediaList.h \
465
	DerivedSources/WebCore/JSMediaList.h \
466
	DerivedSources/WebCore/JSMediaSource.cpp \
466
	DerivedSources/WebCore/JSMediaSource.cpp \
467
	DerivedSources/WebCore/JSMediaSource.h \
467
	DerivedSources/WebCore/JSMediaSource.h \
468
	DerivedSources/WebCore/JSWebKitMediaSource.cpp \
469
	DerivedSources/WebCore/JSWebKitMediaSource.h \
470
	DerivedSources/WebCore/JSMediaSourceStates.cpp \
468
	DerivedSources/WebCore/JSMediaSourceStates.cpp \
471
	DerivedSources/WebCore/JSMediaSourceStates.h \
469
	DerivedSources/WebCore/JSMediaSourceStates.h \
472
	DerivedSources/WebCore/JSMediaStream.cpp \
470
	DerivedSources/WebCore/JSMediaStream.cpp \
Lines 643-652 webcore_built_sources += \ a/Source/WebCore/GNUmakefile.list.am_sec2
643
	DerivedSources/WebCore/JSSourceBufferList.h \
641
	DerivedSources/WebCore/JSSourceBufferList.h \
644
	DerivedSources/WebCore/JSSourceInfo.cpp \
642
	DerivedSources/WebCore/JSSourceInfo.cpp \
645
	DerivedSources/WebCore/JSSourceInfo.h \
643
	DerivedSources/WebCore/JSSourceInfo.h \
646
	DerivedSources/WebCore/JSWebKitSourceBuffer.cpp \
647
	DerivedSources/WebCore/JSWebKitSourceBuffer.h \
648
	DerivedSources/WebCore/JSWebKitSourceBufferList.cpp \
649
	DerivedSources/WebCore/JSWebKitSourceBufferList.h \
650
	DerivedSources/WebCore/JSSpeechInputEvent.cpp \
644
	DerivedSources/WebCore/JSSpeechInputEvent.cpp \
651
	DerivedSources/WebCore/JSSpeechInputEvent.h \
645
	DerivedSources/WebCore/JSSpeechInputEvent.h \
652
	DerivedSources/WebCore/JSSpeechInputResult.cpp \
646
	DerivedSources/WebCore/JSSpeechInputResult.cpp \
Lines 1200-1208 dom_binding_idls += \ a/Source/WebCore/GNUmakefile.list.am_sec3
1200
	$(WebCore)/Modules/mediasource/MediaSource.idl \
1194
	$(WebCore)/Modules/mediasource/MediaSource.idl \
1201
	$(WebCore)/Modules/mediasource/SourceBuffer.idl \
1195
	$(WebCore)/Modules/mediasource/SourceBuffer.idl \
1202
	$(WebCore)/Modules/mediasource/SourceBufferList.idl \
1196
	$(WebCore)/Modules/mediasource/SourceBufferList.idl \
1203
	$(WebCore)/Modules/mediasource/WebKitMediaSource.idl \
1204
	$(WebCore)/Modules/mediasource/WebKitSourceBuffer.idl \
1205
	$(WebCore)/Modules/mediasource/WebKitSourceBufferList.idl \
1206
	$(WebCore)/Modules/mediastream/AllVideoCapabilities.idl \
1197
	$(WebCore)/Modules/mediastream/AllVideoCapabilities.idl \
1207
	$(WebCore)/Modules/mediastream/AllAudioCapabilities.idl \
1198
	$(WebCore)/Modules/mediastream/AllAudioCapabilities.idl \
1208
	$(WebCore)/Modules/mediastream/AudioStreamTrack.idl \
1199
	$(WebCore)/Modules/mediastream/AudioStreamTrack.idl \
Lines 1874-1885 webcore_modules_sources += \ a/Source/WebCore/GNUmakefile.list.am_sec4
1874
	Source/WebCore/Modules/mediasource/SourceBufferList.h \
1865
	Source/WebCore/Modules/mediasource/SourceBufferList.h \
1875
	Source/WebCore/Modules/mediasource/DOMURLMediaSource.cpp \
1866
	Source/WebCore/Modules/mediasource/DOMURLMediaSource.cpp \
1876
	Source/WebCore/Modules/mediasource/DOMURLMediaSource.h \
1867
	Source/WebCore/Modules/mediasource/DOMURLMediaSource.h \
1877
	Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp \
1878
	Source/WebCore/Modules/mediasource/WebKitMediaSource.h \
1879
	Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp \
1880
	Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h \
1881
	Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp \
1882
	Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h \
1883
	Source/WebCore/Modules/mediastream/AllAudioCapabilities.h \
1868
	Source/WebCore/Modules/mediastream/AllAudioCapabilities.h \
1884
	Source/WebCore/Modules/mediastream/AllVideoCapabilities.h \
1869
	Source/WebCore/Modules/mediastream/AllVideoCapabilities.h \
1885
	Source/WebCore/Modules/mediastream/AudioStreamTrack.cpp \
1870
	Source/WebCore/Modules/mediastream/AudioStreamTrack.cpp \
- a/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl -1 lines
Lines 32-36 a/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl_sec1
32
]
32
]
33
partial interface DOMURL {
33
partial interface DOMURL {
34
    [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(MediaSource? source);
34
    [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(MediaSource? source);
35
    [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(WebKitMediaSource? source);
36
};
35
};
- a/Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp -207 lines
Lines 1-207 a/Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
31
#include "config.h"
32
#include "WebKitMediaSource.h"
33
34
#if ENABLE(MEDIA_SOURCE)
35
36
#include "ContentType.h"
37
#include "ExceptionCodePlaceholder.h"
38
#include "MIMETypeRegistry.h"
39
#include "MediaSourceRegistry.h"
40
#include "SourceBufferPrivate.h"
41
#include "TimeRanges.h"
42
#include <runtime/Uint8Array.h>
43
44
namespace WebCore {
45
46
PassRefPtr<WebKitMediaSource> WebKitMediaSource::create(ScriptExecutionContext* context)
47
{
48
    RefPtr<WebKitMediaSource> mediaSource(adoptRef(new WebKitMediaSource(context)));
49
    mediaSource->suspendIfNeeded();
50
    return mediaSource.release();
51
}
52
53
WebKitMediaSource::WebKitMediaSource(ScriptExecutionContext* context)
54
    : MediaSourceBase(context)
55
    , m_asyncEventQueue(*this)
56
    , m_sourceBuffers(WebKitSourceBufferList::create(scriptExecutionContext()))
57
    , m_activeSourceBuffers(WebKitSourceBufferList::create(scriptExecutionContext()))
58
{
59
}
60
61
WebKitSourceBufferList* WebKitMediaSource::sourceBuffers()
62
{
63
    return m_sourceBuffers.get();
64
}
65
66
WebKitSourceBufferList* WebKitMediaSource::activeSourceBuffers()
67
{
68
    // FIXME(91649): support track selection
69
    return m_activeSourceBuffers.get();
70
}
71
72
WebKitSourceBuffer* WebKitMediaSource::addSourceBuffer(const String& type, ExceptionCode& ec)
73
{
74
    // 3.1 http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#dom-addsourcebuffer
75
    // 1. If type is null or an empty then throw an INVALID_ACCESS_ERR exception and
76
    // abort these steps.
77
    if (type.isNull() || type.isEmpty()) {
78
        ec = INVALID_ACCESS_ERR;
79
        return 0;
80
    }
81
82
    // 2. If type contains a MIME type that is not supported ..., then throw a
83
    // NOT_SUPPORTED_ERR exception and abort these steps.
84
    if (!isTypeSupported(type)) {
85
        ec = NOT_SUPPORTED_ERR;
86
        return 0;
87
    }
88
89
    // 4. If the readyState attribute is not in the "open" state then throw an
90
    // INVALID_STATE_ERR exception and abort these steps.
91
    if (!isOpen()) {
92
        ec = INVALID_STATE_ERR;
93
        return 0;
94
    }
95
96
    // 5. Create a new SourceBuffer object and associated resources.
97
    ContentType contentType(type);
98
    Vector<String> codecs = contentType.codecs();
99
    OwnPtr<SourceBufferPrivate> sourceBufferPrivate = createSourceBufferPrivate(contentType.type(), codecs, ec);
100
    if (!sourceBufferPrivate)
101
        return 0;
102
103
    RefPtr<WebKitSourceBuffer> buffer = WebKitSourceBuffer::create(sourceBufferPrivate.release(), this);
104
    // 6. Add the new object to sourceBuffers and fire a addsourcebuffer on that object.
105
    m_sourceBuffers->add(buffer);
106
    m_activeSourceBuffers->add(buffer);
107
    // 7. Return the new object to the caller.
108
    return buffer.get();
109
}
110
111
void WebKitMediaSource::removeSourceBuffer(WebKitSourceBuffer* buffer, ExceptionCode& ec)
112
{
113
    // 3.1 http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#dom-removesourcebuffer
114
    // 1. If sourceBuffer is null then throw an INVALID_ACCESS_ERR exception and
115
    // abort these steps.
116
    if (!buffer) {
117
        ec = INVALID_ACCESS_ERR;
118
        return;
119
    }
120
121
    // 2. If sourceBuffers is empty then throw an INVALID_STATE_ERR exception and
122
    // abort these steps.
123
    if (isClosed() || !m_sourceBuffers->length()) {
124
        ec = INVALID_STATE_ERR;
125
        return;
126
    }
127
128
    // 3. If sourceBuffer specifies an object that is not in sourceBuffers then
129
    // throw a NOT_FOUND_ERR exception and abort these steps.
130
    // 6. Remove sourceBuffer from sourceBuffers and fire a removesourcebuffer event
131
    // on that object.
132
    if (!m_sourceBuffers->remove(buffer)) {
133
        ec = NOT_FOUND_ERR;
134
        return;
135
    }
136
137
    // 7. Destroy all resources for sourceBuffer.
138
    m_activeSourceBuffers->remove(buffer);
139
140
    // 4. Remove track information from audioTracks, videoTracks, and textTracks for all tracks
141
    // associated with sourceBuffer and fire a simple event named change on the modified lists.
142
    // FIXME(91649): support track selection
143
144
    // 5. If sourceBuffer is in activeSourceBuffers, then remove it from that list and fire a
145
    // removesourcebuffer event on that object.
146
    // FIXME(91649): support track selection
147
}
148
149
void WebKitMediaSource::onReadyStateChange(const AtomicString& oldState, const AtomicString& newState)
150
{
151
    if (isClosed()) {
152
        m_sourceBuffers->clear();
153
        m_activeSourceBuffers->clear();
154
        scheduleEvent(eventNames().webkitsourcecloseEvent);
155
        return;
156
    }
157
158
    if (oldState == openKeyword() && newState == endedKeyword()) {
159
        scheduleEvent(eventNames().webkitsourceendedEvent);
160
        return;
161
    }
162
163
    if (isOpen()) {
164
        scheduleEvent(eventNames().webkitsourceopenEvent);
165
        return;
166
    }
167
}
168
169
Vector<RefPtr<TimeRanges>> WebKitMediaSource::activeRanges() const
170
{
171
    Vector<RefPtr<TimeRanges>> activeRanges(m_activeSourceBuffers->length());
172
    for (size_t i = 0; i < m_activeSourceBuffers->length(); ++i)
173
        activeRanges[i] = m_activeSourceBuffers->item(i)->buffered(ASSERT_NO_EXCEPTION);
174
175
    return activeRanges;
176
}
177
178
bool WebKitMediaSource::isTypeSupported(const String& type)
179
{
180
    // Section 2.1 isTypeSupported() method steps.
181
    // https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#widl-MediaSource-isTypeSupported-boolean-DOMString-type
182
    // 1. If type is an empty string, then return false.
183
    if (type.isNull() || type.isEmpty())
184
        return false;
185
186
    ContentType contentType(type);
187
    String codecs = contentType.parameter("codecs");
188
189
    // 2. If type does not contain a valid MIME type string, then return false.
190
    if (contentType.type().isEmpty() || codecs.isEmpty())
191
        return false;
192
193
    // 3. If type contains a media type or media subtype that the MediaSource does not support, then return false.
194
    // 4. If type contains at a codec that the MediaSource does not support, then return false.
195
    // 5. If the MediaSource does not support the specified combination of media type, media subtype, and codecs then return false.
196
    // 6. Return true.
197
    return MIMETypeRegistry::isSupportedMediaSourceMIMEType(contentType.type(), codecs);
198
}
199
200
EventTargetInterface WebKitMediaSource::eventTargetInterface() const
201
{
202
    return WebKitMediaSourceEventTargetInterfaceType;
203
}
204
205
} // namespace WebCore
206
207
#endif
- a/Source/WebCore/Modules/mediasource/WebKitMediaSource.h -77 lines
Lines 1-77 a/Source/WebCore/Modules/mediasource/WebKitMediaSource.h_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
31
#ifndef WebKitMediaSource_h
32
#define WebKitMediaSource_h
33
34
#if ENABLE(MEDIA_SOURCE)
35
36
#include "MediaSourceBase.h"
37
#include "ScriptWrappable.h"
38
#include "WebKitSourceBuffer.h"
39
#include "WebKitSourceBufferList.h"
40
#include <wtf/RefCounted.h>
41
42
namespace WebCore {
43
44
class WebKitMediaSource : public MediaSourceBase, public ScriptWrappable {
45
public:
46
    static PassRefPtr<WebKitMediaSource> create(ScriptExecutionContext*);
47
    virtual ~WebKitMediaSource() { }
48
49
    // WebKitMediaSource.idl methods
50
    WebKitSourceBufferList* sourceBuffers();
51
    WebKitSourceBufferList* activeSourceBuffers();
52
    WebKitSourceBuffer* addSourceBuffer(const String& type, ExceptionCode&);
53
    void removeSourceBuffer(WebKitSourceBuffer*, ExceptionCode&);
54
    static bool isTypeSupported(const String& type);
55
56
    // EventTarget interface
57
    virtual EventTargetInterface eventTargetInterface() const OVERRIDE;
58
59
    using RefCounted<MediaSourceBase>::ref;
60
    using RefCounted<MediaSourceBase>::deref;
61
62
private:
63
    explicit WebKitMediaSource(ScriptExecutionContext*);
64
65
    // MediaSourceBase interface
66
    virtual void onReadyStateChange(const AtomicString&, const AtomicString&) OVERRIDE;
67
    virtual Vector<RefPtr<TimeRanges>> activeRanges() const OVERRIDE;
68
69
    GenericEventQueue m_asyncEventQueue;
70
    RefPtr<WebKitSourceBufferList> m_sourceBuffers;
71
    RefPtr<WebKitSourceBufferList> m_activeSourceBuffers;
72
};
73
74
} // namespace WebCore
75
76
#endif
77
#endif
- a/Source/WebCore/Modules/mediasource/WebKitMediaSource.idl -58 lines
Lines 1-58 a/Source/WebCore/Modules/mediasource/WebKitMediaSource.idl_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
 
31
[
32
    Conditional=MEDIA_SOURCE,
33
    ActiveDOMObject,
34
    EventTarget,
35
    JSGenerateToJSObject,
36
    JSGenerateToNativeObject,
37
    Constructor,
38
    ConstructorCallWith=ScriptExecutionContext,
39
    OperationsNotDeletable
40
] interface WebKitMediaSource : EventTarget {
41
    // All the source buffers created by this object.
42
    readonly attribute WebKitSourceBufferList sourceBuffers;
43
44
    // Subset of sourceBuffers that provide data for the selected/enabled tracks.
45
    readonly attribute WebKitSourceBufferList activeSourceBuffers;
46
47
    [SetterRaisesException] attribute double duration;
48
49
    [RaisesException] WebKitSourceBuffer addSourceBuffer(DOMString type);
50
    [RaisesException] void removeSourceBuffer(WebKitSourceBuffer buffer);
51
52
    readonly attribute DOMString readyState;
53
    
54
    [RaisesException] void endOfStream([Default=NullString] optional DOMString error);
55
56
    static boolean isTypeSupported (DOMString type);
57
};
58
- a/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp -165 lines
Lines 1-165 a/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
31
#include "config.h"
32
#include "WebKitSourceBuffer.h"
33
34
#if ENABLE(MEDIA_SOURCE)
35
36
#include "SourceBufferPrivate.h"
37
#include "TimeRanges.h"
38
#include "WebKitMediaSource.h"
39
#include <runtime/Uint8Array.h>
40
41
namespace WebCore {
42
43
PassRefPtr<WebKitSourceBuffer> WebKitSourceBuffer::create(PassOwnPtr<SourceBufferPrivate> sourceBufferPrivate, PassRefPtr<WebKitMediaSource> source)
44
{
45
    return adoptRef(new WebKitSourceBuffer(sourceBufferPrivate, source));
46
}
47
48
WebKitSourceBuffer::WebKitSourceBuffer(PassOwnPtr<SourceBufferPrivate> sourceBufferPrivate, PassRefPtr<WebKitMediaSource> source)
49
    : m_private(sourceBufferPrivate)
50
    , m_source(source)
51
    , m_timestampOffset(0)
52
{
53
    ASSERT(m_private);
54
    ASSERT(m_source);
55
}
56
57
WebKitSourceBuffer::~WebKitSourceBuffer()
58
{
59
}
60
61
PassRefPtr<TimeRanges> WebKitSourceBuffer::buffered(ExceptionCode& ec) const
62
{
63
    // Section 3.1 buffered attribute steps.
64
    // 1. If this object has been removed from the sourceBuffers attribute of the parent media source then throw an
65
    //    INVALID_STATE_ERR exception and abort these steps.
66
    if (isRemoved()) {
67
        ec = INVALID_STATE_ERR;
68
        return 0;
69
    }
70
71
    // 2. Return a new static normalized TimeRanges object for the media segments buffered.
72
    return m_private->buffered();
73
}
74
75
double WebKitSourceBuffer::timestampOffset() const
76
{
77
    return m_timestampOffset;
78
}
79
80
void WebKitSourceBuffer::setTimestampOffset(double offset, ExceptionCode& ec)
81
{
82
    // Section 3.1 timestampOffset attribute setter steps.
83
    // 1. If this object has been removed from the sourceBuffers attribute of the parent media source then throw an
84
    //    INVALID_STATE_ERR exception and abort these steps.
85
    if (isRemoved()) {
86
        ec = INVALID_STATE_ERR;
87
        return;
88
    }
89
90
    // 4. If the readyState attribute of the parent media source is in the "ended" state then run the following steps:
91
    // 4.1 Set the readyState attribute of the parent media source to "open"
92
    // 4.2 Queue a task to fire a simple event named sourceopen at the parent media source.
93
    m_source->openIfInEndedState();
94
95
    // 5. If this object is waiting for the end of a media segment to be appended, then throw an INVALID_STATE_ERR
96
    // and abort these steps.
97
    if (!m_private->setTimestampOffset(offset)) {
98
        ec = INVALID_STATE_ERR;
99
        return;
100
    }
101
102
    // 6. Update the attribute to the new value.
103
    m_timestampOffset = offset;
104
}
105
106
void WebKitSourceBuffer::append(PassRefPtr<Uint8Array> data, ExceptionCode& ec)
107
{
108
    // SourceBuffer.append() steps from October 1st version of the Media Source Extensions spec.
109
    // https://dvcs.w3.org/hg/html-media/raw-file/7bab66368f2c/media-source/media-source.html#dom-append
110
111
    // 2. If data is null then throw an INVALID_ACCESS_ERR exception and abort these steps.
112
    if (!data) {
113
        ec = INVALID_ACCESS_ERR;
114
        return;
115
    }
116
117
    // 3. If this object has been removed from the sourceBuffers attribute of media source then throw
118
    //    an INVALID_STATE_ERR exception and abort these steps.
119
    if (isRemoved()) {
120
        ec = INVALID_STATE_ERR;
121
        return;
122
    }
123
124
    // 5. If the readyState attribute of media source is in the "ended" state then run the following steps:
125
    // 5.1. Set the readyState attribute of media source to "open"
126
    // 5.2. Queue a task to fire a simple event named sourceopen at media source.
127
    m_source->openIfInEndedState();
128
129
    // Steps 6 & beyond are handled by the private implementation.
130
    m_private->append(data->data(), data->length());
131
}
132
133
void WebKitSourceBuffer::abort(ExceptionCode& ec)
134
{
135
    // Section 3.2 abort() method steps.
136
    // 1. If this object has been removed from the sourceBuffers attribute of the parent media source
137
    //    then throw an INVALID_STATE_ERR exception and abort these steps.
138
    // 2. If the readyState attribute of the parent media source is not in the "open" state
139
    //    then throw an INVALID_STATE_ERR exception and abort these steps.
140
    if (isRemoved() || !m_source->isOpen()) {
141
        ec = INVALID_STATE_ERR;
142
        return;
143
    }
144
145
    // 4. Run the reset parser state algorithm.
146
    m_private->abort();
147
}
148
149
void WebKitSourceBuffer::removedFromMediaSource()
150
{
151
    if (isRemoved())
152
        return;
153
154
    m_private->removedFromMediaSource();
155
    m_source.clear();
156
}
157
158
bool WebKitSourceBuffer::isRemoved() const
159
{
160
    return !m_source;
161
}
162
163
} // namespace WebCore
164
165
#endif
- a/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h -77 lines
Lines 1-77 a/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
31
#ifndef WebKitSourceBuffer_h
32
#define WebKitSourceBuffer_h
33
34
#if ENABLE(MEDIA_SOURCE)
35
36
#include "ExceptionCode.h"
37
#include "ScriptWrappable.h"
38
#include <runtime/Uint8Array.h>
39
#include <wtf/PassRefPtr.h>
40
#include <wtf/RefCounted.h>
41
#include <wtf/text/WTFString.h>
42
43
namespace WebCore {
44
class SourceBufferPrivate;
45
class TimeRanges;
46
class WebKitMediaSource;
47
48
class WebKitSourceBuffer : public RefCounted<WebKitSourceBuffer>, public ScriptWrappable {
49
public:
50
    static PassRefPtr<WebKitSourceBuffer> create(PassOwnPtr<SourceBufferPrivate>, PassRefPtr<WebKitMediaSource>);
51
52
    virtual ~WebKitSourceBuffer();
53
54
    // WebKitSourceBuffer.idl methods
55
    PassRefPtr<TimeRanges> buffered(ExceptionCode&) const;
56
    double timestampOffset() const;
57
    void setTimestampOffset(double, ExceptionCode&);
58
    void append(PassRefPtr<JSC::Uint8Array> data, ExceptionCode&);
59
    void abort(ExceptionCode&);
60
61
    void removedFromMediaSource();
62
63
private:
64
    WebKitSourceBuffer(PassOwnPtr<SourceBufferPrivate>, PassRefPtr<WebKitMediaSource>);
65
66
    bool isRemoved() const;
67
68
    OwnPtr<SourceBufferPrivate> m_private;
69
    RefPtr<WebKitMediaSource> m_source;
70
71
    double m_timestampOffset;
72
};
73
74
} // namespace WebCore
75
76
#endif
77
#endif
- a/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.idl -48 lines
Lines 1-48 a/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.idl_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
 
31
[
32
    Conditional=MEDIA_SOURCE,
33
    OperationsNotDeletable
34
] interface WebKitSourceBuffer {
35
36
    // Returns the time ranges buffered.
37
    [GetterRaisesException] readonly attribute TimeRanges buffered;
38
39
    // Applies an offset to media segment timestamps.
40
    [SetterRaisesException] attribute double timestampOffset;
41
42
    // Append segment data.
43
    [RaisesException] void append(Uint8Array data);
44
45
    // Abort the current segment append sequence.
46
    [RaisesException] void abort();
47
};
48
- a/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp -98 lines
Lines 1-98 a/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
31
#include "config.h"
32
#include "WebKitSourceBufferList.h"
33
34
#if ENABLE(MEDIA_SOURCE)
35
36
#include "Event.h"
37
#include "WebKitSourceBuffer.h"
38
39
namespace WebCore {
40
41
WebKitSourceBufferList::WebKitSourceBufferList(ScriptExecutionContext* context)
42
    : m_scriptExecutionContext(context)
43
    , m_asyncEventQueue(*this)
44
{
45
}
46
47
WebKitSourceBufferList::~WebKitSourceBufferList()
48
{
49
}
50
51
unsigned WebKitSourceBufferList::length() const
52
{
53
    return m_list.size();
54
}
55
56
WebKitSourceBuffer* WebKitSourceBufferList::item(unsigned index) const
57
{
58
    if (index >= m_list.size())
59
        return 0;
60
    return m_list[index].get();
61
}
62
63
void WebKitSourceBufferList::add(PassRefPtr<WebKitSourceBuffer> buffer)
64
{
65
    m_list.append(buffer);
66
    createAndFireEvent(eventNames().webkitaddsourcebufferEvent);
67
}
68
69
bool WebKitSourceBufferList::remove(WebKitSourceBuffer* buffer)
70
{
71
    size_t index = m_list.find(buffer);
72
    if (index == notFound)
73
        return false;
74
75
    buffer->removedFromMediaSource();
76
    m_list.remove(index);
77
    createAndFireEvent(eventNames().webkitremovesourcebufferEvent);
78
    return true;
79
}
80
81
void WebKitSourceBufferList::clear()
82
{
83
    for (size_t i = 0; i < m_list.size(); ++i)
84
        m_list[i]->removedFromMediaSource();
85
    m_list.clear();
86
    createAndFireEvent(eventNames().webkitremovesourcebufferEvent);
87
}
88
89
void WebKitSourceBufferList::createAndFireEvent(const AtomicString& eventName)
90
{
91
    RefPtr<Event> event = Event::create(eventName, false, false);
92
    event->setTarget(this);
93
    m_asyncEventQueue.enqueueEvent(event.release());
94
}
95
96
} // namespace WebCore
97
98
#endif
- a/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h -86 lines
Lines 1-86 a/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
31
#ifndef WebKitSourceBufferList_h
32
#define WebKitSourceBufferList_h
33
34
#if ENABLE(MEDIA_SOURCE)
35
36
#include "EventTarget.h"
37
#include "GenericEventQueue.h"
38
#include "ScriptWrappable.h"
39
#include <wtf/RefCounted.h>
40
#include <wtf/Vector.h>
41
42
namespace WebCore {
43
44
class WebKitSourceBuffer;
45
class GenericEventQueue;
46
47
class WebKitSourceBufferList FINAL : public RefCounted<WebKitSourceBufferList>, public ScriptWrappable, public EventTargetWithInlineData {
48
public:
49
    static PassRefPtr<WebKitSourceBufferList> create(ScriptExecutionContext* context)
50
    {
51
        return adoptRef(new WebKitSourceBufferList(context));
52
    }
53
    virtual ~WebKitSourceBufferList();
54
55
    unsigned length() const;
56
    WebKitSourceBuffer* item(unsigned index) const;
57
58
    void add(PassRefPtr<WebKitSourceBuffer>);
59
    bool remove(WebKitSourceBuffer*);
60
    void clear();
61
62
    // EventTarget interface
63
    virtual EventTargetInterface eventTargetInterface() const OVERRIDE { return WebKitSourceBufferListEventTargetInterfaceType; }
64
    virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE { return m_scriptExecutionContext; }
65
66
    using RefCounted<WebKitSourceBufferList>::ref;
67
    using RefCounted<WebKitSourceBufferList>::deref;
68
69
private:
70
    explicit WebKitSourceBufferList(ScriptExecutionContext*);
71
72
    void createAndFireEvent(const AtomicString&);
73
74
    virtual void refEventTarget() OVERRIDE { ref(); }
75
    virtual void derefEventTarget() OVERRIDE { deref(); }
76
77
    ScriptExecutionContext* m_scriptExecutionContext;
78
    GenericEventQueue m_asyncEventQueue;
79
80
    Vector<RefPtr<WebKitSourceBuffer>> m_list;
81
};
82
83
} // namespace WebCore
84
85
#endif
86
#endif
- a/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.idl -42 lines
Lines 1-42 a/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.idl_sec1
1
/*
2
 * Copyright (C) 2012 Google Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions are
6
 * met:
7
 *
8
 *     * Redistributions of source code must retain the above copyright
9
 * notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 * copyright notice, this list of conditions and the following disclaimer
12
 * in the documentation and/or other materials provided with the
13
 * distribution.
14
 *     * Neither the name of Google Inc. nor the names of its
15
 * contributors may be used to endorse or promote products derived from
16
 * this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 */
30
 
31
[
32
    Conditional=MEDIA_SOURCE,
33
    EventTarget,
34
    JSGenerateToJSObject,
35
    JSGenerateToNativeObject,
36
    GenerateIsReachable=Impl,
37
    OperationsNotDeletable
38
] interface WebKitSourceBufferList : EventTarget {
39
    readonly attribute unsigned long length;
40
    getter WebKitSourceBuffer item(unsigned long index);
41
};
42
- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj -54 lines
Lines 5317-5336 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec1
5317
		CD5393D4175E018600C07123 /* JSMemoryInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = CD5393D2175E018600C07123 /* JSMemoryInfo.h */; };
5317
		CD5393D4175E018600C07123 /* JSMemoryInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = CD5393D2175E018600C07123 /* JSMemoryInfo.h */; };
5318
		CD54DE4717468B6F005E5B36 /* AudioSessionManagerMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD54DE4517468B6F005E5B36 /* AudioSessionManagerMac.cpp */; };
5318
		CD54DE4717468B6F005E5B36 /* AudioSessionManagerMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD54DE4517468B6F005E5B36 /* AudioSessionManagerMac.cpp */; };
5319
		CD54DE4B17469C6D005E5B36 /* AudioSessionMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD54DE4917469C6D005E5B36 /* AudioSessionMac.cpp */; };
5319
		CD54DE4B17469C6D005E5B36 /* AudioSessionMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD54DE4917469C6D005E5B36 /* AudioSessionMac.cpp */; };
5320
		CD61FE631794AADB004101EB /* WebKitMediaSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1A942DE15B5CE2200D525D1 /* WebKitMediaSource.cpp */; };
5321
		CD61FE641794AADB004101EB /* WebKitMediaSource.h in Headers */ = {isa = PBXBuildFile; fileRef = B1A942DF15B5CE2200D525D1 /* WebKitMediaSource.h */; };
5322
		CD61FE671794AADB004101EB /* MediaSourceRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1A942E115B5CE2200D525D1 /* MediaSourceRegistry.cpp */; };
5320
		CD61FE671794AADB004101EB /* MediaSourceRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1A942E115B5CE2200D525D1 /* MediaSourceRegistry.cpp */; };
5323
		CD61FE681794AADB004101EB /* MediaSourceRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = B1A942E215B5CE2200D525D1 /* MediaSourceRegistry.h */; };
5321
		CD61FE681794AADB004101EB /* MediaSourceRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = B1A942E215B5CE2200D525D1 /* MediaSourceRegistry.h */; };
5324
		CD61FE691794AADB004101EB /* WebKitSourceBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1A942E315B5CE2200D525D1 /* WebKitSourceBuffer.cpp */; };
5325
		CD61FE6A1794AADB004101EB /* WebKitSourceBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = B1A942E415B5CE2200D525D1 /* WebKitSourceBuffer.h */; };
5326
		CD61FE6B1794AADB004101EB /* WebKitSourceBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1A942E615B5CE2200D525D1 /* WebKitSourceBufferList.cpp */; };
5327
		CD61FE6C1794AADB004101EB /* WebKitSourceBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = B1A942E715B5CE2200D525D1 /* WebKitSourceBufferList.h */; };
5328
		CD61FE7E1794CB26004101EB /* JSWebKitMediaSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD61FE7C1794CB26004101EB /* JSWebKitMediaSource.cpp */; };
5329
		CD61FE7F1794CB26004101EB /* JSWebKitMediaSource.h in Headers */ = {isa = PBXBuildFile; fileRef = CD61FE7D1794CB26004101EB /* JSWebKitMediaSource.h */; };
5330
		CD61FE841794CC59004101EB /* JSWebKitSourceBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD61FE801794CC59004101EB /* JSWebKitSourceBuffer.cpp */; };
5331
		CD61FE851794CC59004101EB /* JSWebKitSourceBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = CD61FE811794CC59004101EB /* JSWebKitSourceBuffer.h */; };
5332
		CD61FE861794CC59004101EB /* JSWebKitSourceBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD61FE821794CC59004101EB /* JSWebKitSourceBufferList.cpp */; };
5333
		CD61FE871794CC59004101EB /* JSWebKitSourceBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = CD61FE831794CC59004101EB /* JSWebKitSourceBufferList.h */; };
5334
		CD641EBF1819B36000EE4C41 /* MediaTimeMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD641EBD1819B35900EE4C41 /* MediaTimeMac.cpp */; };
5322
		CD641EBF1819B36000EE4C41 /* MediaTimeMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD641EBD1819B35900EE4C41 /* MediaTimeMac.cpp */; };
5335
		CD641EC01819B36000EE4C41 /* MediaTimeMac.h in Headers */ = {isa = PBXBuildFile; fileRef = CD641EBE1819B35900EE4C41 /* MediaTimeMac.h */; };
5323
		CD641EC01819B36000EE4C41 /* MediaTimeMac.h in Headers */ = {isa = PBXBuildFile; fileRef = CD641EBE1819B35900EE4C41 /* MediaTimeMac.h */; };
5336
		CD7E05221651C28200C1201F /* WebCoreAVFResourceLoader.mm in Sources */ = {isa = PBXBuildFile; fileRef = CD7E05211651A84100C1201F /* WebCoreAVFResourceLoader.mm */; };
5324
		CD7E05221651C28200C1201F /* WebCoreAVFResourceLoader.mm in Sources */ = {isa = PBXBuildFile; fileRef = CD7E05211651A84100C1201F /* WebCoreAVFResourceLoader.mm */; };
Lines 10770-10786 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec2
10770
		B10B697E140C174000BC1C26 /* WebVTTTokenizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebVTTTokenizer.cpp; sourceTree = "<group>"; };
10758
		B10B697E140C174000BC1C26 /* WebVTTTokenizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebVTTTokenizer.cpp; sourceTree = "<group>"; };
10771
		B10B697F140C174000BC1C26 /* WebVTTTokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVTTTokenizer.h; sourceTree = "<group>"; };
10759
		B10B697F140C174000BC1C26 /* WebVTTTokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVTTTokenizer.h; sourceTree = "<group>"; };
10772
		B1827492134CA4C100B98C2D /* CallbackFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CallbackFunction.cpp; sourceTree = "<group>"; };
10760
		B1827492134CA4C100B98C2D /* CallbackFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CallbackFunction.cpp; sourceTree = "<group>"; };
10773
		B1A942DE15B5CE2200D525D1 /* WebKitMediaSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitMediaSource.cpp; sourceTree = "<group>"; };
10774
		B1A942DF15B5CE2200D525D1 /* WebKitMediaSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitMediaSource.h; sourceTree = "<group>"; };
10775
		B1A942E015B5CE2200D525D1 /* WebKitMediaSource.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitMediaSource.idl; sourceTree = "<group>"; };
10776
		B1A942E115B5CE2200D525D1 /* MediaSourceRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSourceRegistry.cpp; sourceTree = "<group>"; };
10761
		B1A942E115B5CE2200D525D1 /* MediaSourceRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSourceRegistry.cpp; sourceTree = "<group>"; };
10777
		B1A942E215B5CE2200D525D1 /* MediaSourceRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSourceRegistry.h; sourceTree = "<group>"; };
10762
		B1A942E215B5CE2200D525D1 /* MediaSourceRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSourceRegistry.h; sourceTree = "<group>"; };
10778
		B1A942E315B5CE2200D525D1 /* WebKitSourceBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitSourceBuffer.cpp; sourceTree = "<group>"; };
10779
		B1A942E415B5CE2200D525D1 /* WebKitSourceBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitSourceBuffer.h; sourceTree = "<group>"; };
10780
		B1A942E515B5CE2200D525D1 /* WebKitSourceBuffer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitSourceBuffer.idl; sourceTree = "<group>"; };
10781
		B1A942E615B5CE2200D525D1 /* WebKitSourceBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitSourceBufferList.cpp; sourceTree = "<group>"; };
10782
		B1A942E715B5CE2200D525D1 /* WebKitSourceBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitSourceBufferList.h; sourceTree = "<group>"; };
10783
		B1A942E815B5CE2200D525D1 /* WebKitSourceBufferList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitSourceBufferList.idl; sourceTree = "<group>"; };
10784
		B1AD4E7113A12A4600846B27 /* TextTrackLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextTrackLoader.cpp; path = loader/TextTrackLoader.cpp; sourceTree = SOURCE_ROOT; };
10763
		B1AD4E7113A12A4600846B27 /* TextTrackLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextTrackLoader.cpp; path = loader/TextTrackLoader.cpp; sourceTree = SOURCE_ROOT; };
10785
		B1AD4E7213A12A4600846B27 /* TextTrackLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextTrackLoader.h; path = loader/TextTrackLoader.h; sourceTree = SOURCE_ROOT; };
10764
		B1AD4E7213A12A4600846B27 /* TextTrackLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextTrackLoader.h; path = loader/TextTrackLoader.h; sourceTree = SOURCE_ROOT; };
10786
		B1D5ECB4134B58DA0087C78F /* CallbackFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallbackFunction.h; sourceTree = "<group>"; };
10765
		B1D5ECB4134B58DA0087C78F /* CallbackFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallbackFunction.h; sourceTree = "<group>"; };
Lines 12283-12294 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec3
12283
		CD5393D2175E018600C07123 /* JSMemoryInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMemoryInfo.h; sourceTree = "<group>"; };
12262
		CD5393D2175E018600C07123 /* JSMemoryInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMemoryInfo.h; sourceTree = "<group>"; };
12284
		CD54DE4517468B6F005E5B36 /* AudioSessionManagerMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioSessionManagerMac.cpp; sourceTree = "<group>"; };
12263
		CD54DE4517468B6F005E5B36 /* AudioSessionManagerMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioSessionManagerMac.cpp; sourceTree = "<group>"; };
12285
		CD54DE4917469C6D005E5B36 /* AudioSessionMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioSessionMac.cpp; sourceTree = "<group>"; };
12264
		CD54DE4917469C6D005E5B36 /* AudioSessionMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioSessionMac.cpp; sourceTree = "<group>"; };
12286
		CD61FE7C1794CB26004101EB /* JSWebKitMediaSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitMediaSource.cpp; sourceTree = "<group>"; };
12287
		CD61FE7D1794CB26004101EB /* JSWebKitMediaSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebKitMediaSource.h; sourceTree = "<group>"; };
12288
		CD61FE801794CC59004101EB /* JSWebKitSourceBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitSourceBuffer.cpp; sourceTree = "<group>"; };
12289
		CD61FE811794CC59004101EB /* JSWebKitSourceBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebKitSourceBuffer.h; sourceTree = "<group>"; };
12290
		CD61FE821794CC59004101EB /* JSWebKitSourceBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitSourceBufferList.cpp; sourceTree = "<group>"; };
12291
		CD61FE831794CC59004101EB /* JSWebKitSourceBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebKitSourceBufferList.h; sourceTree = "<group>"; };
12292
		CD641EBD1819B35900EE4C41 /* MediaTimeMac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaTimeMac.cpp; sourceTree = "<group>"; };
12265
		CD641EBD1819B35900EE4C41 /* MediaTimeMac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaTimeMac.cpp; sourceTree = "<group>"; };
12293
		CD641EBE1819B35900EE4C41 /* MediaTimeMac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaTimeMac.h; sourceTree = "<group>"; };
12266
		CD641EBE1819B35900EE4C41 /* MediaTimeMac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaTimeMac.h; sourceTree = "<group>"; };
12294
		CD7E05201651A84100C1201F /* WebCoreAVFResourceLoader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WebCoreAVFResourceLoader.h; path = objc/WebCoreAVFResourceLoader.h; sourceTree = "<group>"; };
12267
		CD7E05201651A84100C1201F /* WebCoreAVFResourceLoader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WebCoreAVFResourceLoader.h; path = objc/WebCoreAVFResourceLoader.h; sourceTree = "<group>"; };
Lines 18247-18261 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec4
18247
				CD3A495B17A9D01B00274E42 /* SourceBufferList.cpp */,
18220
				CD3A495B17A9D01B00274E42 /* SourceBufferList.cpp */,
18248
				CD3A495C17A9D01B00274E42 /* SourceBufferList.h */,
18221
				CD3A495C17A9D01B00274E42 /* SourceBufferList.h */,
18249
				CD3A495D17A9D01B00274E42 /* SourceBufferList.idl */,
18222
				CD3A495D17A9D01B00274E42 /* SourceBufferList.idl */,
18250
				B1A942DE15B5CE2200D525D1 /* WebKitMediaSource.cpp */,
18251
				B1A942DF15B5CE2200D525D1 /* WebKitMediaSource.h */,
18252
				B1A942E015B5CE2200D525D1 /* WebKitMediaSource.idl */,
18253
				B1A942E315B5CE2200D525D1 /* WebKitSourceBuffer.cpp */,
18254
				B1A942E415B5CE2200D525D1 /* WebKitSourceBuffer.h */,
18255
				B1A942E515B5CE2200D525D1 /* WebKitSourceBuffer.idl */,
18256
				B1A942E615B5CE2200D525D1 /* WebKitSourceBufferList.cpp */,
18257
				B1A942E715B5CE2200D525D1 /* WebKitSourceBufferList.h */,
18258
				B1A942E815B5CE2200D525D1 /* WebKitSourceBufferList.idl */,
18259
			);
18223
			);
18260
			path = mediasource;
18224
			path = mediasource;
18261
			sourceTree = "<group>";
18225
			sourceTree = "<group>";
Lines 20021-20032 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec5
20021
				CD9DE17717AAC75B00EA386D /* JSSourceBuffer.h */,
19985
				CD9DE17717AAC75B00EA386D /* JSSourceBuffer.h */,
20022
				CD9DE17817AAC75B00EA386D /* JSSourceBufferList.cpp */,
19986
				CD9DE17817AAC75B00EA386D /* JSSourceBufferList.cpp */,
20023
				CD9DE17917AAC75B00EA386D /* JSSourceBufferList.h */,
19987
				CD9DE17917AAC75B00EA386D /* JSSourceBufferList.h */,
20024
				CD61FE801794CC59004101EB /* JSWebKitSourceBuffer.cpp */,
20025
				CD61FE811794CC59004101EB /* JSWebKitSourceBuffer.h */,
20026
				CD61FE821794CC59004101EB /* JSWebKitSourceBufferList.cpp */,
20027
				CD61FE831794CC59004101EB /* JSWebKitSourceBufferList.h */,
20028
				CD61FE7C1794CB26004101EB /* JSWebKitMediaSource.cpp */,
20029
				CD61FE7D1794CB26004101EB /* JSWebKitMediaSource.h */,
20030
			);
19988
			);
20031
			name = MediaSource;
19989
			name = MediaSource;
20032
			sourceTree = "<group>";
19990
			sourceTree = "<group>";
Lines 22095-22101 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec6
22095
				85D389B20A991A7F00282145 /* DOMAttr.h in Headers */,
22053
				85D389B20A991A7F00282145 /* DOMAttr.h in Headers */,
22096
				85E7118D0AC5D5350053270F /* DOMAttrInternal.h in Headers */,
22054
				85E7118D0AC5D5350053270F /* DOMAttrInternal.h in Headers */,
22097
				BC946EEF107FDBAC00857193 /* DOMBeforeLoadEvent.h in Headers */,
22055
				BC946EEF107FDBAC00857193 /* DOMBeforeLoadEvent.h in Headers */,
22098
				CD61FE851794CC59004101EB /* JSWebKitSourceBuffer.h in Headers */,
22099
				2E2D99E710E2BC1C00496337 /* DOMBlob.h in Headers */,
22056
				2E2D99E710E2BC1C00496337 /* DOMBlob.h in Headers */,
22100
				2E2D99EA10E2BC3800496337 /* DOMBlobInternal.h in Headers */,
22057
				2E2D99EA10E2BC3800496337 /* DOMBlobInternal.h in Headers */,
22101
				85089CD70A98C42800A275AA /* DOMCDATASection.h in Headers */,
22058
				85089CD70A98C42800A275AA /* DOMCDATASection.h in Headers */,
Lines 22284-22290 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec7
22284
				85E711C10AC5D5350053270F /* DOMHTMLParagraphElementInternal.h in Headers */,
22241
				85E711C10AC5D5350053270F /* DOMHTMLParagraphElementInternal.h in Headers */,
22285
				85ECBEF70AA7626900544F0B /* DOMHTMLParamElement.h in Headers */,
22242
				85ECBEF70AA7626900544F0B /* DOMHTMLParamElement.h in Headers */,
22286
				85E711C20AC5D5350053270F /* DOMHTMLParamElementInternal.h in Headers */,
22243
				85E711C20AC5D5350053270F /* DOMHTMLParamElementInternal.h in Headers */,
22287
				CD61FE6A1794AADB004101EB /* WebKitSourceBuffer.h in Headers */,
22288
				85183B480AA6926100F19FA3 /* DOMHTMLPreElement.h in Headers */,
22244
				85183B480AA6926100F19FA3 /* DOMHTMLPreElement.h in Headers */,
22289
				85E711C30AC5D5350053270F /* DOMHTMLPreElementInternal.h in Headers */,
22245
				85E711C30AC5D5350053270F /* DOMHTMLPreElementInternal.h in Headers */,
22290
				A4226E951163D73A008B8397 /* DOMHTMLProgressElement.h in Headers */,
22246
				A4226E951163D73A008B8397 /* DOMHTMLProgressElement.h in Headers */,
Lines 23294-23300 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec8
23294
				4358E87D1360A2EE00E4748C /* JSSVGFEDropShadowElement.h in Headers */,
23250
				4358E87D1360A2EE00E4748C /* JSSVGFEDropShadowElement.h in Headers */,
23295
				B2FA3D790AB75A6F000E5AC4 /* JSSVGFEFloodElement.h in Headers */,
23251
				B2FA3D790AB75A6F000E5AC4 /* JSSVGFEFloodElement.h in Headers */,
23296
				B2FA3D7B0AB75A6F000E5AC4 /* JSSVGFEFuncAElement.h in Headers */,
23252
				B2FA3D7B0AB75A6F000E5AC4 /* JSSVGFEFuncAElement.h in Headers */,
23297
				CD61FE7F1794CB26004101EB /* JSWebKitMediaSource.h in Headers */,
23298
				B2FA3D7D0AB75A6F000E5AC4 /* JSSVGFEFuncBElement.h in Headers */,
23253
				B2FA3D7D0AB75A6F000E5AC4 /* JSSVGFEFuncBElement.h in Headers */,
23299
				B2FA3D7F0AB75A6F000E5AC4 /* JSSVGFEFuncGElement.h in Headers */,
23254
				B2FA3D7F0AB75A6F000E5AC4 /* JSSVGFEFuncGElement.h in Headers */,
23300
				B2FA3D810AB75A6F000E5AC4 /* JSSVGFEFuncRElement.h in Headers */,
23255
				B2FA3D810AB75A6F000E5AC4 /* JSSVGFEFuncRElement.h in Headers */,
Lines 23956-23962 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec9
23956
				514C76790CE923A1007EF3CD /* ResourceHandle.h in Headers */,
23911
				514C76790CE923A1007EF3CD /* ResourceHandle.h in Headers */,
23957
				514C767A0CE923A1007EF3CD /* ResourceHandleClient.h in Headers */,
23912
				514C767A0CE923A1007EF3CD /* ResourceHandleClient.h in Headers */,
23958
				514C767B0CE923A1007EF3CD /* ResourceHandleInternal.h in Headers */,
23913
				514C767B0CE923A1007EF3CD /* ResourceHandleInternal.h in Headers */,
23959
				CD61FE641794AADB004101EB /* WebKitMediaSource.h in Headers */,
23960
				51E4143416A6596300C633C7 /* ResourceHandleTypes.h in Headers */,
23914
				51E4143416A6596300C633C7 /* ResourceHandleTypes.h in Headers */,
23961
				656D373F0ADBA5DE00A4554D /* ResourceLoader.h in Headers */,
23915
				656D373F0ADBA5DE00A4554D /* ResourceLoader.h in Headers */,
23962
				D0A3A7311405A39800FB8ED3 /* ResourceLoaderOptions.h in Headers */,
23916
				D0A3A7311405A39800FB8ED3 /* ResourceLoaderOptions.h in Headers */,
Lines 24083-24089 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec10
24083
				41E1B1D40FF5986900576B3B /* SharedWorker.h in Headers */,
24037
				41E1B1D40FF5986900576B3B /* SharedWorker.h in Headers */,
24084
				41D168E810226E89009BC827 /* SharedWorkerGlobalScope.h in Headers */,
24038
				41D168E810226E89009BC827 /* SharedWorkerGlobalScope.h in Headers */,
24085
				41D168EA10226E89009BC827 /* SharedWorkerRepository.h in Headers */,
24039
				41D168EA10226E89009BC827 /* SharedWorkerRepository.h in Headers */,
24086
				CD61FE6C1794AADB004101EB /* WebKitSourceBufferList.h in Headers */,
24087
				E1B7839C163740A70007B692 /* SharedWorkerStrategy.h in Headers */,
24040
				E1B7839C163740A70007B692 /* SharedWorkerStrategy.h in Headers */,
24088
				41D168EE10226E89009BC827 /* SharedWorkerThread.h in Headers */,
24041
				41D168EE10226E89009BC827 /* SharedWorkerThread.h in Headers */,
24089
				B2C3DA650D006CD600EF6F26 /* SimpleFontData.h in Headers */,
24042
				B2C3DA650D006CD600EF6F26 /* SimpleFontData.h in Headers */,
Lines 24239-24245 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec11
24239
				08D46CE3127AD5FC0089694B /* SVGAnimatedEnumeration.h in Headers */,
24192
				08D46CE3127AD5FC0089694B /* SVGAnimatedEnumeration.h in Headers */,
24240
				71FB967B1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h in Headers */,
24193
				71FB967B1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h in Headers */,
24241
				0823D159127AD6AC000EBC95 /* SVGAnimatedInteger.h in Headers */,
24194
				0823D159127AD6AC000EBC95 /* SVGAnimatedInteger.h in Headers */,
24242
				CD61FE871794CC59004101EB /* JSWebKitSourceBufferList.h in Headers */,
24243
				71E623D1151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h in Headers */,
24195
				71E623D1151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h in Headers */,
24244
				CD9DE17B17AAC75B00EA386D /* JSSourceBuffer.h in Headers */,
24196
				CD9DE17B17AAC75B00EA386D /* JSSourceBuffer.h in Headers */,
24245
				089021A9126EF5DE0092D5EA /* SVGAnimatedLength.h in Headers */,
24197
				089021A9126EF5DE0092D5EA /* SVGAnimatedLength.h in Headers */,
Lines 26234-26240 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec12
26234
				52CCA9E215E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp in Sources */,
26186
				52CCA9E215E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp in Sources */,
26235
				1ACE53DF0A8D18810022947D /* JSDOMParser.cpp in Sources */,
26187
				1ACE53DF0A8D18810022947D /* JSDOMParser.cpp in Sources */,
26236
				FB91392B16AE4FC0001FE682 /* JSDOMPath.cpp in Sources */,
26188
				FB91392B16AE4FC0001FE682 /* JSDOMPath.cpp in Sources */,
26237
				CD61FE6B1794AADB004101EB /* WebKitSourceBufferList.cpp in Sources */,
26238
				A9D247FE0D757E6900FDF959 /* JSDOMPlugin.cpp in Sources */,
26189
				A9D247FE0D757E6900FDF959 /* JSDOMPlugin.cpp in Sources */,
26239
				A9D248000D757E6900FDF959 /* JSDOMPluginArray.cpp in Sources */,
26190
				A9D248000D757E6900FDF959 /* JSDOMPluginArray.cpp in Sources */,
26240
				A9C6E64C0D7465E7006442E9 /* JSDOMPluginArrayCustom.cpp in Sources */,
26191
				A9C6E64C0D7465E7006442E9 /* JSDOMPluginArrayCustom.cpp in Sources */,
Lines 26303-26309 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec13
26303
				9392262D1032107B006E7D5D /* JSHTMLCanvasElementCustom.cpp in Sources */,
26254
				9392262D1032107B006E7D5D /* JSHTMLCanvasElementCustom.cpp in Sources */,
26304
				BCCBAD400C18C14200CE890F /* JSHTMLCollection.cpp in Sources */,
26255
				BCCBAD400C18C14200CE890F /* JSHTMLCollection.cpp in Sources */,
26305
				BCCBAD3B0C18BFF800CE890F /* JSHTMLCollectionCustom.cpp in Sources */,
26256
				BCCBAD3B0C18BFF800CE890F /* JSHTMLCollectionCustom.cpp in Sources */,
26306
				CD61FE841794CC59004101EB /* JSWebKitSourceBuffer.cpp in Sources */,
26307
				F5C041E60FFCA96D00839D4A /* JSHTMLDataListElement.cpp in Sources */,
26257
				F5C041E60FFCA96D00839D4A /* JSHTMLDataListElement.cpp in Sources */,
26308
				D359D8BE129CA55C0006E5D2 /* JSHTMLDetailsElement.cpp in Sources */,
26258
				D359D8BE129CA55C0006E5D2 /* JSHTMLDetailsElement.cpp in Sources */,
26309
				1A85B1E60A1B240500D8C87C /* JSHTMLDirectoryElement.cpp in Sources */,
26259
				1A85B1E60A1B240500D8C87C /* JSHTMLDirectoryElement.cpp in Sources */,
Lines 27080-27086 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec14
27080
				439046DD12DA25E800AF80A2 /* RenderMathMLMath.cpp in Sources */,
27030
				439046DD12DA25E800AF80A2 /* RenderMathMLMath.cpp in Sources */,
27081
				439046DF12DA25E800AF80A2 /* RenderMathMLOperator.cpp in Sources */,
27031
				439046DF12DA25E800AF80A2 /* RenderMathMLOperator.cpp in Sources */,
27082
				E157A8E418173A3A009F821D /* CryptoKey.cpp in Sources */,
27032
				E157A8E418173A3A009F821D /* CryptoKey.cpp in Sources */,
27083
				CD61FE631794AADB004101EB /* WebKitMediaSource.cpp in Sources */,
27084
				439046E112DA25E800AF80A2 /* RenderMathMLRoot.cpp in Sources */,
27033
				439046E112DA25E800AF80A2 /* RenderMathMLRoot.cpp in Sources */,
27085
				439046E312DA25E800AF80A2 /* RenderMathMLRow.cpp in Sources */,
27034
				439046E312DA25E800AF80A2 /* RenderMathMLRow.cpp in Sources */,
27086
				5B7A208D2E12979B4AE19DE6 /* RenderMathMLSpace.cpp in Sources */,
27035
				5B7A208D2E12979B4AE19DE6 /* RenderMathMLSpace.cpp in Sources */,
Lines 27461-27467 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec15
27461
				B22279DC0D00BF220071B782 /* SVGFEFloodElement.cpp in Sources */,
27410
				B22279DC0D00BF220071B782 /* SVGFEFloodElement.cpp in Sources */,
27462
				B22279DF0D00BF220071B782 /* SVGFEFuncAElement.cpp in Sources */,
27411
				B22279DF0D00BF220071B782 /* SVGFEFuncAElement.cpp in Sources */,
27463
				B22279E20D00BF220071B782 /* SVGFEFuncBElement.cpp in Sources */,
27412
				B22279E20D00BF220071B782 /* SVGFEFuncBElement.cpp in Sources */,
27464
				CD61FE7E1794CB26004101EB /* JSWebKitMediaSource.cpp in Sources */,
27465
				B22279E50D00BF220071B782 /* SVGFEFuncGElement.cpp in Sources */,
27413
				B22279E50D00BF220071B782 /* SVGFEFuncGElement.cpp in Sources */,
27466
				B22279E80D00BF220071B782 /* SVGFEFuncRElement.cpp in Sources */,
27414
				B22279E80D00BF220071B782 /* SVGFEFuncRElement.cpp in Sources */,
27467
				B22279EB0D00BF220071B782 /* SVGFEGaussianBlurElement.cpp in Sources */,
27415
				B22279EB0D00BF220071B782 /* SVGFEGaussianBlurElement.cpp in Sources */,
Lines 27529-27535 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec16
27529
				8476C9EA11DF6A2900555B02 /* SVGPathBuilder.cpp in Sources */,
27477
				8476C9EA11DF6A2900555B02 /* SVGPathBuilder.cpp in Sources */,
27530
				8419D2A8120D92D000141F8F /* SVGPathByteStreamBuilder.cpp in Sources */,
27478
				8419D2A8120D92D000141F8F /* SVGPathByteStreamBuilder.cpp in Sources */,
27531
				8419D2AC120D92FC00141F8F /* SVGPathByteStreamSource.cpp in Sources */,
27479
				8419D2AC120D92FC00141F8F /* SVGPathByteStreamSource.cpp in Sources */,
27532
				CD61FE861794CC59004101EB /* JSWebKitSourceBufferList.cpp in Sources */,
27533
				B2227A580D00BF220071B782 /* SVGPathElement.cpp in Sources */,
27480
				B2227A580D00BF220071B782 /* SVGPathElement.cpp in Sources */,
27534
				8476C9EF11DF6A5800555B02 /* SVGPathParser.cpp in Sources */,
27481
				8476C9EF11DF6A5800555B02 /* SVGPathParser.cpp in Sources */,
27535
				B2227A800D00BF220071B782 /* SVGPathSegList.cpp in Sources */,
27482
				B2227A800D00BF220071B782 /* SVGPathSegList.cpp in Sources */,
Lines 27773-27779 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec17
27773
				97AABD2614FA09D5007457AE /* WebSocketHandshake.cpp in Sources */,
27720
				97AABD2614FA09D5007457AE /* WebSocketHandshake.cpp in Sources */,
27774
				0F580FA41496939100FB5BD8 /* WebTiledBackingLayer.mm in Sources */,
27721
				0F580FA41496939100FB5BD8 /* WebTiledBackingLayer.mm in Sources */,
27775
				CD82030B1395AB6A00F956C6 /* WebVideoFullscreenController.mm in Sources */,
27722
				CD82030B1395AB6A00F956C6 /* WebVideoFullscreenController.mm in Sources */,
27776
				CD61FE691794AADB004101EB /* WebKitSourceBuffer.cpp in Sources */,
27777
				CD82030D1395AB6A00F956C6 /* WebVideoFullscreenHUDWindowController.mm in Sources */,
27723
				CD82030D1395AB6A00F956C6 /* WebVideoFullscreenHUDWindowController.mm in Sources */,
27778
				F12171F516A8CED2000053CA /* WebVTTElement.cpp in Sources */,
27724
				F12171F516A8CED2000053CA /* WebVTTElement.cpp in Sources */,
27779
				5D21A80213ECE5DF00BB7064 /* WebVTTParser.cpp in Sources */,
27725
				5D21A80213ECE5DF00BB7064 /* WebVTTParser.cpp in Sources */,
- a/Source/WebCore/dom/EventTargetFactory.in -2 lines
Lines 38-46 TextTrack conditional=VIDEO_TRACK a/Source/WebCore/dom/EventTargetFactory.in_sec1
38
TextTrackCue conditional=VIDEO_TRACK
38
TextTrackCue conditional=VIDEO_TRACK
39
TextTrackList conditional=VIDEO_TRACK
39
TextTrackList conditional=VIDEO_TRACK
40
VideoTrackList conditional=VIDEO_TRACK
40
VideoTrackList conditional=VIDEO_TRACK
41
WebKitMediaSource conditional=MEDIA_SOURCE
42
WebKitNamedFlow
41
WebKitNamedFlow
43
WebKitSourceBufferList conditional=MEDIA_SOURCE
44
WebSocket conditional=WEB_SOCKETS
42
WebSocket conditional=WEB_SOCKETS
45
Worker conditional=WORKERS
43
Worker conditional=WORKERS
46
XMLHttpRequest
44
XMLHttpRequest
- a/LayoutTests/ChangeLog +9 lines
Lines 1-5 a/LayoutTests/ChangeLog_sec1
1
2013-10-29  Jer Noble  <jer.noble@apple.com>
1
2013-10-29  Jer Noble  <jer.noble@apple.com>
2
2
3
        [MSE] Remove legacy Media Source APIs (WebKitMediaSource, WebKitSourceBuffer, WebKitSourceBufferList)
4
        https://bugs.webkit.org/show_bug.cgi?id=123463
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
9
10
2013-10-29  Jer Noble  <jer.noble@apple.com>
11
3
        [MSE] [Mac] Enable MediaSource on the Mac
12
        [MSE] [Mac] Enable MediaSource on the Mac
4
        https://bugs.webkit.org/show_bug.cgi?id=122484
13
        https://bugs.webkit.org/show_bug.cgi?id=122484
5
14
- a/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt -15 lines
Lines 1958-1968 PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').hasOwnProperty(' a/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt_sec1
1958
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').hasOwnProperty('set') is false
1958
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').hasOwnProperty('set') is false
1959
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').enumerable is false
1959
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').enumerable is false
1960
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').configurable is true
1960
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').configurable is true
1961
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaSource').value is WebKitMediaSource
1962
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaSource').hasOwnProperty('get') is false
1963
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaSource').hasOwnProperty('set') is false
1964
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaSource').enumerable is false
1965
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaSource').configurable is true
1966
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').value is WebKitMutationObserver
1961
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').value is WebKitMutationObserver
1967
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').hasOwnProperty('get') is false
1962
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').hasOwnProperty('get') is false
1968
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').hasOwnProperty('set') is false
1963
PASS Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').hasOwnProperty('set') is false
Lines 1973-1988 PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').hasOwnProperty('get' a/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt_sec2
1973
PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').hasOwnProperty('set') is false
1968
PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').hasOwnProperty('set') is false
1974
PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').enumerable is false
1969
PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').enumerable is false
1975
PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').configurable is true
1970
PASS Object.getOwnPropertyDescriptor(global, 'WebKitPoint').configurable is true
1976
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBuffer').value is WebKitSourceBuffer
1977
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBuffer').hasOwnProperty('get') is false
1978
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBuffer').hasOwnProperty('set') is false
1979
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBuffer').enumerable is false
1980
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBuffer').configurable is true
1981
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBufferList').value is WebKitSourceBufferList
1982
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBufferList').hasOwnProperty('get') is false
1983
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBufferList').hasOwnProperty('set') is false
1984
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBufferList').enumerable is false
1985
PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBufferList').configurable is true
1986
PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').value is WebKitTransitionEvent
1971
PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').value is WebKitTransitionEvent
1987
PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').hasOwnProperty('get') is false
1972
PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').hasOwnProperty('get') is false
1988
PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').hasOwnProperty('set') is false
1973
PASS Object.getOwnPropertyDescriptor(global, 'WebKitTransitionEvent').hasOwnProperty('set') is false

Return to Bug 123463