summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/location_bar_view.cc
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-27 20:15:35 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-27 20:15:35 +0000
commit7745b82920b6a761f316c78a85e7af8742434f1c (patch)
treed942f01dd45823d55c223dcfb868012d8194c82a /chrome/browser/views/location_bar_view.cc
parent41910d1c4de903e0337ae41a9c835d918f8e264a (diff)
downloadchromium_src-7745b82920b6a761f316c78a85e7af8742434f1c.zip
chromium_src-7745b82920b6a761f316c78a85e7af8742434f1c.tar.gz
chromium_src-7745b82920b6a761f316c78a85e7af8742434f1c.tar.bz2
Re-land this from earlier... unit tests no longer crash.
Extract a cross platform LocationBar interface. Adds a TestLocationBar object that unit tests can use to mock the location bar (fixes NULL deref). Review URL: http://codereview.chromium.org/18851 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8745 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/location_bar_view.cc')
-rw-r--r--chrome/browser/views/location_bar_view.cc46
1 files changed, 39 insertions, 7 deletions
diff --git a/chrome/browser/views/location_bar_view.cc b/chrome/browser/views/location_bar_view.cc
index aa6fb1d..0ee51ea 100644
--- a/chrome/browser/views/location_bar_view.cc
+++ b/chrome/browser/views/location_bar_view.cc
@@ -876,13 +876,6 @@ void LocationBarView::ShowFirstRunBubbleInternal() {
bounds);
}
-void LocationBarView::ShowFirstRunBubble() {
- // We wait 30 milliseconds to open. It allows less flicker.
- Task* task = first_run_bubble_.NewRunnableMethod(
- &LocationBarView::ShowFirstRunBubbleInternal);
- MessageLoop::current()->PostDelayedTask(FROM_HERE, task, 30);
-}
-
// SecurityImageView------------------------------------------------------------
// static
@@ -1005,3 +998,42 @@ bool LocationBarView::OverrideAccelerator(
return location_entry_->OverrideAccelerator(accelerator);
}
+////////////////////////////////////////////////////////////////////////////////
+// LocationBarView, LocationBar implementation:
+
+void LocationBarView::ShowFirstRunBubble() {
+ // We wait 30 milliseconds to open. It allows less flicker.
+ Task* task = first_run_bubble_.NewRunnableMethod(
+ &LocationBarView::ShowFirstRunBubbleInternal);
+ MessageLoop::current()->PostDelayedTask(FROM_HERE, task, 30);
+}
+
+std::wstring LocationBarView::GetInputString() const {
+ return location_input_;
+}
+
+WindowOpenDisposition LocationBarView::GetWindowOpenDisposition() const {
+ return disposition_;
+}
+
+PageTransition::Type LocationBarView::GetPageTransition() const {
+ return transition_;
+}
+
+void LocationBarView::AcceptInput() {
+ location_entry_->model()->AcceptInput(CURRENT_TAB, false);
+}
+
+void LocationBarView::FocusLocation() {
+ location_entry_->SetFocus();
+ location_entry_->SelectAll(true);
+}
+
+void LocationBarView::FocusSearch() {
+ location_entry_->SetUserText(L"?");
+ location_entry_->SetFocus();
+}
+
+void LocationBarView::SaveStateToContents(TabContents* contents) {
+ location_entry_->SaveStateToTab(contents);
+}