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