OLD | NEW |
---|---|
(Empty) | |
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. | |
4 | |
5 #include "config.h" | |
6 | |
7 #include "core/html/HTMLMenuElementEventListener.h" | |
8 | |
9 #include "core/events/RelatedEvent.h" | |
10 | |
11 namespace WebCore { | |
12 | |
13 void HTMLMenuElementEventListener::handleEvent(ExecutionContext*, Event* event) | |
esprehn
2014/06/06 22:30:42
This should be in the defaultEventHandler, we don'
pals
2014/06/10 10:42:39
Done.
| |
14 { | |
15 if (event->type() == EventTypeNames::show && toRelatedEvent(event)->isRelate dEvent()) { | |
16 Node* node = toRelatedEvent(event)->relatedTarget()->toNode(); | |
17 if (node && node->isHTMLElement()) { | |
18 const HTMLElement& element = toHTMLElement(*node); | |
19 HTMLMenuElement* menuElement = element.menuElement(); | |
20 if (menuElement) { | |
21 menuElement->ensureCustomProvider(); | |
22 event->setDefaultHandled(); | |
23 } | |
24 } | |
25 } | |
26 } | |
27 | |
28 bool HTMLMenuElementEventListener::operator==(const EventListener& listener) | |
29 { | |
30 if (const HTMLMenuElementEventListener* menuEventListener = toHTMLMenuElemen tEventListener(&listener)) | |
31 return m_menu == menuEventListener->m_menu; | |
32 return false; | |
33 } | |
34 | |
35 const HTMLMenuElementEventListener* toHTMLMenuElementEventListener(const EventLi stener* listener) | |
36 { | |
37 return listener->type() == EventListener::NativeEventListenerType | |
38 ? static_cast<const HTMLMenuElementEventListener*>(listener) | |
39 : 0; | |
40 } | |
41 | |
42 } | |
OLD | NEW |