diff --git a/include/input/InputWindow.h b/include/input/InputWindow.h
index 1a46825..df401f0 100644
--- a/include/input/InputWindow.h
+++ b/include/input/InputWindow.h
@@ -116,17 +116,36 @@
         INPUT_FEATURE_NO_INPUT_CHANNEL = 0x00000002,
         INPUT_FEATURE_DISABLE_USER_ACTIVITY = 0x00000004,
     };
-
+    
+    /* These values are filled in by the WM and passed through SurfaceFlinger
+     * unless specified otherwise.
+     */
     sp<IBinder> token;
     std::string name;
     int32_t layoutParamsFlags;
     int32_t layoutParamsType;
     nsecs_t dispatchingTimeout;
+
+    /* These values are filled in by SurfaceFlinger. */
     int32_t frameLeft;
     int32_t frameTop;
     int32_t frameRight;
     int32_t frameBottom;
+
+    /*
+     * SurfaceFlinger consumes this value to shrink the computed frame. This is
+     * different from shrinking the touchable region in that it DOES shift the coordinate
+     * space where-as the touchable region does not and is more like "cropping". This
+     * is used for window shadows.
+     */
+    int32_t surfaceInset = 0;
+
     float scaleFactor;
+
+    /*
+     * This is filled in by the WM relative to the frame and then translated
+     * to absolute coordinates by SurfaceFlinger once the frame is computed.
+     */
     Region touchableRegion;
     bool visible;
     bool canReceiveKeys;
diff --git a/libs/input/InputWindow.cpp b/libs/input/InputWindow.cpp
index b1d9d6a..e6bb255 100644
--- a/libs/input/InputWindow.cpp
+++ b/libs/input/InputWindow.cpp
@@ -81,6 +81,7 @@
     output.writeInt32(frameTop);
     output.writeInt32(frameRight);
     output.writeInt32(frameBottom);
+    output.writeInt32(surfaceInset);
     output.writeFloat(scaleFactor);
     output.writeBool(visible);
     output.writeBool(canReceiveKeys);
@@ -119,6 +120,7 @@
     ret.frameTop = from.readInt32();
     ret.frameRight = from.readInt32();
     ret.frameBottom = from.readInt32();
+    ret.surfaceInset = from.readInt32();
     ret.scaleFactor = from.readFloat();
     ret.visible = from.readBool();
     ret.canReceiveKeys = from.readBool();
diff --git a/libs/input/tests/InputWindow_test.cpp b/libs/input/tests/InputWindow_test.cpp
index ea98f8a..cc6962f 100644
--- a/libs/input/tests/InputWindow_test.cpp
+++ b/libs/input/tests/InputWindow_test.cpp
@@ -47,6 +47,7 @@
     i.frameTop = 34;
     i.frameRight = 16;
     i.frameBottom = 19;
+    i.surfaceInset = 17;
     i.scaleFactor = 0.3;
     i.visible = false;
     i.canReceiveKeys = false;
@@ -73,6 +74,7 @@
     ASSERT_EQ(i.frameTop, i2.frameTop);
     ASSERT_EQ(i.frameRight, i2.frameRight);
     ASSERT_EQ(i.frameBottom, i2.frameBottom);
+    ASSERT_EQ(i.surfaceInset, i2.surfaceInset);
     ASSERT_EQ(i.scaleFactor, i2.scaleFactor);
     ASSERT_EQ(i.visible, i2.visible);
     ASSERT_EQ(i.canReceiveKeys, i2.canReceiveKeys);
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 3c37cf8..bfae03d 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -2069,12 +2069,12 @@
 
 InputWindowInfo Layer::fillInputInfo(const Rect& screenBounds) {
     InputWindowInfo info = mDrawingState.inputInfo;
-    info.frameLeft = screenBounds.left;
-    info.inputInfo.frameTop = screenBounds.top;
-    info.inputInfo.frameRight = screenBounds.right;
-    info.inputInfo.frameBottom = screenBounds.bottom;
+    info.frameLeft = screenBounds.left + info.surfaceInset;
+    info.frameTop = screenBounds.top + info.surfaceInset;
+    info.frameRight = screenBounds.right - info.surfaceInset;
+    info.frameBottom = screenBounds.bottom - info.surfaceInset;
 
-    info.touchableRegion = mDrawingState.inputInfo.touchableRegion.translate(
+    info.touchableRegion = info.touchableRegion.translate(
             screenBounds.left,
             screenBounds.top);
     info.visible = isVisible();
