Changeset 191949 in webkit


Ignore:
Timestamp:
Nov 3, 2015 5:43:56 AM (9 years ago)
Author:
youenn.fablet@crf.canon.fr
Message:

Move webkitGetUserMedia to JS Builtin
https://bugs.webkit.org/show_bug.cgi?id=149499

Reviewed by Darin Adler.

Source/WebCore:

Implemented webkitGetUserMedia as a JSBuiltin wrapper around navigator.mediaDevices.getUserMedia.

Removed cpp based version.

The js builting implementation checks for argument but does not raise exception when the request is not supported.
The error callback is called instead, in an asynchronous fashion.
The js builtin implementation does not check first that it is called on navigator, contrary to the cpp implementation.
This is done afterwards when calling navigator.MediaDevices.@getUserMedia.

Covered by existing and modified tests.

  • CMakeLists.txt: Adding NavigatorUserMedia.js as built-in JS file.
  • DerivedSources.make: Ditto.
  • Modules/mediastream/NavigatorUserMedia.idl: Making webkitGetUserMedia JSBuiltin
  • Modules/mediastream/NavigatorUserMedia.js:

(webkitGetUserMedia):

  • Modules/mediastream/NavigatorUserMediaErrorCallback.h: Removed.
  • Modules/mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
  • Modules/mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
  • Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
  • Modules/mediastream/UserMediaRequest.cpp:
  • Modules/mediastream/UserMediaRequest.h:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::finishCreation): Style modifications.

  • bindings/js/JSNavigatorCustom.cpp: Removed.
  • bindings/js/WebCoreJSBuiltins.cpp: Adding support for NavigatorUserMedia.js built-in JS file.
  • bindings/js/WebCoreJSBuiltins.h: Ditto.

(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::navigatorUserMediaBuiltins):

LayoutTests:

  • fast/mediastream/argument-types-expected.txt:
  • fast/mediastream/getusermedia-expected.txt:
  • fast/mediastream/getusermedia.html:
  • fast/mediastream/script-tests/argument-types.js:
  • http/tests/media/media-stream/disconnected-frame-already-expected.txt:
