summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/dropdown_bar_host.h
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-07 00:52:31 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-07 00:52:31 +0000
commitc83c9e683a9376cea1ef675bfe92f7dbb98d45f5 (patch)
treef50ff4edc61b1baa1dd10c8716af53fbeb7ce65e /chrome/browser/views/dropdown_bar_host.h
parentea99c3abb5ad6121d94a4c4cf1ca683d4f0ebd90 (diff)
downloadchromium_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.h17
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);
};