| Differences between
and this patch
- a/Source/WebCore/CMakeLists.txt +4 lines
Lines 272-278 SET(WebCore_IDL_FILES a/Source/WebCore/CMakeLists.txt_sec1
272
    html/HTMLVideoElement.idl
272
    html/HTMLVideoElement.idl
273
    html/ImageData.idl
273
    html/ImageData.idl
274
    html/MediaError.idl
274
    html/MediaError.idl
275
    html/MutableTextTrack.idl
275
    html/TextMetrics.idl
276
    html/TextMetrics.idl
277
    html/TextTrack.idl
278
    html/TextTrackCue.idl
279
    html/TextTrackCueList.idl
276
    html/TimeRanges.idl
280
    html/TimeRanges.idl
277
    html/ValidityState.idl
281
    html/ValidityState.idl
278
    html/VoidCallback.idl
282
    html/VoidCallback.idl
- a/Source/WebCore/ChangeLog +54 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2011-09-15  Anna Cavender  <annacc@chromium.org>
2
3
        Adding all JS-facing access points for <track>.
4
        https://bugs.webkit.org/show_bug.cgi?id=62887
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Tests:
9
        MutableTextTrack.idl and addTrack() in HTMLMediaElement.idl are tested by:
10
        media/track/track-mutable.html
11
12
        TextTrack.idl is tested by:
13
        media/track/track-text-track.html
14
15
        TextTrackCue.idl is tested by:
16
        media/track/track-webvtt-tc006-cue-identifiers.html
17
        media/track/track-webvtt-tc007-cue-no-id.html
18
        media/track/track-webvtt-tc008-timings-no-hours.html
19
        media/track/track-webvtt-tc009-timings-hour.html
20
        media/track/track-webvtt-tc013-settings.html
21
        media/track/track-webvtt-tc023-markup.html
22
23
        TextTrackCueList.idl is tested by:
24
        media/track/track-text-track-cue-list.html
25
26
        * CMakeLists.txt:
27
        * CodeGenerators.pri:
28
        * DerivedSources.cpp:
29
        * DerivedSources.make:
30
        * GNUmakefile.list.am:
31
        * WebCore.gypi:
32
        * WebCore.pro:
33
        * WebCore.xcodeproj/project.pbxproj:
34
        * bindings/js/JSBindingsAllInOne.cpp:
35
        * bindings/js/JSTextTrackCueCustom.cpp: Added.
36
        (WebCore::JSTextTrackCueConstructor::constructJSTextTrackCue):
37
        * bindings/scripts/CodeGeneratorV8.pm:
38
        (IsActiveDomType):
39
        * bindings/v8/custom/V8TextTrackCueCustom.cpp: Added.
40
        (WebCore::V8TextTrackCue::constructorCallback):
41
        * html/HTMLMediaElement.cpp:
42
        (WebCore::HTMLMediaElement::addTrack):
43
        * html/HTMLMediaElement.h:
44
        * html/HTMLMediaElement.idl:
45
        * html/MutableTextTrack.idl: Added.
46
        * html/TextTrack.idl: Added.
47
        * html/TextTrackCue.idl: Added.
48
        * html/TextTrackCueList.cpp:
49
        (WebCore::TextTrackCueList::length):
50
        (WebCore::TextTrackCueList::item):
51
        * html/TextTrackCueList.h:
52
        * html/TextTrackCueList.idl: Added.
53
        * page/DOMWindow.idl:
54
1
2011-09-15  Andy Estes  <aestes@apple.com>
55
2011-09-15  Andy Estes  <aestes@apple.com>
2
56
3
        Having an empty listener to beforeload events changes the behavior of other scripts
57
        Having an empty listener to beforeload events changes the behavior of other scripts
- a/Source/WebCore/CodeGenerators.pri +8 lines
Lines 584-589 contains(DEFINES, ENABLE_SVG=1) { a/Source/WebCore/CodeGenerators.pri_sec1
584
    svg/SVGVKernElement.idl
584
    svg/SVGVKernElement.idl
585
}
585
}
586
586
587
contains(DEFINES, ENABLE_VIDEO_TRACK=1) {
588
  IDL_BINDINGS += \
589
    html/MutableTextTrack.idl \
590
    html/TextTrack.idl \
591
    html/TextTrackCue.idl \
592
    html/TextTrackCueList.idl \
593
}
594
587
v8: wrapperFactoryArg = --wrapperFactoryV8
595
v8: wrapperFactoryArg = --wrapperFactoryV8
588
else: wrapperFactoryArg = --wrapperFactory
596
else: wrapperFactoryArg = --wrapperFactory
589
597
- a/Source/WebCore/DerivedSources.cpp +3 lines
Lines 445-450 a/Source/WebCore/DerivedSources.cpp_sec1
445
#include "JSText.cpp"
445
#include "JSText.cpp"
446
#include "JSTextEvent.cpp"
446
#include "JSTextEvent.cpp"
447
#include "JSTextMetrics.cpp"
447
#include "JSTextMetrics.cpp"
448
#if ENABLE(VIDEO_TRACK)
449
#include "JSTextTrackCue.cpp"
450
#endif
448
#include "JSTimeRanges.cpp"
451
#include "JSTimeRanges.cpp"
449
#include "JSTouch.cpp"
452
#include "JSTouch.cpp"
450
#include "JSTouchEvent.cpp"
453
#include "JSTouchEvent.cpp"
- a/Source/WebCore/DerivedSources.make +4 lines
Lines 297-302 DOM_CLASSES = \ a/Source/WebCore/DerivedSources.make_sec1
297
    Metadata \
