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.
5 #ifndef ScreenOrientation_h
6 #define ScreenOrientation_h
8 #include "core/events/EventTarget.h"
9 #include "core/frame/DOMWindowProperty.h"
10 #include "platform/Supplementable.h"
11 #include "wtf/Vector.h"
12 #include "wtf/text/AtomicString.h"
13 #include "wtf/text/WTFString.h"
19 class ScreenOrientation FINAL : public Supplement<Screen>, DOMWindowProperty {
21 static ScreenOrientation* from(Screen*);
22 virtual ~ScreenOrientation();
24 DEFINE_STATIC_ATTRIBUTE_EVENT_LISTENER(orientationchange);
26 static const AtomicString& orientation(Screen*);
27 static bool lockOrientation(Screen*, const Vector<String>& orientations);
28 static bool lockOrientation(Screen*, const AtomicString& orientation);
29 static void unlockOrientation(Screen*);
32 explicit ScreenOrientation(Screen*);
33 static const char* supplementName();
34 Screen* screen() const;
37 } // namespace WebCore
39 #endif // ScreenOrientation_h