Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(323)

Unified Diff: chrome/browser/ui/views/tab_contents/tab_contents_container.h

Issue 3547008: Handle resize corner layout entirely in the platform BrowserWindow*/BrowserView* code... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/tab_contents/tab_contents_container.h
===================================================================
--- chrome/browser/ui/views/tab_contents/tab_contents_container.h (revision 66034)
+++ chrome/browser/ui/views/tab_contents/tab_contents_container.h (working copy)
@@ -13,11 +13,25 @@
class NativeTabContentsContainer;
class RenderViewHost;
+class RenderWidgetHostView;
class TabContents;
class TabContentsContainer : public views::View,
public NotificationObserver {
public:
+ // Interface to request the reserved contents area updates.
+ class ReservedAreaDelegate {
+ public:
+ // Notifies that |source|'s reserved contents area should be updated.
+ // Reserved contents area is a rect in tab contents view coordinates where
+ // contents should not be rendered (to display the resize corner, sidebar
+ // mini tabs or any other UI elements overlaying this container).
+ virtual void UpdateReservedContentsRect(
+ const TabContentsContainer* source) = 0;
+ protected:
+ virtual ~ReservedAreaDelegate() {}
+ };
+
TabContentsContainer();
virtual ~TabContentsContainer();
@@ -36,6 +50,10 @@
// so performance is better.
void SetFastResize(bool fast_resize);
+ void set_reserved_area_delegate(ReservedAreaDelegate* delegate) {
+ reserved_area_delegate_ = delegate;
+ }
+
// Overridden from NotificationObserver:
virtual void Observe(NotificationType type,
const NotificationSource& source,
@@ -65,6 +83,10 @@
// get notified.
void TabContentsDestroyed(TabContents* contents);
+ // Called when the RenderWidgetHostView of the hosted TabContents has changed.
+ void RenderWidgetHostViewChanged(RenderWidgetHostView* old_view,
+ RenderWidgetHostView* new_view);
+
// An instance of a NativeTabContentsContainer object that holds the native
// view handle associated with the attached TabContents.
NativeTabContentsContainer* native_container_;
@@ -75,6 +97,9 @@
// Handles registering for our notifications.
NotificationRegistrar registrar_;
+ // Delegate for enquiring reserved contents area. Not owned by us.
+ ReservedAreaDelegate* reserved_area_delegate_;
+
DISALLOW_COPY_AND_ASSIGN(TabContentsContainer);
};
« no previous file with comments | « chrome/browser/ui/views/frame/browser_view.cc ('k') | chrome/browser/ui/views/tab_contents/tab_contents_container.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698