297
    Metadata \
298
    MetadataCallback \
298
    MetadataCallback \
299
    MouseEvent \
299
    MouseEvent \
300
    MutableTextTrack \
300
    MutationEvent \
301
    MutationEvent \
301
    NamedNodeMap \
302
    NamedNodeMap \
302
    Navigator \
303
    Navigator \
Lines 518-523 DOM_CLASSES = \ a/Source/WebCore/DerivedSources.make_sec2
518
    Text \
519
    Text \
519
    TextEvent \
520
    TextEvent \
520
    TextMetrics \
521
    TextMetrics \
522
    TextTrack \
523
    TextTrackCue \
524
    TextTrackCueList \
521
    TimeRanges \
525
    TimeRanges \
522
    Touch \
526
    Touch \
523
    TouchEvent \
527
    TouchEvent \
- a/Source/WebCore/GNUmakefile.list.am +3 lines
Lines 481-486 webcore_built_sources += \ a/Source/WebCore/GNUmakefile.list.am_sec1
481
	DerivedSources/WebCore/JSText.h \
481
	DerivedSources/WebCore/JSText.h \
482
	DerivedSources/WebCore/JSTextMetrics.cpp \
482
	DerivedSources/WebCore/JSTextMetrics.cpp \
483
	DerivedSources/WebCore/JSTextMetrics.h \
483
	DerivedSources/WebCore/JSTextMetrics.h \
484
	DerivedSources/WebCore/JSTextTrackCue.cpp \
485
	DerivedSources/WebCore/JSTextTrackCue.h \
484
	DerivedSources/WebCore/JSTimeRanges.cpp \
486
	DerivedSources/WebCore/JSTimeRanges.cpp \
485
	DerivedSources/WebCore/JSTimeRanges.h \
487
	DerivedSources/WebCore/JSTimeRanges.h \
486
	DerivedSources/WebCore/JSTouch.cpp \
488
	DerivedSources/WebCore/JSTouch.cpp \
Lines 805-810 webcore_sources += \ a/Source/WebCore/GNUmakefile.list.am_sec2
805
	Source/WebCore/bindings/js/JSStyleSheetCustom.cpp \
807
	Source/WebCore/bindings/js/JSStyleSheetCustom.cpp \
806
	Source/WebCore/bindings/js/JSStyleSheetListCustom.cpp \
808
	Source/WebCore/bindings/js/JSStyleSheetListCustom.cpp \
807
	Source/WebCore/bindings/js/JSTextCustom.cpp \
809
	Source/WebCore/bindings/js/JSTextCustom.cpp \
810
	Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp \
808
	Source/WebCore/bindings/js/JSTouchCustom.cpp \
811
	Source/WebCore/bindings/js/JSTouchCustom.cpp \
809
	Source/WebCore/bindings/js/JSTouchListCustom.cpp \
812
	Source/WebCore/bindings/js/JSTouchListCustom.cpp \
810
	Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp \
813
	Source/WebCore/bindings/js/JSTreeWalkerCustom.cpp \
- a/Source/WebCore/WebCore.gypi +6 lines
Lines 1320-1326 a/Source/WebCore/WebCore.gypi_sec1
1320
            'html/HTMLVideoElement.idl',
1320
            'html/HTMLVideoElement.idl',
1321
            'html/ImageData.idl',
1321
            'html/ImageData.idl',
1322
            'html/MediaError.idl',
