Reland: Ash: Allow resize along 1 pixel edge inside window content

The mocks call for resize handles to function along a single pixel edge inside the window, overlapping the web content.  Refactored aura::Window::set_hit_test_bounds_inset() into SetHitTestBoundsOverride() to make hover/click events along that border pass through to the non-client area of the window frames.  This also allows windows to be resized when they are flush against the top/left/right edges of the screen.

BUG=117542
TEST=aura_shell_unittests ShelfLayoutManager, manually resize window from left/right/bottom/top edges

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=126539

Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=126544

Review URL: https://chromiumcodereview.appspot.com/9694012

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126554 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ash/wm/shelf_layout_manager.h b/ash/wm/shelf_layout_manager.h
index 8d69cc6..5c4b6dd 100644
--- a/ash/wm/shelf_layout_manager.h
+++ b/ash/wm/shelf_layout_manager.h
@@ -30,6 +30,14 @@
 class ASH_EXPORT ShelfLayoutManager : public aura::LayoutManager,
                                       public ui::ImplicitAnimationObserver {
  public:
+  // We reserve a small area at the bottom of the workspace area to ensure that
+  // the bottom-of-window resize handle can be hit.
+  // TODO(jamescook): Some day we may want the workspace area to be an even
+  // multiple of the size of the grid (currently 8 pixels), which will require
+  // removing this and finding a way for hover and click events to pass through
+  // the invisible parts of the launcher.
+  static const int kWorkspaceAreaBottomInset;
+
   ShelfLayoutManager(views::Widget* launcher, views::Widget* status);
   virtual ~ShelfLayoutManager();