-/*
- * Copyright 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2012 Samsung Electronics. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
#ifndef DeviceOrientationController_h
#define DeviceOrientationController_h
#include "core/dom/DocumentSupplementable.h"
-#include "core/events/Event.h"
-#include "core/frame/DOMWindowLifecycleObserver.h"
-#include "core/frame/DeviceSensorEventController.h"
+#include "core/frame/DeviceSingleWindowEventController.h"
-namespace WebCore {
+namespace blink {
class DeviceOrientationData;
+class Event;
-class DeviceOrientationController FINAL : public NoBaseWillBeGarbageCollectedFinalized<DeviceOrientationController>, public DeviceSensorEventController, public DocumentSupplement, public DOMWindowLifecycleObserver {
+class DeviceOrientationController FINAL : public DeviceSingleWindowEventController, public DocumentSupplement {
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DeviceOrientationController);
public:
virtual ~DeviceOrientationController();
static const char* supplementName();
static DeviceOrientationController& from(Document&);
- void didChangeDeviceOrientation(DeviceOrientationData*);
+ // Inherited from DeviceSingleWindowEventController.
+ void didUpdateData() OVERRIDE;
+
void setOverride(DeviceOrientationData*);
void clearOverride();
- // Inherited from DOMWindowLifecycleObserver
- virtual void didAddEventListener(DOMWindow*, const AtomicString&) OVERRIDE;
- virtual void didRemoveEventListener(DOMWindow*, const AtomicString&) OVERRIDE;
- virtual void didRemoveAllEventListeners(DOMWindow*) OVERRIDE;
-
virtual void trace(Visitor*) OVERRIDE;
private:
explicit DeviceOrientationController(Document&);
+
+ // Inherited from DeviceEventControllerBase.
virtual void registerWithDispatcher() OVERRIDE;
virtual void unregisterWithDispatcher() OVERRIDE;
-
- DeviceOrientationData* lastData();
virtual bool hasLastData() OVERRIDE;
- virtual PassRefPtrWillBeRawPtr<Event> getLastEvent() OVERRIDE;
- virtual bool isNullEvent(Event*) OVERRIDE;
- virtual Document* document() OVERRIDE;
- RefPtrWillBeMember<DeviceOrientationData> m_overrideOrientationData;
- Document& m_document;
+ // Inherited from DeviceSingleWindowEventController.
+ virtual PassRefPtrWillBeRawPtr<Event> lastEvent() const OVERRIDE;
+ virtual const AtomicString& eventTypeName() const OVERRIDE;
+ virtual bool isNullEvent(Event*) const OVERRIDE;
+
+ DeviceOrientationData* lastData() const;
+
+ PersistentWillBeMember<DeviceOrientationData> m_overrideOrientationData;
};
-} // namespace WebCore
+} // namespace blink
#endif // DeviceOrientationController_h