| Index: content/browser/renderer_host/render_widget_host_input_event_router.h
|
| diff --git a/content/browser/renderer_host/render_widget_host_input_event_router.h b/content/browser/renderer_host/render_widget_host_input_event_router.h
|
| index 03902f5b3d1939568d3f5992245d5bf7c02a6e76..ec45f1543c9be9d5d9d044c91c19b1c24a7326ff 100644
|
| --- a/content/browser/renderer_host/render_widget_host_input_event_router.h
|
| +++ b/content/browser/renderer_host/render_widget_host_input_event_router.h
|
| @@ -6,12 +6,17 @@
|
| #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_INPUT_EVENT_ROUTER_H_
|
|
|
| #include <stdint.h>
|
| +#include <unordered_map>
|
|
|
| #include "base/containers/hash_tables.h"
|
| #include "base/macros.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "cc/surfaces/surface_hittest_delegate.h"
|
| +#include "cc/surfaces/surface_id.h"
|
| #include "content/common/content_export.h"
|
|
|
| +struct FrameHostMsg_HittestData_Params;
|
| +
|
| namespace blink {
|
| class WebMouseEvent;
|
| class WebMouseWheelEvent;
|
| @@ -56,7 +61,25 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter {
|
| return owner_map_.find(id) != owner_map_.end();
|
| }
|
|
|
| + void OnHittestData(const FrameHostMsg_HittestData_Params& params);
|
| +
|
| private:
|
| + struct HittestData {
|
| + bool ignored_for_hittest;
|
| + };
|
| +
|
| + class HittestDelegate : public cc::SurfaceHittestDelegate {
|
| + public:
|
| + HittestDelegate(
|
| + const std::unordered_map<cc::SurfaceId, HittestData, cc::SurfaceIdHash>&
|
| + hittest_data);
|
| + bool RejectHitTarget(const cc::SurfaceDrawQuad* surface_quad,
|
| + const gfx::Point& point_in_quad_space) override;
|
| +
|
| + const std::unordered_map<cc::SurfaceId, HittestData, cc::SurfaceIdHash>&
|
| + hittest_data_;
|
| + };
|
| +
|
| using WeakTarget = base::WeakPtr<RenderWidgetHostViewBase>;
|
| using SurfaceIdNamespaceOwnerMap =
|
| base::hash_map<uint32_t, base::WeakPtr<RenderWidgetHostViewBase>>;
|
| @@ -68,6 +91,8 @@ class CONTENT_EXPORT RenderWidgetHostInputEventRouter {
|
| SurfaceIdNamespaceOwnerMap owner_map_;
|
| WeakTarget current_touch_target_;
|
| int active_touches_;
|
| + std::unordered_map<cc::SurfaceId, HittestData, cc::SurfaceIdHash>
|
| + hittest_data_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostInputEventRouter);
|
| };
|
|
|