Home | History | Annotate | Download | only in platform
      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 
     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.
     32     virtual void onError(ErrorType) { }
     33     virtual void onError(WebLockOrientationError) { }
     34 };
     35 
     36 } // namespace blink
     37 
     38 #endif // WebLockOrientationCallback_h
     39