Location:
trunk
Files:
1 added
5 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r191940 r191949  
     12015-11-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Move webkitGetUserMedia to JS Builtin
     4        https://bugs.webkit.org/show_bug.cgi?id=149499
     5
     6        Reviewed by Darin Adler.
     7
     8        * fast/mediastream/argument-types-expected.txt:
     9        * fast/mediastream/getusermedia-expected.txt:
     10        * fast/mediastream/getusermedia.html:
     11        * fast/mediastream/script-tests/argument-types.js:
     12        * http/tests/media/media-stream/disconnected-frame-already-expected.txt:
     13
    1142015-11-02  Keith Rollin  <krollin@apple.com>
    215
  • trunk/LayoutTests/fast/mediastream/argument-types-expected.txt

    r185820 r191949  
    3131PASS navigator.webkitGetUserMedia({video: true}, Infinity) threw exception TypeError: Not enough arguments.
    3232PASS navigator.webkitGetUserMedia({video: true}, -Infinity) threw exception TypeError: Not enough arguments.
    33 PASS navigator.webkitGetUserMedia({ }, emptyFunction, emptyFunction) threw exception Error: NotSupportedError: DOM Exception 9.
     33PASS navigator.webkitGetUserMedia({ }, emptyFunction, emptyFunction) did not throw exception.
    3434PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, emptyFunction) did not throw exception.
    3535PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, undefined) threw exception TypeError: Argument 3 ('errorCallback') to Navigator.webkitGetUserMedia must be a function.
  • trunk/LayoutTests/fast/mediastream/getusermedia-expected.txt

    r185820 r191949  
    44
    55
    6 PASS navigator.webkitGetUserMedia({audio:false, video:false}, error, error); threw exception Error: NotSupportedError: DOM Exception 9.
     6PASS navigator.webkitGetUserMedia({audio:false, video:false}, error, expectedError); did not throw exception.
    77PASS navigator.webkitGetUserMedia({audio:false, video:false}, error, null); threw exception TypeError: Argument 3 ('errorCallback') to Navigator.webkitGetUserMedia must be a function.
    88PASS navigator.webkitGetUserMedia({audio:true}, gotStream1, error); did not throw exception.
     9PASS Error callback called.
    910PASS Stream generated.
    1011PASS stream.getAudioTracks().length is 1
  • trunk/LayoutTests/fast/mediastream/getusermedia.html

    r185820 r191949  
    2323                testFailed('Error callback called.');
    2424                finishJSTest();
     25            }
     26
     27            function expectedError() {
     28                testPassed('Error callback called.');
    2529            }
    2630
     
    8892            }
    8993
    90             shouldThrow("navigator.webkitGetUserMedia({audio:false, video:false}, error, error);")
     94            shouldNotThrow("navigator.webkitGetUserMedia({audio:false, video:false}, error, expectedError);")
    9195            shouldThrow("navigator.webkitGetUserMedia({audio:false, video:false}, error, null);")
    9296
  • trunk/LayoutTests/fast/mediastream/script-tests/argument-types.js

    r185820 r191949  
    5555
    5656// 3 Arguments.
    57 test('navigator.webkitGetUserMedia({ }, emptyFunction, emptyFunction)', true, notSupportedError);
     57test('navigator.webkitGetUserMedia({ }, emptyFunction, emptyFunction)', false);
    5858test('navigator.webkitGetUserMedia({video: true}, emptyFunction, emptyFunction)', false);
    5959test('navigator.webkitGetUserMedia({video: true}, emptyFunction, undefined)', true, errorCallbackError);
  • trunk/LayoutTests/http/tests/media/media-stream/disconnected-frame-already-expected.txt

    r176011 r191949  
    1 CONSOLE MESSAGE: line 24: NotSupportedError: DOM Exception 9: The implementation did not support the requested type of object or operation.
     1CONSOLE MESSAGE: line 24: TypeError: The implementation did not support the requested type of object or operation.
    22Tests that when a getUserMedia request is made after its frame has been disconnected, no callbacks are made and no crash occurs.
    33
  • trunk/Source/WebCore/CMakeLists.txt

    r191917 r191949  
    242242    Modules/mediastream/NavigatorUserMedia.idl
    243243    Modules/mediastream/NavigatorUserMediaError.idl
    244     Modules/mediastream/NavigatorUserMediaErrorCallback.idl
    245     Modules/mediastream/NavigatorUserMediaSuccessCallback.idl
    246244    Modules/mediastream/RTCConfiguration.idl
    247245    Modules/mediastream/RTCDTMFSender.idl
     
    12021200    bindings/js/JSMutationObserverCustom.cpp
    12031201    bindings/js/JSNamedNodeMapCustom.cpp
    1204     bindings/js/JSNavigatorCustom.cpp
    12051202    bindings/js/JSNodeCustom.cpp
    12061203    bindings/js/JSNodeFilterCustom.cpp
     
    35893586set(WebCore_BUILTINS_SOURCES
    35903587    ${WEBCORE_DIR}/Modules/mediastream/MediaDevices.js
     3588    ${WEBCORE_DIR}/Modules/mediastream/NavigatorUserMedia.js
    35913589    ${WEBCORE_DIR}/Modules/streams/ByteLengthQueuingStrategy.js
    35923590    ${WEBCORE_DIR}/Modules/streams/CountQueuingStrategy.js
  • trunk/Source/WebCore/ChangeLog

    r191948 r191949  
     12015-11-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Move webkitGetUserMedia to JS Builtin
     4        https://bugs.webkit.org/show_bug.cgi?id=149499
     5
     6        Reviewed by Darin Adler.
     7
     8        Implemented webkitGetUserMedia as a JSBuiltin wrapper around navigator.mediaDevices.getUserMedia.
     9
     10        Removed cpp based version.
     11
     12        The js builting implementation checks for argument but does not raise exception when the request is not supported.
     13        The error callback is called instead, in an asynchronous fashion.
     14        The js builtin implementation does not check first that it is called on navigator, contrary to the cpp implementation.
     15        This is done afterwards when calling navigator.MediaDevices.@getUserMedia.
     16
     17        Covered by existing and modified tests.
     18
     19        * CMakeLists.txt: Adding NavigatorUserMedia.js as built-in JS file.
     20        * DerivedSources.make: Ditto.
     21        * Modules/mediastream/NavigatorUserMedia.idl: Making webkitGetUserMedia JSBuiltin
     22        * Modules/mediastream/NavigatorUserMedia.js:
     23        (webkitGetUserMedia):
     24        * Modules/mediastream/NavigatorUserMediaErrorCallback.h: Removed.
     25        * Modules/mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
     26        * Modules/mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
     27        * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
     28        * Modules/mediastream/UserMediaRequest.cpp:
     29        * Modules/mediastream/UserMediaRequest.h:
     30        * WebCore.xcodeproj/project.pbxproj:
     31        * bindings/js/JSDOMWindowBase.cpp:
     32        (WebCore::JSDOMWindowBase::finishCreation): Style modifications.
     33        * bindings/js/JSNavigatorCustom.cpp: Removed.
     34        * bindings/js/WebCoreJSBuiltins.cpp: Adding support for NavigatorUserMedia.js built-in JS file.
     35        * bindings/js/WebCoreJSBuiltins.h: Ditto.
     36        (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
     37        (WebCore::JSBuiltinFunctions::navigatorUserMediaBuiltins):
     38
    1392015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
    240
  • trunk/Source/WebCore/DerivedSources.make

    r191842 r191949  
    138138    $(WebCore)/Modules/mediastream/NavigatorUserMedia.idl \
    139139    $(WebCore)/Modules/mediastream/NavigatorUserMediaError.idl \
    140     $(WebCore)/Modules/mediastream/NavigatorUserMediaErrorCallback.idl \
    141     $(WebCore)/Modules/mediastream/NavigatorUserMediaSuccessCallback.idl \
    142140    $(WebCore)/Modules/mediastream/RTCConfiguration.idl \
    143141    $(WebCore)/Modules/mediastream/RTCDTMFSender.idl \
     
    12581256WebCore_BUILTINS_SOURCES = \
    12591257    $(WebCore)/Modules/mediastream/MediaDevices.js \
     1258    $(WebCore)/Modules/mediastream/NavigatorUserMedia.js \
    12601259    $(WebCore)/Modules/streams/ByteLengthQueuingStrategy.js \
    12611260    $(WebCore)/Modules/streams/CountQueuingStrategy.js \
  • trunk/Source/WebCore/Modules/mediastream/NavigatorUserMedia.idl

    r168576 r191949  
    2121    Conditional=MEDIA_STREAM,
    2222] partial interface Navigator {
    23     [Custom, RaisesException] void webkitGetUserMedia(Dictionary options,
    24                                                  NavigatorUserMediaSuccessCallback successCallback,
    25                                                  optional NavigatorUserMediaErrorCallback errorCallback);
     23    [JSBuiltin] void webkitGetUserMedia(Dictionary object, any successCallback, any errorCallback);
    2624};
    2725
  • trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp

    r190362 r191949  
    4848#include "MediaStream.h"
    4949#include "MediaStreamPrivate.h"
    50 #include "NavigatorUserMediaErrorCallback.h"
    51 #include "NavigatorUserMediaSuccessCallback.h"
    5250#include "RealtimeMediaSourceCenter.h"
    5351#include "SecurityOrigin.h"
  • trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.h

    r190362 r191949  
    5050class MediaConstraints;
    5151class MediaStreamPrivate;
    52 class NavigatorUserMediaErrorCallback;
    53 class NavigatorUserMediaSuccessCallback;
    5452class UserMediaController;
    5553class SecurityOrigin;
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r191937 r191949  
    154154                073794E519EE2FF200E5A045 /* JSRTCConfiguration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073794E319EE2FF200E5A045 /* JSRTCConfiguration.cpp */; };
    155155                073794E619EE2FF200E5A045 /* JSRTCConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 073794E419EE2FF200E5A045 /* JSRTCConfiguration.h */; };
    156                 073794E819EE335C00E5A045 /* JSNavigatorCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073794E719EE335C00E5A045 /* JSNavigatorCustom.cpp */; };
    157156                073794EB19EE341E00E5A045 /* JSRTCIceServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073794E919EE341E00E5A045 /* JSRTCIceServer.cpp */; };
    158157                073794EC19EE341E00E5A045 /* JSRTCIceServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 073794EA19EE341E00E5A045 /* JSRTCIceServer.h */; };
     
    174173                073BE34817D17E7A002BD431 /* JSNavigatorUserMediaError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073BE34217D17E7A002BD431 /* JSNavigatorUserMediaError.cpp */; };
    175174                073BE34917D17E7A002BD431 /* JSNavigatorUserMediaError.h in Headers */ = {isa = PBXBuildFile; fileRef = 073BE34317D17E7A002BD431 /* JSNavigatorUserMediaError.h */; };
    176                 073BE34A17D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073BE34417D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.cpp */; };
    177                 073BE34B17D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 073BE34517D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.h */; };
    178                 073BE34C17D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 073BE34617D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.cpp */; };
    179                 073BE34D17D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 073BE34717D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.h */; };
    180175                073BE34E17D180B2002BD431 /* RTCSessionDescriptionDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07221BAB17CF0AD400848E51 /* RTCSessionDescriptionDescriptor.cpp */; };
    181176                073BE34F17D18183002BD431 /* RTCIceCandidateDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07221BA617CF0AD400848E51 /* RTCIceCandidateDescriptor.cpp */; };
     
    241236                078E091917D14D1C00420AA1 /* MediaStreamTrackEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B5817CEC32700848E51 /* MediaStreamTrackEvent.h */; settings = {ATTRIBUTES = (Private, ); }; };
    242237                078E091B17D14D1C00420AA1 /* NavigatorUserMediaError.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B5D17CEC32700848E51 /* NavigatorUserMediaError.h */; settings = {ATTRIBUTES = (Private, ); }; };
    243                 078E091C17D14D1C00420AA1 /* NavigatorUserMediaErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B5F17CEC32700848E51 /* NavigatorUserMediaErrorCallback.h */; settings = {ATTRIBUTES = (Private, ); }; };
    244                 078E091D17D14D1C00420AA1 /* NavigatorUserMediaSuccessCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B6117CEC32700848E51 /* NavigatorUserMediaSuccessCallback.h */; settings = {ATTRIBUTES = (Private, ); }; };
    245238                078E091E17D14D1C00420AA1 /* RTCDataChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B6417CEC32700848E51 /* RTCDataChannel.h */; settings = {ATTRIBUTES = (Private, ); }; };
    246239                078E091F17D14D1C00420AA1 /* RTCDataChannelEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B6717CEC32700848E51 /* RTCDataChannelEvent.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    73607353                07221B5D17CEC32700848E51 /* NavigatorUserMediaError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigatorUserMediaError.h; sourceTree = "<group>"; };
    73617354                07221B5E17CEC32700848E51 /* NavigatorUserMediaError.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NavigatorUserMediaError.idl; sourceTree = "<group>"; };
    7362                 07221B5F17CEC32700848E51 /* NavigatorUserMediaErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigatorUserMediaErrorCallback.h; sourceTree = "<group>"; };
    7363                 07221B6017CEC32700848E51 /* NavigatorUserMediaErrorCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NavigatorUserMediaErrorCallback.idl; sourceTree = "<group>"; };
    7364                 07221B6117CEC32700848E51 /* NavigatorUserMediaSuccessCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigatorUserMediaSuccessCallback.h; sourceTree = "<group>"; };
    7365                 07221B6217CEC32700848E51 /* NavigatorUserMediaSuccessCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NavigatorUserMediaSuccessCallback.idl; sourceTree = "<group>"; };
    73667355                07221B6317CEC32700848E51 /* RTCDataChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCDataChannel.cpp; sourceTree = "<group>"; };
    73677356                07221B6417CEC32700848E51 /* RTCDataChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCDataChannel.h; sourceTree = "<group>"; };
     
    74537442                073794E319EE2FF200E5A045 /* JSRTCConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCConfiguration.cpp; sourceTree = "<group>"; };
    74547443                073794E419EE2FF200E5A045 /* JSRTCConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCConfiguration.h; sourceTree = "<group>"; };
    7455                 073794E719EE335C00E5A045 /* JSNavigatorCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNavigatorCustom.cpp; sourceTree = "<group>"; };
    74567444                073794E919EE341E00E5A045 /* JSRTCIceServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCIceServer.cpp; sourceTree = "<group>"; };
    74577445                073794EA19EE341E00E5A045 /* JSRTCIceServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCIceServer.h; sourceTree = "<group>"; };
     
    74757463                073BE34217D17E7A002BD431 /* JSNavigatorUserMediaError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNavigatorUserMediaError.cpp; sourceTree = "<group>"; };
    74767464                073BE34317D17E7A002BD431 /* JSNavigatorUserMediaError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNavigatorUserMediaError.h; sourceTree = "<group>"; };
    7477                 073BE34417D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNavigatorUserMediaErrorCallback.cpp; sourceTree = "<group>"; };
    7478                 073BE34517D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNavigatorUserMediaErrorCallback.h; sourceTree = "<group>"; };
    7479                 073BE34617D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNavigatorUserMediaSuccessCallback.cpp; sourceTree = "<group>"; };
    7480                 073BE34717D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNavigatorUserMediaSuccessCallback.h; sourceTree = "<group>"; };
    74817465                074E82B818A69F0E007EF54C /* PlatformTimeRanges.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlatformTimeRanges.cpp; sourceTree = "<group>"; };
    74827466                074E82B918A69F0E007EF54C /* PlatformTimeRanges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformTimeRanges.h; sourceTree = "<group>"; };
     
    88668850                419BE7541BC7F3DB00E1C85B /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = "<group>"; };
    88678851                419BE7551BC7F3DB00E1C85B /* WebCoreJSBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreJSBuiltins.h; sourceTree = "<group>"; };
     8852                419BE75A1BCBD3ED00E1C85B /* NavigatorUserMedia.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = NavigatorUserMedia.js; sourceTree = "<group>"; };
    88688853                419FAFAD1ABABCD5005B828B /* ReadableStreamReader.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamReader.idl; sourceTree = "<group>"; };
    88698854                41A023ED1A39DB7900F722CF /* ReadableStream.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStream.idl; sourceTree = "<group>"; };
     
    1509215077                                5EA725CC1ACABCB500EAD17B /* NavigatorMediaDevices.idl */,
    1509315078                                07221B5C17CEC32700848E51 /* NavigatorUserMedia.idl */,
     15079                                419BE75A1BCBD3ED00E1C85B /* NavigatorUserMedia.js */,
    1509415080                                070327F717EA4AAF00CE1318 /* NavigatorUserMediaError.cpp */,
    1509515081                                07221B5D17CEC32700848E51 /* NavigatorUserMediaError.h */,
    1509615082                                07221B5E17CEC32700848E51 /* NavigatorUserMediaError.idl */,
    15097                                 07221B5F17CEC32700848E51 /* NavigatorUserMediaErrorCallback.h */,
    15098                                 07221B6017CEC32700848E51 /* NavigatorUserMediaErrorCallback.idl */,
    15099                                 07221B6117CEC32700848E51 /* NavigatorUserMediaSuccessCallback.h */,
    15100                                 07221B6217CEC32700848E51 /* NavigatorUserMediaSuccessCallback.idl */,
    1510115083                                07AB996518DA3C010018771E /* RTCConfiguration.h */,
    1510215084                                07AB996618DA3C010018771E /* RTCConfiguration.idl */,
     
    1529615278                                073BE34217D17E7A002BD431 /* JSNavigatorUserMediaError.cpp */,
    1529715279                                073BE34317D17E7A002BD431 /* JSNavigatorUserMediaError.h */,
    15298                                 073BE34417D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.cpp */,
    15299                                 073BE34517D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.h */,
    15300                                 073BE34617D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.cpp */,
    15301                                 073BE34717D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.h */,
    1530215280                                073794E319EE2FF200E5A045 /* JSRTCConfiguration.cpp */,
    1530315281                                073794E419EE2FF200E5A045 /* JSRTCConfiguration.h */,
     
    2201521993                                C6F0917E143A2BB900685849 /* JSMutationObserverCustom.cpp */,
    2201621994                                BCD9C25F0C17AA67005C90A2 /* JSNamedNodeMapCustom.cpp */,
    22017                                 073794E719EE335C00E5A045 /* JSNavigatorCustom.cpp */,
    2201821995                                BCD9C2600C17AA67005C90A2 /* JSNodeCustom.cpp */,
    2201921996                                BC9439C2116CF4940048C750 /* JSNodeCustom.h */,
     
    2613726114                                073BE34117D17E01002BD431 /* JSNavigatorUserMedia.h in Headers */,
    2613826115                                073BE34917D17E7A002BD431 /* JSNavigatorUserMediaError.h in Headers */,
    26139                                 073BE34B17D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.h in Headers */,
    26140                                 073BE34D17D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.h in Headers */,
    2614126116                                BC9439C3116CF4940048C750 /* JSNodeCustom.h in Headers */,
    2614226117                                14115B7309F84CD600CA4FC1 /* JSNodeFilter.h in Headers */,
     
    2667426649                                5EA725D61ACABD5700EAD17B /* NavigatorMediaDevices.h in Headers */,
    2667526650                                078E091B17D14D1C00420AA1 /* NavigatorUserMediaError.h in Headers */,
    26676                                 078E091C17D14D1C00420AA1 /* NavigatorUserMediaErrorCallback.h in Headers */,
    26677                                 078E091D17D14D1C00420AA1 /* NavigatorUserMediaSuccessCallback.h in Headers */,
    2667826651                                A19D93461A9FEC7200B46C24 /* NEFilterSourceSPI.h in Headers */,
    2667926652                                8A309C9F123950BE00CB9204 /* NestingLevelIncrementer.h in Headers */,
     
    2980029773                                BCD9C2630C17AA67005C90A2 /* JSNamedNodeMapCustom.cpp in Sources */,
    2980129774                                A9D247F70D757E3400FDF959 /* JSNavigator.cpp in Sources */,
    29802                                 073794E819EE335C00E5A045 /* JSNavigatorCustom.cpp in Sources */,
    2980329775                                073BE34017D17E01002BD431 /* JSNavigatorUserMedia.cpp in Sources */,
    2980429776                                073BE34817D17E7A002BD431 /* JSNavigatorUserMediaError.cpp in Sources */,
    29805                                 073BE34A17D17E7A002BD431 /* JSNavigatorUserMediaErrorCallback.cpp in Sources */,
    29806                                 073BE34C17D17E7A002BD431 /* JSNavigatorUserMediaSuccessCallback.cpp in Sources */,
    2980729777                                14DC0D3709FED073007B0235 /* JSNode.cpp in Sources */,
    2980829778                                BCD9C2640C17AA67005C90A2 /* JSNodeCustom.cpp in Sources */,
  • trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp

    r191887 r191949  
    44 *  Copyright (C) 2003-2009, 2014 Apple Inc. All rights reseved.
    55 *  Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org)
     6 *  Copyright (c) 2015 Canon Inc. All rights reserved.
    67 *
    78 *  This library is free software; you can redistribute it and/or
     
    8485    m_privateFunctions.init(*this);
    8586
     87#if ENABLE(STREAMS_API)
     88    JSVMClientData& clientData = *static_cast<JSVMClientData*>(vm.clientData);
     89#endif
     90
    8691    GlobalPropertyInfo staticGlobals[] = {
    8792        GlobalPropertyInfo(vm.propertyNames->document, jsNull(), DontDelete | ReadOnly),
    8893        GlobalPropertyInfo(vm.propertyNames->window, m_shell, DontDelete | ReadOnly),
    8994#if ENABLE(STREAMS_API)
    90         GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().streamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
    91         GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().streamClosingPrivateName(), jsNumber(2), DontDelete | ReadOnly),
    92         GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().streamErroredPrivateName(), jsNumber(3), DontDelete | ReadOnly),
    93         GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().streamReadablePrivateName(), jsNumber(4), DontDelete | ReadOnly),
    94         GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().streamWaitingPrivateName(), jsNumber(5), DontDelete | ReadOnly),
    95         GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().streamWritablePrivateName(), jsNumber(6), DontDelete | ReadOnly),
    96         GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
    97         GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
     95        GlobalPropertyInfo(clientData.builtinNames().streamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
     96        GlobalPropertyInfo(clientData.builtinNames().streamClosingPrivateName(), jsNumber(2), DontDelete | ReadOnly),
     97        GlobalPropertyInfo(clientData.builtinNames().streamErroredPrivateName(), jsNumber(3), DontDelete | ReadOnly),
     98        GlobalPropertyInfo(clientData.builtinNames().streamReadablePrivateName(), jsNumber(4), DontDelete | ReadOnly),
     99        GlobalPropertyInfo(clientData.builtinNames().streamWaitingPrivateName(), jsNumber(5), DontDelete | ReadOnly),
     100        GlobalPropertyInfo(clientData.builtinNames().streamWritablePrivateName(), jsNumber(6), DontDelete | ReadOnly),
     101        GlobalPropertyInfo(clientData.builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
     102        GlobalPropertyInfo(clientData.builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
    98103#define DECLARE_GLOBAL_STATIC(name)\
    99104        GlobalPropertyInfo(\
    100             static_cast<JSVMClientData*>(vm.clientData)->builtinFunctions().readableStreamInternalsBuiltins().name##PrivateName(), \
    101             m_privateFunctions.readableStreamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
     105            clientData.builtinFunctions().readableStreamInternalsBuiltins().name##PrivateName(), m_privateFunctions.readableStreamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
    102106        WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC)
    103107#undef DECLARE_GLOBAL_STATIC
    104108#define DECLARE_GLOBAL_STATIC(name)\
    105109        GlobalPropertyInfo(\
    106             static_cast<JSVMClientData*>(vm.clientData)->builtinFunctions().streamInternalsBuiltins().name##PrivateName(), \
    107             m_privateFunctions.streamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
     110            clientData.builtinFunctions().streamInternalsBuiltins().name##PrivateName(), m_privateFunctions.streamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
    108111        WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC)
    109112#undef DECLARE_GLOBAL_STATIC
    110113#define DECLARE_GLOBAL_STATIC(name)\
    111114        GlobalPropertyInfo(\
    112             static_cast<JSVMClientData*>(vm.clientData)->builtinFunctions().writableStreamInternalsBuiltins().name##PrivateName(), \
    113             m_privateFunctions.writableStreamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
     115            clientData.builtinFunctions().writableStreamInternalsBuiltins().name##PrivateName(), m_privateFunctions.writableStreamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
    114116        WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC)
    115117#undef DECLARE_GLOBAL_STATIC
  • trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp

    r191383 r191949  
    4242#include "WritableStreamInternalsBuiltins.cpp"
    4343#endif
     44#if ENABLE(MEDIA_STREAM)
     45#include "NavigatorUserMediaBuiltins.cpp"
     46#endif
  • trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.h

    r191842 r191949  
    3030#if ENABLE(MEDIA_STREAM)
    3131#include "MediaDevicesBuiltins.h"
     32#include "NavigatorUserMediaBuiltins.h"
    3233#endif
    3334
     
    6566#if ENABLE(MEDIA_STREAM)
    6667        , m_mediaDevicesBuiltins(&vm)
     68        , m_navigatorUserMediaBuiltins(&vm)
    6769#endif
    6870    {
     
    8688#if ENABLE(MEDIA_STREAM)
    8789    MediaDevicesBuiltinsWrapper& mediaDevicesBuiltins() { return m_mediaDevicesBuiltins; }
     90    NavigatorUserMediaBuiltinsWrapper& navigatorUserMediaBuiltins() { return m_navigatorUserMediaBuiltins;}
    8891#endif
    8992
     
    103106#if ENABLE(MEDIA_STREAM)
    104107    MediaDevicesBuiltinsWrapper m_mediaDevicesBuiltins;
     108    NavigatorUserMediaBuiltinsWrapper m_navigatorUserMediaBuiltins;
    105109#endif
    106110
Note: See TracChangeset for help on using the changeset viewer.