~ubuntu-branches/ubuntu/raring/qtwebkit-source/raring-proposed

« back to all changes in this revision

Viewing changes to Source/WebCore/page/win/EventHandlerWin.cpp

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2013-02-18 14:24:18 UTC
  • Revision ID: package-import@ubuntu.com-20130218142418-eon0jmjg3nj438uy
Tags: upstream-2.3
ImportĀ upstreamĀ versionĀ 2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
 
3
 * Copyright (C) 2007-2009 Torch Mobile, Inc.
 
4
 *
 
5
 * Redistribution and use in source and binary forms, with or without
 
6
 * modification, are permitted provided that the following conditions
 
7
 * are met:
 
8
 * 1. Redistributions of source code must retain the above copyright
 
9
 *    notice, this list of conditions and the following disclaimer.
 
10
 * 2. Redistributions in binary form must reproduce the above copyright
 
11
 *    notice, this list of conditions and the following disclaimer in the
 
12
 *    documentation and/or other materials provided with the distribution.
 
13
 *
 
14
 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
 
15
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
16
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 
17
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
 
18
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 
19
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
20
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 
21
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 
22
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
23
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 
24
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 
25
 */
 
26
 
 
27
#include "config.h"
 
28
#include "EventHandler.h"
 
29
 
 
30
#include "Cursor.h"
 
31
#include "FloatPoint.h"
 
32
#include "FocusController.h"
 
33
#include "FrameView.h"
 
34
#include "Frame.h"
 
35
#include "FrameSelection.h"
 
36
#include "HitTestRequest.h"
 
37
#include "HitTestResult.h"
 
38
#include "MouseEventWithHitTestResults.h"
 
39
#include "Page.h"
 
40
#include "PlatformKeyboardEvent.h"
 
41
#include "PlatformWheelEvent.h"
 
42
#include "Scrollbar.h"
 
43
#include "WCDataObject.h"
 
44
#include "NotImplemented.h"
 
45
 
 
46
#if OS(WINCE)
 
47
#include "Clipboard.h"
 
48
#else
 
49
#include "ClipboardWin.h"
 
50
#endif
 
51
 
 
52
namespace WebCore {
 
53
 
 
54
#if ENABLE(DRAG_SUPPORT)
 
55
const double EventHandler::TextDragDelay = 0.0;
 
56
#endif
 
57
 
 
58
bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
 
59
{
 
60
    subframe->eventHandler()->handleMousePressEvent(mev.event());
 
61
    return true;
 
62
}
 
63
 
 
64
bool EventHandler::passMouseMoveEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe, HitTestResult* hoveredNode)
 
65
{
 
66
#if ENABLE(DRAG_SUPPORT)
 
67
    if (m_mouseDownMayStartDrag && !m_mouseDownWasInSubframe)
 
68
        return false;
 
69
#endif
 
70
    subframe->eventHandler()->handleMouseMoveEvent(mev.event(), hoveredNode);
 
71
    return true;
 
72
}
 
73
 
 
74
bool EventHandler::passMouseReleaseEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
 
75
{
 
76
    subframe->eventHandler()->handleMouseReleaseEvent(mev.event());
 
77
    return true;
 
78
}
 
79
 
 
80
bool EventHandler::passWheelEventToWidget(const PlatformWheelEvent& wheelEvent, Widget* widget)
 
81
{
 
82
    if (!widget->isFrameView())
 
83
        return false;
 
84
 
 
85
    return static_cast<FrameView*>(widget)->frame()->eventHandler()->handleWheelEvent(wheelEvent);
 
86
}
 
87
 
 
88
bool EventHandler::tabsToAllFormControls(KeyboardEvent*) const
 
89
{
 
90
    return true;
 
91
}
 
92
 
 
93
bool EventHandler::eventActivatedView(const PlatformMouseEvent& event) const
 
94
{
 
95
    return event.didActivateWebView();
 
96
}
 
97
 
 
98
#if ENABLE(DRAG_SUPPORT)
 
99
PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
 
100
{
 
101
#if OS(WINCE)
 
102
    return 0;
 
103
#else
 
104
    COMPtr<WCDataObject> dataObject;
 
105
    WCDataObject::createInstance(&dataObject);
 
106
    return ClipboardWin::create(Clipboard::DragAndDrop, dataObject.get(), ClipboardWritable, m_frame);
 
107
#endif
 
108
}
 
109
#endif
 
110
 
 
111
void EventHandler::focusDocumentView()
 
112
{
 
113
    Page* page = m_frame->page();
 
114
    if (!page)
 
115
        return;
 
116
    page->focusController()->setFocusedFrame(m_frame);
 
117
}
 
118
 
 
119
bool EventHandler::passWidgetMouseDownEventToWidget(const MouseEventWithHitTestResults&)
 
120
{
 
121
    notImplemented();
 
122
    return false;
 
123
}
 
124
 
 
125
unsigned EventHandler::accessKeyModifiers()
 
126
{
 
127
    return PlatformEvent::AltKey;
 
128
}
 
129
 
 
130
}