OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2008, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2008, 2010 Apple Inc. All rights reserved. |
3 * Copyright (C) 2010 Google Inc. All rights reserved. | 3 * Copyright (C) 2010 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 } | 81 } |
82 | 82 |
83 if (!shouldRespondToMouseEvents()) { | 83 if (!shouldRespondToMouseEvents()) { |
84 if (!event->defaultHandled()) | 84 if (!event->defaultHandled()) |
85 HTMLDivElement::defaultEventHandler(event); | 85 HTMLDivElement::defaultEventHandler(event); |
86 return; | 86 return; |
87 } | 87 } |
88 | 88 |
89 MouseEvent* mouseEvent = toMouseEvent(event); | 89 MouseEvent* mouseEvent = toMouseEvent(event); |
90 IntPoint local = roundedIntPoint(box->absoluteToLocal(FloatPoint(mouseEvent-
>absoluteLocation()), UseTransforms)); | 90 IntPoint local = roundedIntPoint(box->absoluteToLocal(FloatPoint(mouseEvent-
>absoluteLocation()), UseTransforms)); |
91 if (mouseEvent->type() == EventTypeNames::mousedown && mouseEvent->button()
== LeftButton) { | 91 if (mouseEvent->type() == EventTypeNames::mousedown && mouseEvent->button()
== static_cast<short>(WebPointerProperties::Button::Left)) { |
92 if (box->pixelSnappedBorderBoxRect().contains(local)) { | 92 if (box->pixelSnappedBorderBoxRect().contains(local)) { |
93 if (m_spinButtonOwner) | 93 if (m_spinButtonOwner) |
94 m_spinButtonOwner->focusAndSelectSpinButtonOwner(); | 94 m_spinButtonOwner->focusAndSelectSpinButtonOwner(); |
95 if (layoutObject()) { | 95 if (layoutObject()) { |
96 if (m_upDownState != Indeterminate) { | 96 if (m_upDownState != Indeterminate) { |
97 // A JavaScript event handler called in doStepAction() below | 97 // A JavaScript event handler called in doStepAction() below |
98 // might change the element state and we might need to | 98 // might change the element state and we might need to |
99 // cancel the repeating timer by the state change. If we | 99 // cancel the repeating timer by the state change. If we |
100 // started the timer after doStepAction(), we would have no | 100 // started the timer after doStepAction(), we would have no |
101 // chance to cancel the timer. | 101 // chance to cancel the timer. |
102 startRepeatingTimer(); | 102 startRepeatingTimer(); |
103 doStepAction(m_upDownState == Up ? 1 : -1); | 103 doStepAction(m_upDownState == Up ? 1 : -1); |
104 } | 104 } |
105 } | 105 } |
106 event->setDefaultHandled(); | 106 event->setDefaultHandled(); |
107 } | 107 } |
108 } else if (mouseEvent->type() == EventTypeNames::mouseup && mouseEvent->butt
on() == LeftButton) { | 108 } else if (mouseEvent->type() == EventTypeNames::mouseup && mouseEvent->butt
on() == static_cast<short>(WebPointerProperties::Button::Left)) { |
109 releaseCapture(); | 109 releaseCapture(); |
110 } else if (event->type() == EventTypeNames::mousemove) { | 110 } else if (event->type() == EventTypeNames::mousemove) { |
111 if (box->pixelSnappedBorderBoxRect().contains(local)) { | 111 if (box->pixelSnappedBorderBoxRect().contains(local)) { |
112 if (!m_capturing) { | 112 if (!m_capturing) { |
113 if (LocalFrame* frame = document().frame()) { | 113 if (LocalFrame* frame = document().frame()) { |
114 frame->eventHandler().setCapturingMouseEventsNode(this); | 114 frame->eventHandler().setCapturingMouseEventsNode(this); |
115 m_capturing = true; | 115 m_capturing = true; |
116 if (Page* page = document().page()) | 116 if (Page* page = document().page()) |
117 page->chromeClient().registerPopupOpeningObserver(this); | 117 page->chromeClient().registerPopupOpeningObserver(this); |
118 } | 118 } |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 return !m_spinButtonOwner || m_spinButtonOwner->shouldSpinButtonRespondToMou
seEvents(); | 252 return !m_spinButtonOwner || m_spinButtonOwner->shouldSpinButtonRespondToMou
seEvents(); |
253 } | 253 } |
254 | 254 |
255 DEFINE_TRACE(SpinButtonElement) | 255 DEFINE_TRACE(SpinButtonElement) |
256 { | 256 { |
257 visitor->trace(m_spinButtonOwner); | 257 visitor->trace(m_spinButtonOwner); |
258 HTMLDivElement::trace(visitor); | 258 HTMLDivElement::trace(visitor); |
259 } | 259 } |
260 | 260 |
261 } // namespace blink | 261 } // namespace blink |
OLD | NEW |