blob: e5c45714a65474bd640baca804012adfac00654c [file] [log] [blame]
/*
* Copyright (C) 2006-2007, 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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 APPLE INC. ``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 APPLE INC. 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.
*/
#include "WebKitDLL.h"
#include <initguid.h>
#include "DOMEventsClasses.h"
#include <WebCore/COMPtr.h>
#include <WebCore/DOMWindow.h>
#include <WebCore/Event.h>
#include <WebCore/EventNames.h>
#include <WebCore/KeyboardEvent.h>
#include <WebCore/MouseEvent.h>
#include <WebCore/ScriptExecutionContext.h>
// DOMEventListener -----------------------------------------------------------
HRESULT DOMEventListener::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
{
if (!ppvObject)
return E_POINTER;
*ppvObject = nullptr;
if (IsEqualGUID(riid, IID_IDOMEventListener))
*ppvObject = static_cast<IDOMEventListener*>(this);
else
return DOMObject::QueryInterface(riid, ppvObject);
AddRef();
return S_OK;
}
HRESULT DOMEventListener::handleEvent(_In_opt_ IDOMEvent* /*evt*/)
{
return E_NOTIMPL;
}
WebEventListener::WebEventListener(IDOMEventListener* i)
: EventListener(CPPEventListenerType)
, m_iDOMEventListener(i)
{
m_iDOMEventListener->AddRef();
}
WebEventListener::~WebEventListener()
{
m_iDOMEventListener->Release();
}
bool WebEventListener::operator==(const WebCore::EventListener& other) const
{
return (other.type() == CPPEventListenerType
&& reinterpret_cast<const WebEventListener*>(&other)->m_iDOMEventListener == m_iDOMEventListener);
}
void WebEventListener::handleEvent(WebCore::ScriptExecutionContext& s, WebCore::Event& e)
{
RefPtr<WebCore::Event> ePtr(&e);
COMPtr<IDOMEvent> domEvent = DOMEvent::createInstance(WTFMove(ePtr));
m_iDOMEventListener->handleEvent(domEvent.get());
}
Ref<WebEventListener> WebEventListener::create(IDOMEventListener* d)
{
return adoptRef(*new WebEventListener(d));
}
// DOMEvent -------------------------------------------------------------------
DOMEvent::DOMEvent(RefPtr<WebCore::Event>&& e)
{
m_event = WTFMove(e);
}
DOMEvent::~DOMEvent()
{
}
IDOMEvent* DOMEvent::createInstance(RefPtr<WebCore::Event>&& e)
{
if (!e)
return nullptr;
HRESULT hr;
IDOMEvent* domEvent = nullptr;
switch (e->eventInterface()) {
case WebCore::KeyboardEventInterfaceType: {
DOMKeyboardEvent* newEvent = new DOMKeyboardEvent(WTFMove(e));
hr = newEvent->QueryInterface(IID_IDOMKeyboardEvent, (void**)&domEvent);
break;
}
case WebCore::MouseEventInterfaceType: {
DOMMouseEvent* newEvent = new DOMMouseEvent(WTFMove(e));
hr = newEvent->QueryInterface(IID_IDOMMouseEvent, (void**)&domEvent);
break;
}
case WebCore::MutationEventInterfaceType: {
DOMMutationEvent* newEvent = new DOMMutationEvent(WTFMove(e));
hr = newEvent->QueryInterface(IID_IDOMMutationEvent, (void**)&domEvent);
break;
}
case WebCore::OverflowEventInterfaceType: {
DOMOverflowEvent* newEvent = new DOMOverflowEvent(WTFMove(e));
hr = newEvent->QueryInterface(IID_IDOMOverflowEvent, (void**)&domEvent);
break;
}
case WebCore::WheelEventInterfaceType: {
DOMWheelEvent* newEvent = new DOMWheelEvent(WTFMove(e));
hr = newEvent->QueryInterface(IID_IDOMWheelEvent, (void**)&domEvent);
break;
}
default:
if (e->isUIEvent()) {
DOMUIEvent* newEvent = new DOMUIEvent(WTFMove(e));
hr = newEvent->QueryInterface(IID_IDOMUIEvent, (void**)&domEvent);
} else {
DOMEvent* newEvent = new DOMEvent(WTFMove(e));
hr = newEvent->QueryInterface(IID_IDOMEvent, (void**)&domEvent);
}
}
if (FAILED(hr))
return nullptr;
return domEvent;
}
HRESULT DOMEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
{
if (!ppvObject)
return E_POINTER;
*ppvObject = nullptr;
if (IsEqualGUID(riid, IID_DOMEvent))
*ppvObject = this;
else if (IsEqualGUID(riid, IID_IDOMEvent))
*ppvObject = static_cast<IDOMEvent*>(this);
else
return DOMObject::QueryInterface(riid, ppvObject);
AddRef();
return S_OK;
}
HRESULT DOMEvent::type(__deref_opt_out BSTR* result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMEvent::target(_COM_Outptr_opt_ IDOMEventTarget** result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMEvent::currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMEvent::eventPhase(_Out_ unsigned short* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMEvent::bubbles(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMEvent::cancelable(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMEvent::timeStamp(_Out_ DOMTimeStamp* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMEvent::stopPropagation()
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMEvent::preventDefault()
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMEvent::initEvent(_In_ BSTR /*eventTypeArg*/, BOOL /*canBubbleArg*/, BOOL /*cancelableArg*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
// DOMUIEvent -----------------------------------------------------------------
HRESULT DOMUIEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
{
if (!ppvObject)
return E_POINTER;
*ppvObject = nullptr;
if (IsEqualGUID(riid, IID_IDOMUIEvent))
*ppvObject = static_cast<IDOMUIEvent*>(this);
else
return DOMEvent::QueryInterface(riid, ppvObject);
AddRef();
return S_OK;
}
HRESULT DOMUIEvent::view(_COM_Outptr_opt_ IDOMWindow** result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMUIEvent::detail(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMUIEvent::initUIEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/, _In_opt_ IDOMWindow* /*view*/, long /*detail*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMUIEvent::keyCode(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMUIEvent::charCode(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMUIEvent::unused1(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMUIEvent::unused2(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMUIEvent::pageX(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMUIEvent::pageY(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMUIEvent::which(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
// DOMKeyboardEvent -----------------------------------------------------------
HRESULT DOMKeyboardEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
{
if (!ppvObject)
return E_POINTER;
*ppvObject = nullptr;
if (IsEqualGUID(riid, IID_IDOMKeyboardEvent))
*ppvObject = static_cast<IDOMKeyboardEvent*>(this);
else
return DOMUIEvent::QueryInterface(riid, ppvObject);
AddRef();
return S_OK;
}
HRESULT DOMKeyboardEvent::keyIdentifier(__deref_opt_out BSTR* result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMKeyboardEvent::location(_Out_ unsigned long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMKeyboardEvent::keyLocation(_Out_ unsigned long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMKeyboardEvent::ctrlKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isKeyboardEvent())
return E_FAIL;
WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
*result = keyEvent->ctrlKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMKeyboardEvent::shiftKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isKeyboardEvent())
return E_FAIL;
WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
*result = keyEvent->shiftKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMKeyboardEvent::altKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isKeyboardEvent())
return E_FAIL;
WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
*result = keyEvent->altKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMKeyboardEvent::metaKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isKeyboardEvent())
return E_FAIL;
WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
*result = keyEvent->metaKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMKeyboardEvent::altGraphKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isKeyboardEvent())
return E_FAIL;
WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
*result = keyEvent->altGraphKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMKeyboardEvent::getModifierState(_In_ BSTR /*keyIdentifierArg*/, _Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMKeyboardEvent::initKeyboardEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/,
_In_opt_ IDOMWindow* /*view*/, _In_ BSTR /*keyIdentifier*/, unsigned long /*keyLocation*/,
BOOL /*ctrlKey*/, BOOL /*altKey*/, BOOL /*shiftKey*/, BOOL /*metaKey*/, BOOL /*graphKey*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
// DOMMouseEvent --------------------------------------------------------------
HRESULT DOMMouseEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
{
if (!ppvObject)
return E_POINTER;
*ppvObject = nullptr;
if (IsEqualGUID(riid, IID_IDOMMouseEvent))
*ppvObject = static_cast<IDOMMouseEvent*>(this);
else
return DOMUIEvent::QueryInterface(riid, ppvObject);
AddRef();
return S_OK;
}
HRESULT DOMMouseEvent::screenX(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::screenY(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::clientX(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::clientY(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::ctrlKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isMouseEvent())
return E_FAIL;
WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
*result = mouseEvent->ctrlKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMMouseEvent::shiftKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isMouseEvent())
return E_FAIL;
WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
*result = mouseEvent->shiftKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMMouseEvent::altKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isMouseEvent())
return E_FAIL;
WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
*result = mouseEvent->altKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMMouseEvent::metaKey(_Out_ BOOL* result)
{
if (!result)
return E_POINTER;
*result = FALSE;
if (!m_event || !m_event->isMouseEvent())
return E_FAIL;
WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
*result = mouseEvent->metaKey() ? TRUE : FALSE;
return S_OK;
}
HRESULT DOMMouseEvent::button(_Out_ unsigned short* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::relatedTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::initMouseEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/,
_In_opt_ IDOMWindow* /*view*/, long /*detail*/, long /*screenX*/, long /*screenY*/, long /*clientX*/, long /*clientY*/,
BOOL /*ctrlKey*/, BOOL /*altKey*/, BOOL /*shiftKey*/, BOOL /*metaKey*/, unsigned short /*button*/,
_In_opt_ IDOMEventTarget* /*relatedTarget*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::offsetX(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::offsetY(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::x(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::y(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::fromElement(_COM_Outptr_opt_ IDOMNode** result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMMouseEvent::toElement(_COM_Outptr_opt_ IDOMNode** result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
// DOMMutationEvent -----------------------------------------------------------
HRESULT DOMMutationEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
{
if (!ppvObject)
return E_POINTER;
*ppvObject = nullptr;
if (IsEqualGUID(riid, IID_IDOMMutationEvent))
*ppvObject = static_cast<IDOMMutationEvent*>(this);
else
return DOMEvent::QueryInterface(riid, ppvObject);
AddRef();
return S_OK;
}
HRESULT DOMMutationEvent::relatedNode(_COM_Outptr_opt_ IDOMNode** result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMMutationEvent::prevValue(__deref_opt_out BSTR* result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMMutationEvent::newValue(__deref_opt_out BSTR* result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMMutationEvent::attrName(__deref_opt_out BSTR* result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = nullptr;
return E_NOTIMPL;
}
HRESULT DOMMutationEvent::attrChange(_Out_ unsigned short* result)
{
ASSERT_NOT_REACHED();
if (!result)
return E_POINTER;
*result = 0;
return E_NOTIMPL;
}
HRESULT DOMMutationEvent::initMutationEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/,
_In_opt_ IDOMNode* /*relatedNode*/, _In_ BSTR /*prevValue*/, _In_ BSTR /*newValue*/, _In_ BSTR /*attrName*/,
unsigned short /*attrChange*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
// DOMOverflowEvent -----------------------------------------------------------
HRESULT DOMOverflowEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
{
if (!ppvObject)
return E_POINTER;
*ppvObject = nullptr;
if (IsEqualGUID(riid, IID_IDOMOverflowEvent))
*ppvObject = static_cast<IDOMOverflowEvent*>(this);
else
return DOMEvent::QueryInterface(riid, ppvObject);
AddRef();
return S_OK;
}
HRESULT DOMOverflowEvent::orient(_Out_ unsigned short* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMOverflowEvent::horizontalOverflow(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMOverflowEvent::verticalOverflow(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
// DOMWheelEvent --------------------------------------------------------------
HRESULT DOMWheelEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
{
if (!ppvObject)
return E_POINTER;
*ppvObject = nullptr;
if (IsEqualGUID(riid, IID_IDOMWheelEvent))
*ppvObject = static_cast<IDOMWheelEvent*>(this);
else
return DOMUIEvent::QueryInterface(riid, ppvObject);
AddRef();
return S_OK;
}
HRESULT DOMWheelEvent::screenX(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::screenY(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::clientX(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::clientY(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::ctrlKey(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::shiftKey(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::altKey(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::metaKey(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::wheelDelta(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::wheelDeltaX(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::wheelDeltaY(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::offsetX(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::offsetY(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::x(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::y(_Out_ long* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::isHorizontal(_Out_ BOOL* /*result*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}
HRESULT DOMWheelEvent::initWheelEvent(long /*wheelDeltaX*/, long /*wheelDeltaY*/,
_In_opt_ IDOMWindow* /*view*/, long /*screenX*/, long /*screenY*/, long /*clientX*/, long /*clientY*/,
BOOL /*ctrlKey*/, BOOL /*altKey*/, BOOL /*shiftKey*/, BOOL /*metaKey*/)
{
ASSERT_NOT_REACHED();
return E_NOTIMPL;
}