summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete
diff options
context:
space:
mode:
authorshess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-27 20:06:29 +0000
committershess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-27 20:06:29 +0000
commite8c4e753d0a2bcdac816d472d9afa50fdafae7ba (patch)
treebe6849c27a59ee63667fdde7228544b8c80a603d /chrome/browser/autocomplete
parentd3b2e75994860048bf89ccbfc55c5b9c8d53532d (diff)
downloadchromium_src-e8c4e753d0a2bcdac816d472d9afa50fdafae7ba.zip
chromium_src-e8c4e753d0a2bcdac816d472d9afa50fdafae7ba.tar.gz
chromium_src-e8c4e753d0a2bcdac816d472d9afa50fdafae7ba.tar.bz2
Clean up construction of LocationBarViewMac objects.
This removes the need for SetField() accessors on AutocompleteEditViewMac and AutocompletePopupViewMac, and also removes the Init() wart on LocationBarViewMac. Now everything is wired up in the constructor. Review URL: http://codereview.chromium.org/92136 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14641 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autocomplete')
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_mac.h7
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_mac.mm17
-rw-r--r--chrome/browser/autocomplete/autocomplete_popup_view_mac.h9
-rw-r--r--chrome/browser/autocomplete/autocomplete_popup_view_mac.mm5
4 files changed, 14 insertions, 24 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.h b/chrome/browser/autocomplete/autocomplete_edit_view_mac.h
index d6b0928..19f4b31 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.h
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.h
@@ -32,7 +32,8 @@ class AutocompleteEditViewMac : public AutocompleteEditView {
AutocompleteEditViewMac(AutocompleteEditController* controller,
ToolbarModel* toolbar_model,
Profile* profile,
- CommandUpdater* command_updater);
+ CommandUpdater* command_updater,
+ NSTextField* field);
virtual ~AutocompleteEditViewMac();
// Implement the AutocompleteEditView interface.
@@ -88,10 +89,6 @@ class AutocompleteEditViewMac : public AutocompleteEditView {
void OnKillFocus();
void AcceptInput(WindowOpenDisposition disposition, bool for_drop);
- // TODO(shess): Get rid of this. Right now it's needed because of
- // the ordering of initialization in tab_contents_controller.mm.
- void SetField(NSTextField* field);
-
// Helper for LocationBarBridge.
void FocusLocation();
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
index 71b6d24..854f3dc 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
@@ -23,18 +23,22 @@ AutocompleteEditViewMac::AutocompleteEditViewMac(
AutocompleteEditController* controller,
ToolbarModel* toolbar_model,
Profile* profile,
- CommandUpdater* command_updater)
+ CommandUpdater* command_updater,
+ NSTextField* field)
: model_(new AutocompleteEditModel(this, controller, profile)),
- popup_view_(new AutocompletePopupViewMac(this, model_.get(), profile)),
+ popup_view_(new AutocompletePopupViewMac(this, model_.get(), profile,
+ field)),
controller_(controller),
toolbar_model_(toolbar_model),
command_updater_(command_updater),
- field_(nil),
+ field_(field),
edit_helper_([[AutocompleteFieldDelegate alloc] initWithEditView:this]) {
DCHECK(controller);
DCHECK(toolbar_model);
DCHECK(profile);
DCHECK(command_updater);
+ DCHECK(field);
+ [field_ setDelegate:edit_helper_];
}
AutocompleteEditViewMac::~AutocompleteEditViewMac() {
@@ -273,13 +277,6 @@ void AutocompleteEditViewMac::AcceptInput(
WindowOpenDisposition disposition, bool for_drop) {
model_->AcceptInput(disposition, for_drop);
}
-void AutocompleteEditViewMac::SetField(NSTextField* field) {
- field_ = field;
- [field_ setDelegate:edit_helper_];
-
- // The popup code needs the field for sizing and placement.
- popup_view_->SetField(field_);
-}
void AutocompleteEditViewMac::FocusLocation() {
[[field_ window] makeFirstResponder:field_];
diff --git a/chrome/browser/autocomplete/autocomplete_popup_view_mac.h b/chrome/browser/autocomplete/autocomplete_popup_view_mac.h
index 376260a..9cb2af7 100644
--- a/chrome/browser/autocomplete/autocomplete_popup_view_mac.h
+++ b/chrome/browser/autocomplete/autocomplete_popup_view_mac.h
@@ -29,7 +29,8 @@ class AutocompletePopupViewMac : public AutocompletePopupView {
public:
AutocompletePopupViewMac(AutocompleteEditViewMac* edit_view,
AutocompleteEditModel* edit_model,
- Profile* profile);
+ Profile* profile,
+ NSTextField* field);
virtual ~AutocompletePopupViewMac();
// Implement the AutocompletePopupView interface.
@@ -73,12 +74,6 @@ class AutocompletePopupViewMac : public AutocompletePopupView {
const std::wstring& ResultDescriptionAt(size_t i);
void AcceptInput(WindowOpenDisposition disposition, bool for_drop);
- // TODO(shess): Get rid of this. Right now it's needed because of
- // the ordering of initialization in tab_contents_controller.mm.
- void SetField(NSTextField* field) {
- field_ = field;
- }
-
private:
// Create the popup_ instance if needed.
void CreatePopupIfNeeded();
diff --git a/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm b/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm
index bdf7372..f1dbc8e 100644
--- a/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm
+++ b/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm
@@ -36,10 +36,11 @@ objectValueForTableColumn:(NSTableColumn*)aTableColumn
AutocompletePopupViewMac::AutocompletePopupViewMac(
AutocompleteEditViewMac* edit_view,
AutocompleteEditModel* edit_model,
- Profile* profile)
+ Profile* profile,
+ NSTextField* field)
: model_(new AutocompletePopupModel(this, edit_model, profile)),
edit_view_(edit_view),
- field_(nil),
+ field_(field),
table_target_([[AutocompleteTableTarget alloc] initWithPopupView:this]),
popup_(nil) {
DCHECK(edit_view);