Chromium Code Reviews| Index: third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
| diff --git a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
| index 6fa3c4bcab02e1a7227a1e76db7dd89befcd5435..740ceffcd90f20cdb1ae5831561ac22ea4570a5d 100644 |
| --- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
| +++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
| @@ -33,6 +33,8 @@ |
| #include "core/HTMLNames.h" |
| #include "core/dom/Document.h" |
| #include "core/dom/ExceptionCode.h" |
| +#include "core/events/Event.h" |
| +#include "core/events/EventDispatcher.h" |
| #include "core/fileapi/File.h" |
| #include "core/frame/ImageBitmap.h" |
| #include "core/frame/LocalFrame.h" |
| @@ -1018,4 +1020,14 @@ bool HTMLCanvasElement::isOpaque() const |
| return m_context && !m_context->hasAlpha(); |
| } |
| +bool HTMLCanvasElement::dispatchEventInternal(PassRefPtrWillBeRawPtr<Event> event) |
|
philipj_slow
2016/02/01 04:05:19
Will this happen for both UA-created and script-cr
zino
2016/02/05 06:59:48
In the new patch set, I filtered script-created ev
|
| +{ |
| + Node* target = nullptr; |
| + if (m_context && m_context->is2d() && m_context->hitRegionsCount() > 0) |
| + target = m_context->getControlAndUpdateEvent(*event); |
|
philipj_slow
2016/02/01 04:05:19
Might it be more clear to just return the target h
zino
2016/02/05 06:59:48
I agree with you but performance is also important
philipj_slow
2016/02/05 07:30:06
Ack, std::pair looks like a nice fit.
|
| + if (!target) |
| + target = this; |
|
philipj_slow
2016/02/01 04:05:19
Shouldn't this fall back to the parent class's dis
zino
2016/02/05 06:59:48
Sure!
Thank you.
Done.
|
| + return EventDispatcher::dispatchEvent(*target, event->createMediator()); |
| +} |
| + |
| } // namespace blink |