Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: Source/modules/screen_orientation/LockOrientationCallback.cpp

Issue 283423005: Use Promises for screen.lockOrientation(). (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: review commenst Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 ErrorTypeNotAvailable:
39 code = NotSupportedError;
40 msg = "lockOrientation() is not available on this device.";
41 break;
42 case ErrorTypeFullScreenRequired:
43 code = SecurityError;
44 msg = "The page needs to be fullscreen in order to call lockOrientation( ).";
45 break;
46 case ErrorTypeCanceled:
47 code = AbortError;
48 msg = "A call to lockOrientation() or unlockOrientation() canceled this call.";
49 break;
50 }
51
52 m_resolver->reject(DOMException::create(code, msg));
53 }
54
55 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/screen_orientation/LockOrientationCallback.h ('k') | Source/modules/screen_orientation/ScreenOrientation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698