1322
            'html/MediaError.idl',
1323
            'html/MutableTextTrack.idl',
1323
            'html/TextMetrics.idl',
1324
            'html/TextMetrics.idl',
1325
            'html/TextTrack.idl',
1326
            'html/TextTrackCue.idl',
1327
            'html/TextTrackCueList.idl',
1324
            'html/TimeRanges.idl',
1328
            'html/TimeRanges.idl',
1325
            'html/ValidityState.idl',
1329
            'html/ValidityState.idl',
1326
            'html/VoidCallback.idl',
1330
            'html/VoidCallback.idl',
Lines 1910-1915 a/Source/WebCore/WebCore.gypi_sec2
1910
            'bindings/js/JSStyleSheetCustom.cpp',
1914
            'bindings/js/JSStyleSheetCustom.cpp',
1911
            'bindings/js/JSStyleSheetListCustom.cpp',
1915
            'bindings/js/JSStyleSheetListCustom.cpp',
1912
            'bindings/js/JSTextCustom.cpp',
1916
            'bindings/js/JSTextCustom.cpp',
1917
            'bindings/js/JSTextTrackCueCustom.cpp',
1913
            'bindings/js/JSTouchCustom.cpp',
1918
            'bindings/js/JSTouchCustom.cpp',
1914
            'bindings/js/JSTouchListCustom.cpp',
1919
            'bindings/js/JSTouchListCustom.cpp',
1915
            'bindings/js/JSTreeWalkerCustom.cpp',
1920
            'bindings/js/JSTreeWalkerCustom.cpp',
Lines 2217-2222 a/Source/WebCore/WebCore.gypi_sec3
2217
            'bindings/v8/custom/V8StorageCustom.cpp',
2222
            'bindings/v8/custom/V8StorageCustom.cpp',
2218
            'bindings/v8/custom/V8StyleSheetCustom.cpp',
2223
            'bindings/v8/custom/V8StyleSheetCustom.cpp',
2219
            'bindings/v8/custom/V8StyleSheetListCustom.cpp',
2224
            'bindings/v8/custom/V8StyleSheetListCustom.cpp',
2225
            'bindings/v8/custom/V8TextTrackCueCustom.cpp',
2220
            'bindings/v8/custom/V8Uint16ArrayCustom.cpp',
2226
            'bindings/v8/custom/V8Uint16ArrayCustom.cpp',
2221
            'bindings/v8/custom/V8Uint32ArrayCustom.cpp',
2227
            'bindings/v8/custom/V8Uint32ArrayCustom.cpp',
2222
            'bindings/v8/custom/V8Uint8ArrayCustom.cpp',
2228
            'bindings/v8/custom/V8Uint8ArrayCustom.cpp',
- a/Source/WebCore/WebCore.pro +14 lines
Lines 226-231 v8 { a/Source/WebCore/WebCore.pro_sec1
226
        bindings/v8/custom/V8SQLTransactionSyncCustom.cpp \
226
        bindings/v8/custom/V8SQLTransactionSyncCustom.cpp \
227
        bindings/v8/V8WorkerContextErrorHandler.cpp \
227
        bindings/v8/V8WorkerContextErrorHandler.cpp \
228
        testing/v8/WebCoreTestSupport.cpp
228
        testing/v8/WebCoreTestSupport.cpp
229
    
230
    contains(DEFINES, ENABLE_VIDEO_TRACK=1) {
231
        SOURCES += \
232
            bindings/v8/custom/V8TextTrackCueCustom.cpp
233
    }
234
        
229
} else {
235
} else {
230
    SOURCES += \
236
    SOURCES += \
231
        bindings/ScriptControllerBase.cpp \
237
        bindings/ScriptControllerBase.cpp \
Lines 3566-3571 SOURCES += \ a/Source/WebCore/WebCore.pro_sec2
3566
    }
3572
    }
3567
}
3573
}
3568
3574
3575
contains(DEFINES, ENABLE_VIDEO_TRACK=1) {
3576
3577
    !v8 {
3578
        SOURCES += \
3579
            bindings/js/JSTextTrackCustom.cpp
3580
    }
3581
}
3582
3569
contains(DEFINES, ENABLE_WEB_SOCKETS=1) {
3583
contains(DEFINES, ENABLE_WEB_SOCKETS=1) {
3570
    HEADERS += \
3584
    HEADERS += \
3571
        websockets/CloseEvent.h \
3585
        websockets/CloseEvent.h \
- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +4 lines
Lines 4141-4146 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec1
4141
		B1E545E413462B0B0092A545 /* JSNavigatorUserMediaSuccessCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E545D613462B0B0092A545 /* JSNavigatorUserMediaSuccessCallback.h */; };
4141
		B1E545E413462B0B0092A545 /* JSNavigatorUserMediaSuccessCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E545D613462B0B0092A545 /* JSNavigatorUserMediaSuccessCallback.h */; };
