diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-07 00:52:31 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-07 00:52:31 +0000 |
commit | c83c9e683a9376cea1ef675bfe92f7dbb98d45f5 (patch) | |
tree | f50ff4edc61b1baa1dd10c8716af53fbeb7ce65e /chrome/browser/views/dropdown_bar_host.h | |
parent | ea99c3abb5ad6121d94a4c4cf1ca683d4f0ebd90 (diff) | |
download | chromium_src-c83c9e683a9376cea1ef675bfe92f7dbb98d45f5.zip chromium_src-c83c9e683a9376cea1ef675bfe92f7dbb98d45f5.tar.gz chromium_src-c83c9e683a9376cea1ef675bfe92f7dbb98d45f5.tar.bz2 |
Use dropdown bar for compact location bar.
* Refactored CompactLocationBar to Host/View to use DropdownBarHost/View.
* Changed the logic to show/hide. Per cole's request, losing focus now hides the location bar.
Following features are not implemented yet.
* Window cripping while animating.
* Adjust location when toolbar is shown (it's always under tab)
* clipping autocomplete dropdown.
Timer code is no longer used right now, but is left intentionally as we may put it back.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/525018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35674 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/dropdown_bar_host.h')
-rw-r--r-- | chrome/browser/views/dropdown_bar_host.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/chrome/browser/views/dropdown_bar_host.h b/chrome/browser/views/dropdown_bar_host.h index 635ee18..58dcc17 100644 --- a/chrome/browser/views/dropdown_bar_host.h +++ b/chrome/browser/views/dropdown_bar_host.h @@ -49,7 +49,7 @@ class DropdownBarHost : public views::AcceleratorTarget, // Returns true if the dropdown bar view is visible, or false otherwise. bool IsVisible() const; // Shows the dropdown bar. - void Show(); + void Show(bool animate); // Hides the dropdown bar. void Hide(bool animate); // Selects text in the entry field and set focus. @@ -84,13 +84,13 @@ class DropdownBarHost : public views::AcceleratorTarget, // having to poll it while it animates to open/closed status. static bool disable_animations_during_testing_; + // Returns the browser view that the dropdown belongs to. + BrowserView* browser_view() const { return browser_view_; } + protected: // Returns the dropdown bar view. DropdownBarView* view() const { return view_; } - // Returns the browser view that the dropdown belongs to. - BrowserView* browser_view() const { return browser_view_; } - // Returns the focus tracker. views::ExternalFocusTracker* focus_tracker() const { return focus_tracker_.get(); @@ -143,6 +143,11 @@ class DropdownBarHost : public views::AcceleratorTarget, const TabContents* contents, const views::Textfield::Keystroke& key_stroke); + // Returns the animation for the dropdown. + SlideAnimation* animation() { + return animation_.get(); + } + private: // The BrowserView that created us. BrowserView* browser_view_; @@ -172,6 +177,10 @@ class DropdownBarHost : public views::AcceleratorTarget, // dropdown bar. It contains the DropdownBarView. scoped_ptr<views::Widget> host_; + // A flag to manually manage visibility. GTK/X11 is asynchrnous and + // the state of the widget can be out of sync. + bool is_visible_; + DISALLOW_COPY_AND_ASSIGN(DropdownBarHost); }; |