OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "modules/presentation/PresentationError.h" | 6 #include "modules/presentation/PresentationError.h" |
7 | 7 |
8 #include "core/dom/DOMException.h" | 8 #include "core/dom/DOMException.h" |
9 #include "core/dom/ExceptionCode.h" | 9 #include "core/dom/ExceptionCode.h" |
10 #include "public/platform/modules/presentation/WebPresentationError.h" | 10 #include "public/platform/modules/presentation/WebPresentationError.h" |
11 #include "wtf/OwnPtr.h" | 11 #include "wtf/OwnPtr.h" |
12 | 12 |
13 namespace blink { | 13 namespace blink { |
14 | 14 |
15 // static | 15 // static |
16 DOMException* PresentationError::take(WebPresentationError* errorRaw) | 16 DOMException* PresentationError::take(const WebPresentationError& error) |
17 { | 17 { |
18 ASSERT(errorRaw); | |
19 OwnPtr<WebPresentationError> error = adoptPtr(errorRaw); | |
20 | |
21 ExceptionCode code = UnknownError; | 18 ExceptionCode code = UnknownError; |
22 switch (error->errorType) { | 19 switch (error.errorType) { |
23 case WebPresentationError::ErrorTypeNoAvailableScreens: | 20 case WebPresentationError::ErrorTypeNoAvailableScreens: |
24 case WebPresentationError::ErrorTypeNoPresentationFound: | 21 case WebPresentationError::ErrorTypeNoPresentationFound: |
25 code = NotFoundError; | 22 code = NotFoundError; |
26 break; | 23 break; |
27 case WebPresentationError::ErrorTypeSessionRequestCancelled: | 24 case WebPresentationError::ErrorTypeSessionRequestCancelled: |
28 code = AbortError; | 25 code = AbortError; |
29 break; | 26 break; |
| 27 case WebPresentationError::ErrorTypeAvailabilityNotSupported: |
| 28 code = NotSupportedError; |
| 29 break; |
30 case WebPresentationError::ErrorTypeUnknown: | 30 case WebPresentationError::ErrorTypeUnknown: |
31 code = UnknownError; | 31 code = UnknownError; |
32 break; | 32 break; |
33 } | 33 } |
34 | 34 |
35 return DOMException::create(code, error->message); | 35 return DOMException::create(code, error.message); |
36 } | |
37 | |
38 // static | |
39 void PresentationError::dispose(WebPresentationError* error) | |
40 { | |
41 delete error; | |
42 } | 36 } |
43 | 37 |
44 } // namespace blink | 38 } // namespace blink |
OLD | NEW |