Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/Document.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp |
| index 73f1c21301bedf73500055e394d7bbb91b92e568..0f7a9d9f906cc2f05d1ad3ed27d89e3b1d8e6380 100644 |
| --- a/third_party/WebKit/Source/core/dom/Document.cpp |
| +++ b/third_party/WebKit/Source/core/dom/Document.cpp |
| @@ -180,6 +180,7 @@ |
| #include "core/inspector/InspectorTraceEvents.h" |
| #include "core/inspector/InstanceCounters.h" |
| #include "core/inspector/MainThreadDebugger.h" |
| +#include "core/layout/HitTestCanvasResult.h" |
| #include "core/layout/HitTestResult.h" |
| #include "core/layout/LayoutPart.h" |
| #include "core/layout/LayoutView.h" |
| @@ -3176,10 +3177,12 @@ MouseEventWithHitTestResults Document::prepareMouseEvent(const HitTestRequest& r |
| if (isHTMLCanvasElement(result.innerNode())) { |
| PlatformMouseEvent eventWithRegion = event; |
| - std::pair<Element*, String> regionInfo = toHTMLCanvasElement(result.innerNode())->getControlAndIdIfHitRegionExists(result.pointInInnerNodeFrame()); |
| - if (regionInfo.first) |
| - result.setInnerNode(regionInfo.first); |
| - eventWithRegion.setRegion(regionInfo.second); |
| + HitTestCanvasResult* hitTestCanvasResult = toHTMLCanvasElement(result.innerNode())->getControlAndIdIfHitRegionExists(result.pointInInnerNodeFrame()); |
| + if (hitTestCanvasResult->getControl()) { |
| + result.setInnerNode(hitTestCanvasResult->getControl()); |
| + } |
| + eventWithRegion.setRegion(hitTestCanvasResult->getId()); |
| + result.setHitCanvasRegion(hitTestCanvasResult); |
|
zino
2016/08/19 18:00:07
Do we really need this? HitTestResult only has set
Hwanseung Lee
2016/08/20 06:03:54
Done.
|
| return MouseEventWithHitTestResults(eventWithRegion, result); |
| } |