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 LockOrientationCallback_h 6 #define LockOrientationCallback_h 7 8 #include "public/platform/WebLockOrientationCallback.h" 9 #include "public/platform/WebScreenOrientationType.h" 10 #include "wtf/Noncopyable.h" 11 #include "wtf/PassRefPtr.h" 12 #include "wtf/RefPtr.h" 13 14 namespace blink { 15 16 class ScriptPromiseResolver; 17 18 // LockOrientationCallback is an implementation of WebLockOrientationCallback 19 // that will resolve the underlying promise depending on the result passed to 20 // the callback. 21 class LockOrientationCallback FINAL : public WebLockOrientationCallback { 22 WTF_MAKE_NONCOPYABLE(LockOrientationCallback); 23 public: 24 explicit LockOrientationCallback(PassRefPtr<ScriptPromiseResolver>); 25 virtual ~LockOrientationCallback(); 26 27 virtual void onSuccess() OVERRIDE; 28 virtual void onError(WebLockOrientationError) OVERRIDE; 29 30 private: 31 RefPtr<ScriptPromiseResolver> m_resolver; 32 }; 33 34 } // namespace blink 35 36 #endif // LockOrientationCallback_h 37