Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / screen_orientation / LockOrientationCallback.h
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