From 7745b82920b6a761f316c78a85e7af8742434f1c Mon Sep 17 00:00:00 2001 From: "ben@chromium.org" Date: Tue, 27 Jan 2009 20:15:35 +0000 Subject: 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 --- chrome/browser/views/location_bar_view.cc | 46 ++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 7 deletions(-) (limited to 'chrome/browser/views/location_bar_view.cc') 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); +} -- cgit v1.1