4142
		B1E545E513462B0B0092A545 /* JSMediaStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1E545D713462B0B0092A545 /* JSMediaStream.cpp */; };
4142
		B1E545E513462B0B0092A545 /* JSMediaStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1E545D713462B0B0092A545 /* JSMediaStream.cpp */; };
4143
		B1E545E613462B0B0092A545 /* JSMediaStream.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E545D813462B0B0092A545 /* JSMediaStream.h */; };
4143
		B1E545E613462B0B0092A545 /* JSMediaStream.h in Headers */ = {isa = PBXBuildFile; fileRef = B1E545D813462B0B0092A545 /* JSMediaStream.h */; };
4144
		B1E662C61422CB7D003062EC /* JSTextTrackCueCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B1E662C51422CB7D003062EC /* JSTextTrackCueCustom.cpp */; };
4144
		B20111070AB7740500DB0E68 /* JSSVGAElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B20111050AB7740500DB0E68 /* JSSVGAElement.cpp */; };
4145
		B20111070AB7740500DB0E68 /* JSSVGAElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B20111050AB7740500DB0E68 /* JSSVGAElement.cpp */; };
4145
		B20111080AB7740500DB0E68 /* JSSVGAElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B20111060AB7740500DB0E68 /* JSSVGAElement.h */; };
4146
		B20111080AB7740500DB0E68 /* JSSVGAElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B20111060AB7740500DB0E68 /* JSSVGAElement.h */; };
4146
		B22279620D00BF220071B782 /* ColorDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22277CB0D00BF1F0071B782 /* ColorDistance.cpp */; };
4147
		B22279620D00BF220071B782 /* ColorDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B22277CB0D00BF1F0071B782 /* ColorDistance.cpp */; };
Lines 10704-10709 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec2
10704
		B1E545D613462B0B0092A545 /* JSNavigatorUserMediaSuccessCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNavigatorUserMediaSuccessCallback.h; sourceTree = "<group>"; };
10705
		B1E545D613462B0B0092A545 /* JSNavigatorUserMediaSuccessCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNavigatorUserMediaSuccessCallback.h; sourceTree = "<group>"; };
10705
		B1E545D713462B0B0092A545 /* JSMediaStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStream.cpp; sourceTree = "<group>"; };
10706
		B1E545D713462B0B0092A545 /* JSMediaStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStream.cpp; sourceTree = "<group>"; };
10706
		B1E545D813462B0B0092A545 /* JSMediaStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaStream.h; sourceTree = "<group>"; };
10707
		B1E545D813462B0B0092A545 /* JSMediaStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaStream.h; sourceTree = "<group>"; };
10708
		B1E662C51422CB7D003062EC /* JSTextTrackCueCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSTextTrackCueCustom.cpp; path = bindings/js/JSTextTrackCueCustom.cpp; sourceTree = "<group>"; };
10707
		B20111050AB7740500DB0E68 /* JSSVGAElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGAElement.cpp; sourceTree = "<group>"; };
10709
		B20111050AB7740500DB0E68 /* JSSVGAElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGAElement.cpp; sourceTree = "<group>"; };
10708
		B20111060AB7740500DB0E68 /* JSSVGAElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGAElement.h; sourceTree = "<group>"; };
10710
		B20111060AB7740500DB0E68 /* JSSVGAElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGAElement.h; sourceTree = "<group>"; };
10709
		B22277CB0D00BF1F0071B782 /* ColorDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ColorDistance.cpp; sourceTree = "<group>"; };
10711
		B22277CB0D00BF1F0071B782 /* ColorDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ColorDistance.cpp; sourceTree = "<group>"; };
Lines 13000-13005 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec3
13000
			children = (
13002
			children = (
13001
				65C97AF208EA908800ACD273 /* config.h */,
13003
				65C97AF208EA908800ACD273 /* config.h */,
13002
				EDEC98020AED7E170059137F /* WebCorePrefix.h */,
13004
				EDEC98020AED7E170059137F /* WebCorePrefix.h */,
13005
				B1E662C51422CB7D003062EC /* JSTextTrackCueCustom.cpp */,
