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

Unified Diff: chrome/browser/ui/constrained_window_tab_helper.h

Issue 7880003: content: Move constrained window code from TabContents to TabContentsWrapper (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Attempt to fix views merge part 2 Created 9 years, 3 months 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/constrained_window_tab_helper.h
diff --git a/chrome/browser/ui/constrained_window_tab_helper.h b/chrome/browser/ui/constrained_window_tab_helper.h
new file mode 100644
index 0000000000000000000000000000000000000000..bab846aacc40fb552f8a4edd193403b631f4f2a5
--- /dev/null
+++ b/chrome/browser/ui/constrained_window_tab_helper.h
@@ -0,0 +1,72 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_CONSTRAINED_WINDOW_TAB_HELPER_H_
+#define CHROME_BROWSER_UI_CONSTRAINED_WINDOW_TAB_HELPER_H_
+#pragma once
+
+#include <deque>
+
+#include "content/browser/tab_contents/tab_contents_observer.h"
+
+class ConstrainedWindow;
+class ConstrainedWindowTabHelperDelegate;
+class TabContentsWrapper;
+
+// Per-tab class to manage constrained windows.
+class ConstrainedWindowTabHelper : public TabContentsObserver {
+ public:
+ explicit ConstrainedWindowTabHelper(TabContentsWrapper* tab_contents);
+ virtual ~ConstrainedWindowTabHelper();
+
+ ConstrainedWindowTabHelperDelegate* delegate() const { return delegate_; }
+ void set_delegate(ConstrainedWindowTabHelperDelegate* d) { delegate_ = d; }
+
+ // Adds the given window to the list of child windows. The window will notify
+ // via WillClose() when it is being destroyed.
+ void AddConstrainedDialog(ConstrainedWindow* window);
+
+ // Closes all constrained windows.
+ void CloseConstrainedWindows();
+
+ // Called when a ConstrainedWindow we own is about to be closed.
+ void WillClose(ConstrainedWindow* window);
+
+ // Blocks/unblocks interaction with renderer process.
+ void BlockTabContent(bool blocked);
+
+ // Returns the number of constrained windows in this tab. Used by tests.
+ size_t constrained_window_count() { return child_windows_.size(); }
+
+ typedef std::deque<ConstrainedWindow*> ConstrainedWindowList;
+
+ // Return an iterator for the first constrained window in this tab contents.
+ ConstrainedWindowList::iterator constrained_window_begin()
Avi (use Gerrit) 2011/09/29 18:30:36 As previously noted, opening brace goes on this li
+ { return child_windows_.begin(); }
+
+ // Return an iterator for the last constrained window in this tab contents.
+ ConstrainedWindowList::iterator constrained_window_end()
+ { return child_windows_.end(); }
Avi (use Gerrit) 2011/09/29 18:30:36 ditto
+
+ private:
+ // Overridden from TabContentsObserver:
+ virtual void DidNavigateMainFramePostCommit(
+ const content::LoadCommittedDetails& details,
+ const ViewHostMsg_FrameNavigate_Params& params) OVERRIDE;
+ virtual void DidGetIgnoredUIEvent() OVERRIDE;
+ virtual void TabContentsDestroyed(TabContents* tab) OVERRIDE;
+
+ // Our owning TabContentsWrapper.
+ TabContentsWrapper* wrapper_;
+
+ // Delegate for notifying our owner about stuff. Not owned by us.
+ ConstrainedWindowTabHelperDelegate* delegate_;
+
+ // All active constrained windows.
+ ConstrainedWindowList child_windows_;
+
+ DISALLOW_COPY_AND_ASSIGN(ConstrainedWindowTabHelper);
+};
+
+#endif // CHROME_BROWSER_UI_CONSTRAINED_WINDOW_TAB_HELPER_H_

Powered by Google App Engine
This is Rietveld 408576698