Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #include "base/basictypes.h"
6 #include "GetUserMediaRequest.h"
7 #include "mozilla/dom/MediaStreamBinding.h"
8 #include "mozilla/dom/GetUserMediaRequestBinding.h"
9 #include "nsIScriptGlobalObject.h"
10 #include "nsPIDOMWindow.h"
11 #include "nsCxPusher.h"
13 namespace mozilla {
14 namespace dom {
16 GetUserMediaRequest::GetUserMediaRequest(
17 nsPIDOMWindow* aInnerWindow,
18 const nsAString& aCallID,
19 const MediaStreamConstraints& aConstraints,
20 bool aIsSecure)
21 : mInnerWindowID(aInnerWindow->WindowID())
22 , mOuterWindowID(aInnerWindow->GetOuterWindow()->WindowID())
23 , mCallID(aCallID)
24 , mConstraints(new MediaStreamConstraints(aConstraints))
25 , mIsSecure(aIsSecure)
26 {
27 SetIsDOMBinding();
28 }
30 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_0(GetUserMediaRequest)
31 NS_IMPL_CYCLE_COLLECTING_ADDREF(GetUserMediaRequest)
32 NS_IMPL_CYCLE_COLLECTING_RELEASE(GetUserMediaRequest)
33 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(GetUserMediaRequest)
34 NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
35 NS_INTERFACE_MAP_ENTRY(nsISupports)
36 NS_INTERFACE_MAP_END
38 JSObject*
39 GetUserMediaRequest::WrapObject(JSContext* aCx)
40 {
41 return GetUserMediaRequestBinding::Wrap(aCx, this);
42 }
44 nsISupports* GetUserMediaRequest::GetParentObject()
45 {
46 return nullptr;
47 }
49 void GetUserMediaRequest::GetCallID(nsString& retval)
50 {
51 retval = mCallID;
52 }
54 uint64_t GetUserMediaRequest::WindowID()
55 {
56 return mOuterWindowID;
57 }
59 uint64_t GetUserMediaRequest::InnerWindowID()
60 {
61 return mInnerWindowID;
62 }
64 bool GetUserMediaRequest::IsSecure()
65 {
66 return mIsSecure;
67 }
69 void
70 GetUserMediaRequest::GetConstraints(MediaStreamConstraints &result)
71 {
72 result = *mConstraints;
73 }
75 } // namespace dom
76 } // namespace mozilla