13003
				9307061309E0CA8200B17FE4 /* DerivedSources.make */,
13006
				9307061309E0CA8200B17FE4 /* DerivedSources.make */,
13004
				93F19B1908245E59001E9ABC /* Info.plist */,
13007
				93F19B1908245E59001E9ABC /* Info.plist */,
13005
				29A812040FBB9B4100510293 /* accessibility */,
13008
				29A812040FBB9B4100510293 /* accessibility */,
Lines 26298-26303 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec4
26298
				E44B4BB3141650D7002B1D8B /* SelectorChecker.cpp in Sources */,
26301
				E44B4BB3141650D7002B1D8B /* SelectorChecker.cpp in Sources */,
26299
				978AD67414130A8D00C7CAE3 /* HTMLSpanElement.cpp in Sources */,
26302
				978AD67414130A8D00C7CAE3 /* HTMLSpanElement.cpp in Sources */,
26300
				9752D38D1413104B003305BD /* JSHTMLSpanElement.cpp in Sources */,
26303
				9752D38D1413104B003305BD /* JSHTMLSpanElement.cpp in Sources */,
26304
				B1E662C61422CB7D003062EC /* JSTextTrackCueCustom.cpp in Sources */,
26301
			);
26305
			);
26302
			runOnlyForDeploymentPostprocessing = 0;
26306
			runOnlyForDeploymentPostprocessing = 0;
26303
		};
26307
		};
