OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "config.h" | 31 #include "config.h" |
32 | 32 |
33 #include "modules/mediastream/RTCSessionDescription.h" | 33 #include "modules/mediastream/RTCSessionDescription.h" |
34 | 34 |
35 #include "bindings/v8/Dictionary.h" | 35 #include "bindings/v8/Dictionary.h" |
36 #include "bindings/v8/ExceptionState.h" | 36 #include "bindings/v8/ExceptionState.h" |
37 #include "core/dom/ExceptionCode.h" | 37 #include "core/dom/ExceptionCode.h" |
38 | 38 |
39 namespace WebCore { | 39 namespace WebCore { |
40 | 40 |
| 41 DEFINE_GC_INFO(RTCSessionDescription); |
| 42 |
41 static bool verifyType(const String& type) | 43 static bool verifyType(const String& type) |
42 { | 44 { |
43 return type == "offer" || type == "pranswer" || type == "answer"; | 45 return type == "offer" || type == "pranswer" || type == "answer"; |
44 } | 46 } |
45 | 47 |
46 static String constructIllegalTypeExceptionMessage(const String& type) | 48 static String constructIllegalTypeExceptionMessage(const String& type) |
47 { | 49 { |
48 return "Illegal value of attribute 'type' : " + type; | 50 return "Illegal value of attribute 'type' : " + type; |
49 } | 51 } |
50 | 52 |
51 PassRefPtr<RTCSessionDescription> RTCSessionDescription::create(const Dictionary
& descriptionInitDict, ExceptionState& exceptionState) | 53 PassRefPtrWillBeRawPtr<RTCSessionDescription> RTCSessionDescription::create(cons
t Dictionary& descriptionInitDict, ExceptionState& exceptionState) |
52 { | 54 { |
53 String type; | 55 String type; |
54 bool ok = descriptionInitDict.get("type", type); | 56 bool ok = descriptionInitDict.get("type", type); |
55 if (ok && !verifyType(type)) { | 57 if (ok && !verifyType(type)) { |
56 exceptionState.throwDOMException(TypeMismatchError, constructIllegalType
ExceptionMessage(type)); | 58 exceptionState.throwDOMException(TypeMismatchError, constructIllegalType
ExceptionMessage(type)); |
57 return 0; | 59 return 0; |
58 } | 60 } |
59 | 61 |
60 String sdp; | 62 String sdp; |
61 descriptionInitDict.get("sdp", sdp); | 63 descriptionInitDict.get("sdp", sdp); |
62 | 64 |
63 return adoptRef(new RTCSessionDescription(blink::WebRTCSessionDescription(ty
pe, sdp))); | 65 return adoptRefWillBeNoop(new RTCSessionDescription(blink::WebRTCSessionDesc
ription(type, sdp))); |
64 } | 66 } |
65 | 67 |
66 PassRefPtr<RTCSessionDescription> RTCSessionDescription::create(blink::WebRTCSes
sionDescription webSessionDescription) | 68 PassRefPtrWillBeRawPtr<RTCSessionDescription> RTCSessionDescription::create(blin
k::WebRTCSessionDescription webSessionDescription) |
67 { | 69 { |
68 return adoptRef(new RTCSessionDescription(webSessionDescription)); | 70 return adoptRefWillBeNoop(new RTCSessionDescription(webSessionDescription)); |
69 } | 71 } |
70 | 72 |
71 RTCSessionDescription::RTCSessionDescription(blink::WebRTCSessionDescription web
SessionDescription) | 73 RTCSessionDescription::RTCSessionDescription(blink::WebRTCSessionDescription web
SessionDescription) |
72 : m_webSessionDescription(webSessionDescription) | 74 : m_webSessionDescription(webSessionDescription) |
73 { | 75 { |
74 ScriptWrappable::init(this); | 76 ScriptWrappable::init(this); |
75 } | 77 } |
76 | 78 |
77 String RTCSessionDescription::type() | 79 String RTCSessionDescription::type() |
78 { | 80 { |
(...skipping 17 matching lines...) Expand all Loading... |
96 { | 98 { |
97 m_webSessionDescription.setSDP(sdp); | 99 m_webSessionDescription.setSDP(sdp); |
98 } | 100 } |
99 | 101 |
100 blink::WebRTCSessionDescription RTCSessionDescription::webSessionDescription() | 102 blink::WebRTCSessionDescription RTCSessionDescription::webSessionDescription() |
101 { | 103 { |
102 return m_webSessionDescription; | 104 return m_webSessionDescription; |
103 } | 105 } |
104 | 106 |
105 } // namespace WebCore | 107 } // namespace WebCore |
OLD | NEW |