• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef WebLockOrientationCallback_h
6 #define WebLockOrientationCallback_h
7 
8 #include "public/platform/WebLockOrientationError.h"
9 #include "public/platform/WebScreenOrientationType.h"
10 
11 namespace blink {
12 
13 // WebScreenOrientationType is an interface to be used by the embedder in order
14 // to inform Blink when a screen lock operation has succeeded or failed.
15 // A success notification comes with the new orientation angle and orientation
16 // type and a failure notification comes with an information about the type of
17 // failure.
18 class WebLockOrientationCallback {
19 public:
20     enum ErrorType {
21         ErrorTypeNotAvailable, // If locking isn't available on the platform.
22         ErrorTypeFullScreenRequired, // If fullscreen is required to lock.
23         ErrorTypeCanceled, // If another lock/unlock got called before that one ended.
24     };
25 
~WebLockOrientationCallback()26     virtual ~WebLockOrientationCallback() { }
27 
28     virtual void onSuccess(unsigned angle, WebScreenOrientationType) = 0;
29 
30     // FIXME: those methods are defined and not virtual pure to not break the
31     // embedder during the transition period.
onError(ErrorType)32     virtual void onError(ErrorType) { }
onError(WebLockOrientationError)33     virtual void onError(WebLockOrientationError) { }
34 };
35 
36 } // namespace blink
37 
38 #endif // WebLockOrientationCallback_h
39