- a/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp +1 lines
Lines 140-145 a/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp_sec1
140
#include "JSStyleSheetCustom.cpp"
140
#include "JSStyleSheetCustom.cpp"
141
#include "JSStyleSheetListCustom.cpp"
141
#include "JSStyleSheetListCustom.cpp"
142
#include "JSTextCustom.cpp"
142
#include "JSTextCustom.cpp"
143
#include "JSTextTrackCueCustom.cpp"
143
#include "JSTouchCustom.cpp"
144
#include "JSTouchCustom.cpp"
144
#include "JSTouchListCustom.cpp"
145
#include "JSTouchListCustom.cpp"
145
#include "JSTreeWalkerCustom.cpp"
146
#include "JSTreeWalkerCustom.cpp"
- a/Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp +76 lines
Line 0 a/Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp_sec1
1
/*
2
 * Copyright (C) 2011 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
33
#if ENABLE(VIDEO_TRACK)
34
35
#include "JSTextTrackCue.h"
36
37
#include <runtime/Error.h>
38
39
using namespace JSC;
40
41
namespace WebCore {
42
43
EncodedJSValue JSC_HOST_CALL JSTextTrackCueConstructor::constructJSTextTrackCue(ExecState* exec)
44
{
45
    JSTextTrackCueConstructor* jsConstructor = static_cast<JSTextTrackCueConstructor*>(exec->callee());
46
    ScriptExecutionContext* context = jsConstructor->scriptExecutionContext();
47
    if (!context)
48
        return throwVMError(exec, createReferenceError(exec, "TextTrackCue constructor associated document is unavailable"));
49
        
50
    if (exec->arugumentCount() < 4)
51
        return throwVMError(exec, createSyntaxError(exec, "Not enough arguments"));
52
53
    String id = ustringToString(exec->argument(0).toString(exec));
54
    if (exec->hadException())
55
        return throwVMError(exec, createSyntaxError(exec, "No ID"));
56
57
    double startTime = exec->argument(1).toNumber(exec);
58
    if (exec->hadException())
59
        return throwVMError(exec, createSyntaxError(exec, "No startTime"));
60
61
    double endTime = exec->argument(2).toNumber(exec);
62
    if (exec->hadException())
63
        return throwVMError(exec, createSyntaxError(exec, "No endTime"));
64
65
    String content = ustringToString(exec->argument(3).toString(exec));
66
    if (exec->hadException())
67
        return throwVMError(exec, createSyntaxError(exec, "No cue text"));
68
69
    RefPtr<TextTrackCue> cue = TextTrackCue::create(context, id, startTime, endTime, content);
70
71
    return JSValue::encode(CREATE_DOM_OBJECT_WRAPPER(exec, jsConstructor->globalObject(), TextTrackCue, cue.get()));
72
}
73
74
} // namespace WebCore
75
76
#endif
- a/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm +1 lines
Lines 2833-2838 sub IsActiveDomType a/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm_sec1
2833
    return 1 if $type eq "IDBTransaction";
2833
    return 1 if $type eq "IDBTransaction";
2834
    return 1 if $type eq "FileReader";
2834
    return 1 if $type eq "FileReader";
2835
    return 1 if $type eq "FileWriter";
2835
    return 1 if $type eq "FileWriter";
2836
    return 1 if $type eq "TextTrackCue";
2836
    return 0;
2837
    return 0;
2837
}
2838
}
2838
2839
- a/Source/WebCore/bindings/v8/custom/V8TextTrackCueCustom.cpp +119 lines
Line 0 a/Source/WebCore/bindings/v8/custom/V8TextTrackCueCustom.cpp_sec1
1
/*
2
 * Copyright (C) 2011 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
33
#if ENABLE(VIDEO_TRACK)
34
35
#include "V8TextTrackCue.h"
36
37
#include "WorkerContext.h"
38
39
namespace WebCore {
40
41
v8::Handle<v8::Value> V8TextTrackCue::constructorCallback(const v8::Arguments& args)
42
{
43
    INC_STATS("DOM.TextTrackCue.Constructor");
44
45
    // If we return an already existing TextTrackCue (e.g. from 
46
    // TextTrackCue.getCueById()), this code is called with a zero-length
47
    // argument list. The V8DOMWrapper will then set the internal pointer in
48
    // the newly created object.
49
    // Unfortunately it doesn't look like it's possible to distinguish between
50
    // this case and that where the user calls "new TextTrackCue(..)" from 
51
    // JavaScript. To guard against problems, we always create at least an
52
    // "empty" TextTrackCue, even if it is immediately overwritten by the V8DOMWrapper.
53
54
    if (!args.IsConstructCall())
55
        return throwError("DOM object custructor cannot be called as a function.");
56
57
    String id = "";
58
    double startTime = 0;
59
    double endTime = 0;
60
    String content = "";
61
    String settings = "";
62
    bool pauseOnExit = false;
63
    
64
    if (args.Length() > 0) {
65
      
66
        if (args.Length() < 4)
67
            return throwError("Not enough arguments", V8Proxy::SyntaxError);
68
    
69
        v8::TryCatch tryCatch;
70
        id = toWebCoreString(args[0]);
71
        if (tryCatch.HasCaught())
72
            return throwError(tryCatch.Exception());
73
        if (id.isEmpty())
74
            return throwError("Empty ID", V8Proxy::SyntaxError);
75
        
76
        startTime = args[1]->NumberValue();
77
        if (tryCatch.HasCaught())
78
            return throwError(tryCatch.Exception());
79
        if (!startTime)
80
            return throwError("Empty startTime", V8Proxy::SyntaxError);
81
    
82
        endTime = args[2]->NumberValue();
83
        if (tryCatch.HasCaught())
84
            return throwError(tryCatch.Exception());
85
        if (!endTime)
86
            return throwError("Empty endTime", V8Proxy::SyntaxError);
87
    
88
        content = toWebCoreString(args[3]);
89
        if (tryCatch.HasCaught())
90
            return throwError(tryCatch.Exception());
91
        if (content.isEmpty())
92
            return throwError("Empty cue text", V8Proxy::SyntaxError);
93
94
        if (args.Length() > 4)
95
            settings = toWebCoreString(args[4]);
96
        if (args.Length() > 5)
97
            pauseOnExit = args[5]->BooleanValue();
98
    }
99
    
100
    // Get the script execution context.
101
    ScriptExecutionContext* context = getScriptExecutionContext();
102
    if (!context)
103
        return throwError("TextTrackCue constructor's associated frame is not available", V8Proxy::ReferenceError);
104
105
    RefPtr<TextTrackCue> cue = TextTrackCue::create(context, id, startTime, endTime, content, settings, pauseOnExit);
106
107
    // Setup the standard wrapper object internal fields.
108
    V8DOMWrapper::setDOMWrapper(args.Holder(), &info, cue.get());
109
110
    // Add object to the wrapper map.
111
    cue->ref();
112
    V8DOMWrapper::setJSWrapperForActiveDOMObject(cue.get(), v8::Persistent<v8::Object>::New(args.Holder()));
113
114
    return args.Holder();
115
}
116
117
} // namespace WebCore
118
119
#endif
- a/Source/WebCore/html/HTMLMediaElement.cpp +9 lines
Lines 88-93 a/Source/WebCore/html/HTMLMediaElement.cpp_sec1
88
88
89
#if ENABLE(VIDEO_TRACK)
89
#if ENABLE(VIDEO_TRACK)
90
#include "HTMLTrackElement.h"
90
#include "HTMLTrackElement.h"
91
#include "MutableTextTrack.h"
91
#endif
92
#endif
92
93
93
#if ENABLE(WEB_AUDIO)
94
#if ENABLE(WEB_AUDIO)
Lines 1925-1930 float HTMLMediaElement::percentLoaded() const a/Source/WebCore/html/HTMLMediaElement.cpp_sec2
1925
    return buffered / duration;
1926
    return buffered / duration;
1926
}
1927
}
1927
1928
1929
#if ENABLE(VIDEO_TRACK)
1930
PassRefPtr<MutableTextTrack> HTMLMediaElement::addTrack(const String& kind, const String& label, const String& language)
1931
{
1932
    RefPtr<MutableTextTrack> mutableTrack = MutableTextTrack::create(kind, label, language);
1933
    return mutableTrack.release();
1934
}
1935
#endif
1936
1928
bool HTMLMediaElement::havePotentialSourceChild()
1937
bool HTMLMediaElement::havePotentialSourceChild()
1929
{
1938
{
1930
    // Stash the current <source> node and next nodes so we can restore them after checking
1939
    // Stash the current <source> node and next nodes so we can restore them after checking
- a/Source/WebCore/html/HTMLMediaElement.h +7 lines
Lines 53-58 class Uint8Array; a/Source/WebCore/html/HTMLMediaElement.h_sec1
53
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
53
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
54
class Widget;
54
class Widget;
55
#endif
55
#endif
56
#if ENABLE(VIDEO_TRACK)
57
class MutableTextTrack;
58
#endif
56
59
57
// FIXME: The inheritance from MediaPlayerClient here should be private inheritance.
60
// FIXME: The inheritance from MediaPlayerClient here should be private inheritance.
58
// But it can't be until the Chromium WebMediaPlayerClientImpl class is fixed so it
61
// But it can't be until the Chromium WebMediaPlayerClientImpl class is fixed so it
Lines 168-173 public: a/Source/WebCore/html/HTMLMediaElement.h_sec2
168
    bool canPlay() const;
171
    bool canPlay() const;
169
172
170
    float percentLoaded() const;
173
    float percentLoaded() const;
174
    
175
#if ENABLE(VIDEO_TRACK)
176
    PassRefPtr<MutableTextTrack> addTrack(const String& kind, const String& label = "", const String& language = "");
177
#endif
171
178
172
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
179
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
173
    void allocateMediaPlayerIfNecessary();
180
    void allocateMediaPlayerIfNecessary();
- a/Source/WebCore/html/HTMLMediaElement.idl +4 lines
Lines 110-114 module html { a/Source/WebCore/html/HTMLMediaElement.idl_sec1
110
    const [EnabledAtRuntime=webkitMediaSource] unsigned short SOURCE_ENDED = 2;
110
    const [EnabledAtRuntime=webkitMediaSource] unsigned short SOURCE_ENDED = 2;
111
    readonly attribute [EnabledAtRuntime=webkitMediaSource] unsigned short webkitSourceState;
111
    readonly attribute [EnabledAtRuntime=webkitMediaSource] unsigned short webkitSourceState;
112
#endif
112
#endif
113
114
#if defined(ENABLE_VIDEO_TRACK) && ENABLE_VIDEO_TRACK
115
    MutableTextTrack addTrack(in DOMString kind, in [Optional] DOMString label, in [Optional] DOMString language);
116
#endif
113
};
117
};
114
}
118
}
- a/Source/WebCore/html/MutableTextTrack.idl +39 lines
Line 0 a/Source/WebCore/html/MutableTextTrack.idl_sec1
1
/*
2
 * Copyright (C) 2011 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
module html {
32
33
    interface [
34
        Conditional=VIDEO_TRACK
35
    ] MutableTextTrack : TextTrack {
36
        void addCue(in TextTrackCue cue);
37
        void removeCue(in TextTrackCue cue);
38
    };
39
}
- a/Source/WebCore/html/TextTrack.idl +55 lines
Line 0 a/Source/WebCore/html/TextTrack.idl_sec1
1
/*
2
 * Copyright (C) 2011 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
module html {
32
33
    interface [
34
        Conditional=VIDEO_TRACK
35
    ] TextTrack {
36
        readonly attribute DOMString kind;
37
        readonly attribute DOMString label;
38
        readonly attribute DOMString language;
39
40
        const unsigned short NONE = 0;
41
        const unsigned short LOADING = 1;
42
        const unsigned short LOADED = 2;
43
        const unsigned short ERROR = 3;
44
        readonly attribute unsigned short readyState;
45
46
        const unsigned short OFF = 0;
47
        const unsigned short HIDDEN = 1;
48
        const unsigned short SHOWING = 2;
49
        attribute unsigned short mode
50
            setter raises (DOMException);
51
52
        readonly attribute TextTrackCueList cues;
53
        readonly attribute TextTrackCueList activeCues;
54
    };
55
}
- a/Source/WebCore/html/TextTrackCue.idl +58 lines
Line 0 a/Source/WebCore/html/TextTrackCue.idl_sec1
1
/*
2
 * Copyright (C) 2011 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
module html {
32
33
    interface [
34
        Conditional=VIDEO_TRACK,
35
        CanBeConstructed,
36
        CustomConstructorFunction,
37
        ConstructorParameters=6,
38
        V8CustomConstructor
39
    ] TextTrackCue {
40
        readonly attribute TextTrack track;
41
        readonly attribute DOMString id;
42
43
        readonly attribute double startTime;
44
        readonly attribute double endTime;
45
        readonly attribute boolean pauseOnExit;
46
47
        readonly attribute DOMString direction;
48
        readonly attribute boolean snapToLines;
49
        readonly attribute long linePosition;
50
        readonly attribute long textPosition;
51
        readonly attribute long size;
52
        readonly attribute DOMString alignment;
53
54
        DOMString getCueAsSource();
55
        DocumentFragment getCueAsHTML();
56
    };
57
58
}
- a/Source/WebCore/html/TextTrackCueList.cpp +12 lines
Lines 36-41 TextTrackCueList::TextTrackCueList() a/Source/WebCore/html/TextTrackCueList.cpp_sec1
36
    // FIXME(62883): Implement.
36
    // FIXME(62883): Implement.
37
}
37
}
38
38
39
unsigned long TextTrackCueList::length() const
40
{
41
    // FIXME(62883): Implement.
42
    return 0;
43
}
44
45
TextTrackCue* TextTrackCueList::item(unsigned index) const
46
{
47
    // FIXME(62883): Implement.
48
    return 0;
49
}
50
39
TextTrackCue* TextTrackCueList::getCueById(const String&) const
51
TextTrackCue* TextTrackCueList::getCueById(const String&) const
40
{
52
{
41
    // FIXME(62883): Implement.
53
    // FIXME(62883): Implement.
- a/Source/WebCore/html/TextTrackCueList.h +1 lines
Lines 43-48 public: a/Source/WebCore/html/TextTrackCueList.h_sec1
43
    }
43
    }
44
44
45
    unsigned long length() const;
45
    unsigned long length() const;
46
    TextTrackCue* item(unsigned index) const;
46
    TextTrackCue* getCueById(const String&) const;
47
    TextTrackCue* getCueById(const String&) const;
47
    PassRefPtr<TextTrackCueList> activeCues();
48
    PassRefPtr<TextTrackCueList> activeCues();
48
49
- a/Source/WebCore/html/TextTrackCueList.idl +42 lines
Line 0 a/Source/WebCore/html/TextTrackCueList.idl_sec1
1
/*
2
 * Copyright (C) 2011 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
module html {
32
33
    interface [
34
        Conditional=VIDEO_TRACK,
35
        HasIndexGetter
36
    ] TextTrackCueList {
37
        readonly attribute unsigned long length;
38
        TextTrackCue item(in unsigned long index);
39
        TextTrackCue getCueById(in DOMString id);
40
    };
41
42
}
- a/Source/WebCore/page/DOMWindow.idl +4 lines
Lines 602-607 module window { a/Source/WebCore/page/DOMWindow.idl_sec1
602
        attribute [JSCCustomGetter,EnabledAtRuntime] WebSocketConstructor WebSocket; // Usable with the new operator
602
        attribute [JSCCustomGetter,EnabledAtRuntime] WebSocketConstructor WebSocket; // Usable with the new operator
603
#endif
603
#endif
604
604
605
#if defined(ENABLE_VIDEO_TRACK) && ENABLE_VIDEO_TRACK
606
        attribute TextTrackCueConstructor TextTrackCue; // Usable with the new operator
607
#endif
608
605
        attribute DOMPluginConstructor Plugin;
609
        attribute DOMPluginConstructor Plugin;
606
        attribute DOMPluginArrayConstructor PluginArray;
610
        attribute DOMPluginArrayConstructor PluginArray;
607
611

Return to Bug 62887