summaryrefslogtreecommitdiffstats
path: root/cc/surfaces
diff options
context:
space:
mode:
authorlfg <lfg@chromium.org>2016-01-26 18:14:31 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-27 02:15:32 +0000
commite6119aac120294a5132703363801033bdad6b2f2 (patch)
treecc99994119599cd60793fe7b2bc5585c3a4e2131 /cc/surfaces
parent6819225896ab68d93c87622a7541385ba3bebe10 (diff)
downloadchromium_src-e6119aac120294a5132703363801033bdad6b2f2.zip
chromium_src-e6119aac120294a5132703363801033bdad6b2f2.tar.gz
chromium_src-e6119aac120294a5132703363801033bdad6b2f2.tar.bz2
Handle pointer-events: none in browser process hittesting.
This change adds one HittestData structure per surface and a HittestDelegate in RenderWidgetHostInputEventRouter that can reject surfaces based on the HittestData. BUG=491334 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1489913003 Cr-Commit-Position: refs/heads/master@{#371691}
Diffstat (limited to 'cc/surfaces')
-rw-r--r--cc/surfaces/surface_hittest_delegate.h4
-rw-r--r--cc/surfaces/surface_id.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/cc/surfaces/surface_hittest_delegate.h b/cc/surfaces/surface_hittest_delegate.h
index 1f0fbf9..59095f8 100644
--- a/cc/surfaces/surface_hittest_delegate.h
+++ b/cc/surfaces/surface_hittest_delegate.h
@@ -5,6 +5,10 @@
#ifndef CC_SURFACES_SURFACE_HITTEST_DELEGATE_H_
#define CC_SURFACES_SURFACE_HITTEST_DELEGATE_H_
+namespace gfx {
+class Point;
+} // namespace gfx
+
namespace cc {
class SurfaceDrawQuad;
diff --git a/cc/surfaces/surface_id.h b/cc/surfaces/surface_id.h
index 0ade6ab..f43759c 100644
--- a/cc/surfaces/surface_id.h
+++ b/cc/surfaces/surface_id.h
@@ -8,6 +8,8 @@
#include <stddef.h>
#include <stdint.h>
+#include <functional>
+
#include "base/containers/hash_tables.h"
namespace cc {
@@ -33,6 +35,12 @@ inline bool operator<(const SurfaceId& a, const SurfaceId& b) {
return a.id < b.id;
}
+struct SurfaceIdHash {
+ size_t operator()(const SurfaceId& key) const {
+ return std::hash<uint64_t>()(key.id);
+ }
+};
+
} // namespace cc
namespace BASE_HASH_NAMESPACE {