exo: Improve support for transparent insets window state.
Use the alpha value to determine transparent insets instead
of the input bounds.
BUG=604773
TEST=manual
Review-Url: https://codereview.chromium.org/1971413002
Cr-Commit-Position: refs/heads/master@{#393421}
diff --git a/components/exo/surface.h b/components/exo/surface.h
index 417dba4..cc00e10 100644
--- a/components/exo/surface.h
+++ b/components/exo/surface.h
@@ -122,6 +122,9 @@
// Returns the current input region of surface in the form of a hit-test mask.
void GetHitTestMask(gfx::Path* mask) const;
+ // Returns the bounds of the surface area that is not know to be transparent.
+ gfx::Rect GetNonTransparentBounds() const;
+
// Set the surface delegate.
void SetSurfaceDelegate(SurfaceDelegate* delegate);
@@ -211,6 +214,9 @@
// The alpha state to take effect when Commit() is called.
float pending_alpha_;
+ // The active alpha state.
+ float alpha_;
+
// The buffer that is currently set as content of surface.
base::WeakPtr<Buffer> current_buffer_;