OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "config.h" | |
6 #include "modules/screen_orientation/LockOrientationCallback.h" | |
7 | |
8 #include "bindings/v8/ScriptPromiseResolverWithContext.h" | |
9 #include "core/dom/DOMException.h" | |
10 #include "core/dom/ExceptionCode.h" | |
11 #include "modules/screen_orientation/ScreenOrientation.h" | |
12 | |
13 namespace WebCore { | |
14 | |
15 LockOrientationCallback::LockOrientationCallback(PassRefPtr<ScriptPromiseResolve rWithContext> resolver) | |
16 : m_resolver(resolver) | |
17 { | |
18 } | |
19 | |
20 LockOrientationCallback::~LockOrientationCallback() | |
21 { | |
22 } | |
23 | |
24 void LockOrientationCallback::onSuccess(unsigned angle, blink::WebScreenOrientat ionType type) | |
25 { | |
26 // FIXME: for the moment, we do nothing with the angle, we should use it and | |
27 // convert it to the appropriate type if the type == 'undefined' when the | |
28 // method will be implemented in ScreenOrientationController. | |
29 m_resolver->resolve(ScreenOrientation::orientationTypeToString(type)); | |
30 } | |
31 | |
32 void LockOrientationCallback::onError(ErrorType error) | |
33 { | |
34 ExceptionCode code = 0; | |
35 String msg = ""; | |
36 | |
37 switch (error) { | |
38 case NotAvailable: | |
39 code = NotSupportedError; | |
40 msg = "lockOrientation() is not available on this device."; | |
41 break; | |
42 case FullScreenRequired: | |
43 code = SecurityError; | |
44 msg = "The page needs to be fullscreen in order to call lockOrientation( )."; | |
45 break; | |
46 case Canceled: | |
47 code = AbortError; | |
48 msg = "A call to lockOrientation() or unlockOrientation() canceled this call."; | |
49 break; | |
50 default: | |
jochen (gone - plz use gerrit)
2014/05/22 08:34:35
we usually omit the default branch so the compiler
mlamouri (slow - plz ping)
2014/05/22 08:58:56
Done.
| |
51 ASSERT_NOT_REACHED(); | |
52 } | |
53 | |
54 m_resolver->reject(DOMException::create(code, msg)); | |
55 } | |
56 | |
57 } // namespace WebCore | |
OLD | NEW |